From b79fdce99dcb2a3e5173f8dadbdea04451a6eee8 Mon Sep 17 00:00:00 2001 From: codex-server Date: Thu, 30 Apr 2026 10:50:07 -0300 Subject: [PATCH] feat: add repository mesh reconciliation round --- controle-semantico.sqlite | Bin 0 -> 2314240 bytes dados/budget-linhas-rodada.json | 352 +- dados/dossie-operacional-humano.json | 550 +- dados/governanca-operacional-compacta.json | 2 +- dados/governanca-operacional.json | 1264 +- dados/grafo-evidencias.json | 8212 ++++++- dados/indice-evidencias.json | 4816 ++-- dados/lifecycle-ordens-ativas.json | 1732 +- .../mcp-admin-ui-same-source-validation.json | 489 + dados/mcp-contratos-humanos.json | 15528 ++++++++++++ dados/mcp-provider-mais-humana-compacto.json | 1075 + dados/mcp-provider-mais-humana.json | 1310 + dados/ordens-governanca-compiladas.json | 20 +- dados/perguntas-humanas.json | 60 +- dados/quality-gates.json | 4 +- dados/registro-prontidao-humana.json | 50 +- .../repository-mesh-central-write-status.json | 7 + dados/repository-mesh-derived-orders.json | 302 + dados/repository-mesh-gitea-plan.json | 331 + dados/repository-mesh-inventory.json | 5193 ++++ dados/repository-mesh-orders.json | 1779 ++ dados/repository-mesh-readiness.json | 262 + ...epository-mesh-reconciliation-summary.json | 2810 +++ dados/repository-mesh-reconciliation.json | 2813 +++ dados/repository-mesh-runtime-cycle.json | 4890 ++++ dados/repository-mesh-runtime.jsonl | 133 + dados/repository-mesh-schedulers.json | 58 + dados/repository-mesh-summary.json | 386 + .../rulebook-humano-operacional-compacto.json | 24 +- dados/rulebook-humano-operacional.json | 1265 +- dados/snapshot-ecossistema.json | 19846 ++-------------- dados/snapshot-governanca-atual.json | 2 +- ecossistema/AUDITORIA-LIFECYCLE-ORDENS.md | 112 +- ecossistema/BUDGET-LINHAS-RODADA.md | 72 +- ecossistema/DOSSIE-OPERACIONAL-HUMANO.md | 8 +- .../GOVERNANCA-OPERACIONAL-MAIS-HUMANA.md | 2 +- ecossistema/GRAFO-EVIDENCIAS-MAIS-HUMANA.md | 324 +- ecossistema/INDICE-DE-EVIDENCIAS-HUMANAS.md | 28 +- ecossistema/LIFECYCLE-ORDENS-ATIVAS.md | 126 +- ecossistema/MCP-PROVIDER-MAIS-HUMANA.md | 283 + .../MODELOS-OFICIAIS-RELATORIO-HUMANO.md | 220 + ecossistema/PENDENCIAS-LIFECYCLE-ORDENS.md | 12 + .../RELATORIO-GERAL-DO-ECOSSISTEMA-humana.md | 2 +- ecossistema/REPOSITORY-MESH-AUTOMATION.md | 59 + ecossistema/REPOSITORY-MESH-GITEA.md | 163 + ecossistema/REPOSITORY-MESH-ORDERS.md | 94 + ecossistema/REPOSITORY-MESH-READINESS.md | 246 + ecossistema/REPOSITORY-MESH-RECONCILIATION.md | 350 + ecossistema/REPOSITORY-MESH-RUNTIME.md | 283 + ecossistema/REPOSITORY-MESH-SCHEDULERS.md | 37 + ecossistema/REPOSITORY-MESH-SYNC.md | 368 + ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md | 4 +- ecossistema/UI-RENDERER-SAME-SOURCE-POLICY.md | 83 + ecossistema/index.html | 2 +- graficos/grafo-evidencias.dot | 325 +- matrizes/budget-linhas-rodada.csv | 12 +- matrizes/grafo-evidencias.csv | 1184 +- matrizes/mcp-contratos-humanos.csv | 561 + matrizes/repository-mesh-actions.csv | 85 + matrizes/repository-mesh-gitea-plan.csv | 16 + matrizes/repository-mesh-inventory.csv | 61 + matrizes/repository-mesh-operations.csv | 50 + matrizes/repository-mesh-readiness.csv | 20 + matrizes/repository-mesh-reconciliation.csv | 16 + matrizes/repository-mesh-runtime.csv | 134 + matrizes/rulebook-humano-operacional.csv | 22 +- .../repository-mesh-derived-orders.md | 141 + .../perguntas-humanas-respondidas.md | 44 +- plataformas/integracoes.md | 2 +- plataformas/intelligence.md | 2 +- plataformas/mcps.md | 2 +- plataformas/platform_base.md | 2 +- plataformas/public.md | 2 +- ...RELATORIO-GERAL-DO-ECOSSISTEMA-humana.docx | Bin 4043 -> 4050 bytes relatorios-docx/plataformas/business.docx | Bin 3447 -> 3447 bytes relatorios-docx/plataformas/compliance.docx | Bin 3455 -> 3455 bytes relatorios-docx/plataformas/customer_ops.docx | Bin 3424 -> 3424 bytes relatorios-docx/plataformas/docs.docx | Bin 3522 -> 3522 bytes relatorios-docx/plataformas/finance.docx | Bin 3452 -> 3452 bytes relatorios-docx/plataformas/gettys.docx | Bin 3456 -> 3456 bytes relatorios-docx/plataformas/identity.docx | Bin 3450 -> 3450 bytes relatorios-docx/plataformas/integracoes.docx | Bin 3519 -> 3518 bytes relatorios-docx/plataformas/intelligence.docx | Bin 3533 -> 3533 bytes relatorios-docx/plataformas/mcps.docx | Bin 3470 -> 3470 bytes .../plataformas/platform_base.docx | Bin 3432 -> 3433 bytes relatorios-docx/plataformas/public.docx | Bin 3469 -> 3468 bytes relatorios-docx/plataformas/stj.docx | Bin 3436 -> 3436 bytes relatorios-docx/plataformas/ui.docx | Bin 3471 -> 3471 bytes src/mais_humana/cli.py | 160 + src/mais_humana/evidence_graph.py | 39 + .../generated_mcp_control_contracts.py | 15141 ++++++++++++ src/mais_humana/governance_storage.py | 69 + src/mais_humana/mcp_contract.py | 793 + src/mais_humana/redaction.py | 23 +- src/mais_humana/reports.py | 119 + src/mais_humana/repository_mesh.py | 1669 ++ src/mais_humana/repository_mesh_gitea.py | 440 + src/mais_humana/repository_mesh_naming.py | 161 + src/mais_humana/repository_mesh_readiness.py | 528 + .../repository_mesh_reconciliation.py | 1060 + src/mais_humana/repository_mesh_runtime.py | 716 + src/mais_humana/repository_mesh_semantic.py | 545 + tests/test_full_generation.py | 3 + tests/test_mcp_provider_contract.py | 115 + tests/test_redaction_acceptance.py | 9 + tests/test_repository_mesh.py | 389 + tests/test_repository_mesh_gitea.py | 102 + tests/test_repository_mesh_naming.py | 97 + tests/test_repository_mesh_readiness.py | 84 + tests/test_repository_mesh_reconciliation.py | 205 + tests/test_repository_mesh_runtime.py | 162 + tests/test_repository_mesh_semantic.py | 78 + tools/generate_mcp_control_contracts.py | 531 + 113 files changed, 81555 insertions(+), 22807 deletions(-) create mode 100644 controle-semantico.sqlite create mode 100644 dados/mcp-admin-ui-same-source-validation.json create mode 100644 dados/mcp-contratos-humanos.json create mode 100644 dados/mcp-provider-mais-humana-compacto.json create mode 100644 dados/mcp-provider-mais-humana.json create mode 100644 dados/repository-mesh-central-write-status.json create mode 100644 dados/repository-mesh-derived-orders.json create mode 100644 dados/repository-mesh-gitea-plan.json create mode 100644 dados/repository-mesh-inventory.json create mode 100644 dados/repository-mesh-orders.json create mode 100644 dados/repository-mesh-readiness.json create mode 100644 dados/repository-mesh-reconciliation-summary.json create mode 100644 dados/repository-mesh-reconciliation.json create mode 100644 dados/repository-mesh-runtime-cycle.json create mode 100644 dados/repository-mesh-runtime.jsonl create mode 100644 dados/repository-mesh-schedulers.json create mode 100644 dados/repository-mesh-summary.json create mode 100644 ecossistema/MCP-PROVIDER-MAIS-HUMANA.md create mode 100644 ecossistema/MODELOS-OFICIAIS-RELATORIO-HUMANO.md create mode 100644 ecossistema/REPOSITORY-MESH-AUTOMATION.md create mode 100644 ecossistema/REPOSITORY-MESH-GITEA.md create mode 100644 ecossistema/REPOSITORY-MESH-ORDERS.md create mode 100644 ecossistema/REPOSITORY-MESH-READINESS.md create mode 100644 ecossistema/REPOSITORY-MESH-RECONCILIATION.md create mode 100644 ecossistema/REPOSITORY-MESH-RUNTIME.md create mode 100644 ecossistema/REPOSITORY-MESH-SCHEDULERS.md create mode 100644 ecossistema/REPOSITORY-MESH-SYNC.md create mode 100644 ecossistema/UI-RENDERER-SAME-SOURCE-POLICY.md create mode 100644 matrizes/mcp-contratos-humanos.csv create mode 100644 matrizes/repository-mesh-actions.csv create mode 100644 matrizes/repository-mesh-gitea-plan.csv create mode 100644 matrizes/repository-mesh-inventory.csv create mode 100644 matrizes/repository-mesh-operations.csv create mode 100644 matrizes/repository-mesh-readiness.csv create mode 100644 matrizes/repository-mesh-reconciliation.csv create mode 100644 matrizes/repository-mesh-runtime.csv create mode 100644 os-orientadoras/repository-mesh-derived-orders.md create mode 100644 src/mais_humana/generated_mcp_control_contracts.py create mode 100644 src/mais_humana/mcp_contract.py create mode 100644 src/mais_humana/repository_mesh.py create mode 100644 src/mais_humana/repository_mesh_gitea.py create mode 100644 src/mais_humana/repository_mesh_naming.py create mode 100644 src/mais_humana/repository_mesh_readiness.py create mode 100644 src/mais_humana/repository_mesh_reconciliation.py create mode 100644 src/mais_humana/repository_mesh_runtime.py create mode 100644 src/mais_humana/repository_mesh_semantic.py create mode 100644 tests/test_mcp_provider_contract.py create mode 100644 tests/test_repository_mesh.py create mode 100644 tests/test_repository_mesh_gitea.py create mode 100644 tests/test_repository_mesh_naming.py create mode 100644 tests/test_repository_mesh_readiness.py create mode 100644 tests/test_repository_mesh_reconciliation.py create mode 100644 tests/test_repository_mesh_runtime.py create mode 100644 tests/test_repository_mesh_semantic.py create mode 100644 tools/generate_mcp_control_contracts.py diff --git a/controle-semantico.sqlite b/controle-semantico.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..5929aef54bc02a6a1d20dc056441e7d45f732b7d GIT binary patch literal 2314240 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 MqCP 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%0Dk%)xN%buFjc z!+jd8Kb-V%MFq|x6F2PiQ1u#ms8qVb{{I{JP8%nc0;;`_N&)m)bWt_oiDoXU65?+2 zP^rx!5iZw3m2*z1qa$%&$2X<+OXS=|xTd5}H}gytI@U<%kosJ%U#esv4c$^I1U_Y# z;+0ZIqA*?ruQwb`dN|`ab8Xk_dN{P!8`{hqJN4XIgNE*`(y3|V z%qjqC@6IZK+Un4{>ZjBk2L=WH5HSgC72`hsm~4;gU`Iy>1`*-u2SyDsJhl zVS|>^^r4#P_pq;A)#GY)=a_Ivy^oUDyY6wdCZZz!PAvytDSvF!m5Uv)<6I$6XK{QO zUQ1FWd+9}ZJ9EQs=I<=&TEpX+>vg$4&(fhZ^m-Oy@X4$6d!FM-w&G9}4s0d1uM{sf z#h|wPvy^s<1N4G!7cCu%K3Bd6W=L(}%l3Mf;@HY7RnzY|oDG~_Z`QStjJJ17ffbr< zwbbF<98<)ZHBywC=i!|lm(}xq+I@RC96AHX9-ZG=H`xFG&Zp(V(9#KN$7sYv=axux zzDM4M?qJq+dY&`$F1(g~aR!q8zJ?zMRiKV>YeK-zGp)$4_{ybubGm(S+7&uJH|)Wa zWA$ciFqz@(oI7JSu7aG6dgj2LnVyAe_@3#+w=-Q?;mh89Td zm&L*El}GFM+?ECHiC4$jRU!P^`MY5M|IOpo8aMyB?B3RMfwpb;Mw3Awy5jy^AhBCx z@k)IjLbumh@*8Kf4t#H0Sq;XA*R>s#Ziy37_D4{+96_zxI?s>Q&ZPQ$*|52FPQtc^ z|F(YVVf9OVKNXIE_Fzc2NC%wm4oX_!u+K*Jz_o^5n^$Kpa4yExDna8 zy~f=Yo!4*yMQG2zfdh8N^K^-HW$C9<3H!X!d7XXqI*d}|`K|gpt=#A9=5se62g%V! zy@VvG?a9iS2g(L8>f%IicVgQ8@y=_0D%}$C^&QF8*Izrj`HDfCL}cI!>e$D@sh7Dg zaBBy{4b^l1+jL7c_g&x*JKFA);QQi>4LumjRoRKd#bw56Fo(~DE*8gq*z|3&uR)3$ zr+9?hbaBfGoC+s)2;bAj%}PL&@)O5#XA(FDfbxm+%pGF8_qCPvH>jwD;{%NlmxeFk z7ec&f1I+mS-iN{o6JKI!Z*U{Cz4o2Vqt;-Jwe=62-)d_+BC+mT^cO3zk<+?L1+ykd zPn|eO*_e4WrlJa#l?eIltw7lSfADErg(Q#9EqI@(g0(LM!dNa)9G`D$fo;$1q0=*6 z&${qhCF-8QWyAy0;6<=v%B69&wJ@LixUtA#=Xp{D+j8k=w&xd!a!E-|5d(LNMH@eN zdzcYz-VgW|sOEx-I=r3SrA6^yAqokfPMS?Vpbq8aHYTe96rIT)NI6!Uq2`;*UC(-QnM)+fB z*1NT6(jt|hbSB!S5)^<54?^s91_5x3D*FgDdFSAcK`;H|Wf1bfl5xj)16tdiqw5PE zn8DxnY84$4Pp5F{t~eGRVl!GJ4Q8#pT{tV;;|68sx@d6y{V3pbss%0DK>ZKz*8;Y( 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�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", @@ -2087,7 +2587,7 @@ "object_scope": "A ordem recai sobre a criação e estruturação inicial da plataforma `tudo-para-ia-mais-humana`.\n\nProjeto real a criar:\n\n`G:/_codex-git/tudo-para-ia-mais-humana`\n\nRepositório real esperado:\n\n`admin/tudo-para-ia-mais-humana`\n\nPasta da plataforma na central:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/15_repo_tudo-para-ia-mais-humana`\n\nÁreas a criar no projeto real:\n\n- `README.md`\n- `paradigma/`\n- `pessoas-e-papeis/`\n- `plataformas/`\n- `ecossistema/`\n- `relatorios-docx/`\n- `graficos/`\n- `matrizes/`\n- `telas-e-relatorios/`\n- `metas-humanas/`\n- `os-orientadoras/`\n- `dados/`\n- `templates/`\n\nÁreas a criar na pasta da plataforma dentro da central:\n\n- `README.md`\n- `ORDEM-EXECUTIVA-PADRAO.md`\n- `current/`\n- `orders/executivas/`\n- `orders/gerenciais/`\n- `reports/`\n- `audit/`\n- `indexes/`\n- `status/`\n- `controle-semantico.sqlite`\n\nDocumentação envolvida:\n\n- README do núcleo;\n- README da central;\n- README de `projects`;\n- plano gerencial do ecossistema;\n- relatórios humanas por plataforma;\n- relatório geral humana do ecossistema;\n- templates DOCX;\n- matrizes de atendimento humana;\n- gráficos de maturidade humana;\n- ordens futuras com foco em atendimento humana.\n\nSQLite semântico:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/15_repo_tudo-para-ia-mais-humana/controle-semantico.sqlite`", "order_id": "0011_GERENCIAL__fundacao-da-plataforma", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0011_GERENCIAL__fundacao-da-plataforma.md", "platform_hint": "integracoes", "priority": "alta", @@ -2214,7 +2714,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-docs-plataform" @@ -2223,7 +2723,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0012_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0012_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -2302,6 +2802,14 @@ "path": "tests/round-10-operational-closure.test.ts", "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 109, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, { "confidence": 0.78, "excerpt_hash": "", @@ -2333,18 +2841,10 @@ "line": 395, "path": "scripts/round/materialize-round-10-operational-closure.mjs", "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." - }, - { - "confidence": 0.78, - "excerpt_hash": "", - "kind": "runtime", - "line": 177, - "path": "packages/shared-integration-catalog/src/commercial-readiness-policy.ts", - "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." } ], "final_status": "bloqueada", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-integracoes-plataform" @@ -2353,7 +2853,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0013_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0013_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -2478,7 +2978,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-intelligence-platform" @@ -2487,7 +2987,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0014_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0014_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -2609,7 +3109,7 @@ } ], "final_status": "concluida", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-business-platform" @@ -2618,7 +3118,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0015_GERENCIAL__elevar-maturidade-humana-de-business-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0015_GERENCIAL__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -2738,7 +3238,7 @@ } ], "final_status": "concluida", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-compliance-platform" @@ -2747,7 +3247,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0016_GERENCIAL__elevar-maturidade-humana-de-compliance-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0016_GERENCIAL__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -2866,7 +3366,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-docs-plataform" @@ -2875,7 +3375,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0017_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0017_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -2954,6 +3454,14 @@ "path": "tests/round-10-operational-closure.test.ts", "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 109, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, { "confidence": 0.78, "excerpt_hash": "", @@ -2985,18 +3493,10 @@ "line": 395, "path": "scripts/round/materialize-round-10-operational-closure.mjs", "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." - }, - { - "confidence": 0.78, - "excerpt_hash": "", - "kind": "runtime", - "line": 177, - "path": "packages/shared-integration-catalog/src/commercial-readiness-policy.ts", - "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." } ], "final_status": "bloqueada", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-integracoes-plataform" @@ -3005,7 +3505,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0018_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0018_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -3130,7 +3630,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-intelligence-platform" @@ -3139,7 +3639,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0019_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0019_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -3261,7 +3761,7 @@ } ], "final_status": "concluida", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-business-platform" @@ -3270,7 +3770,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0020_GERENCIAL__elevar-maturidade-humana-de-business-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0020_GERENCIAL__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -3390,7 +3890,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-compliance-platform" @@ -3399,7 +3899,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0021_GERENCIAL__elevar-maturidade-humana-de-compliance-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0021_GERENCIAL__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -3520,7 +4020,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-intelligence-platform" @@ -3529,7 +4029,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0022_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0022_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -3609,6 +4109,14 @@ "path": "tests/round-10-operational-closure.test.ts", "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 109, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, { "confidence": 0.78, "excerpt_hash": "", @@ -3640,18 +4148,10 @@ "line": 395, "path": "scripts/round/materialize-round-10-operational-closure.mjs", "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." - }, - { - "confidence": 0.78, - "excerpt_hash": "", - "kind": "runtime", - "line": 177, - "path": "packages/shared-integration-catalog/src/commercial-readiness-policy.ts", - "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." } ], "final_status": "bloqueada", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-integracoes-plataform" @@ -3660,7 +4160,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0023_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0023_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -3785,7 +4285,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-docs-plataform" @@ -3794,7 +4294,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0024_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0024_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -3915,7 +4415,7 @@ } ], "final_status": "concluida", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-business-platform" @@ -3924,7 +4424,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0025_GERENCIAL__elevar-maturidade-humana-de-business-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0025_GERENCIAL__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -4044,7 +4544,7 @@ } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "G:\\_codex-git\\tudo-para-ia-compliance-platform" @@ -4053,7 +4553,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0026_GERENCIAL__elevar-maturidade-humana-de-compliance-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0026_GERENCIAL__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -4168,13 +4668,13 @@ "confidence": 0.78, "excerpt_hash": "", "kind": "code", - "line": 1252, + "line": 1256, "path": "apps/public-site/src/mcp-contract.mjs", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional." } ], "final_status": "parcial", - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "order": { "affected_paths": [ "", @@ -4184,10 +4684,10 @@ "object_scope": "", "order_id": "", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0027_GERENCIAL__nome-canonico-mcps-conect.md", "platform_hint": "public", - "priority": "", + "priority": "alta", "project_id": "", "purpose": "", "raw_headings": { @@ -4202,9 +4702,11 @@ "__root__": "", "arquivos-e-reas-afetadas": "- ``\n- ``\n\n---", "caminhos": "Pasta da plataforma:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/`\n\nProjeto real:\n\n`G:/_codex-git/`\n\nRepositório esperado:\n\n`admin/`\n\nSQLite semântico:\n\n`/controle-semantico.sqlite`", + "execucao-desta-rodada": "- O nome canonico recomendado `tudo-para-ia-mais-humana-plataform` foi incorporado ao codigo operacional em `src/mais_humana/human_rulebook.py`.\n- O caminho administrativo obrigatorio pela `tudo-para-ia-mcps-internos-plataform` foi transformado em regra gerada e testada no rulebook humano-operacional.\n- Foram gerados artefatos `dados/rulebook-humano-operacional*.json`, `ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md` e `matrizes/rulebook-humano-operacional.csv`.\n- O SQLite semantico da pasta registrou a rodada e os arquivos gerados.\n- O renome real do repositorio remoto/local e da pasta gerencial para o nome `*-plataform` nao foi executado nesta rodada porque exige decisao/autorizacao institucional e sincronizacao segura do roteador que ainda aponta para a pasta atual.", "fechamento-das-ordens-executadas": "Toda ordem executada deve ser fechada como:\n\n`concluída`, `parcial` ou `bloqueada`.\n\nA ordem executada não pode permanecer ativa.\n\nDepois da execução, o Codex deve registrar:\n\n- EXECUTADO;\n- PENDÊNCIAS, quando houver;\n- arquivos criados ou alterados;\n- atualização do SQL semântico, quando houver;\n- novas ordens de saída relevantes.\n\nAs ordens de saída são as próximas ordens ativas.", - "identificao": "- order_id: ``\n- tipo: ``\n- project_id: ``\n- repo_name: ``\n- status: ``\n- prioridade: ``", - "ordem-de-servio-0027": "Template oficial:\n\n`G:/_codex-git/nucleo-gestao-operacional/templates/ordem-de-servico.md`\n\nToda ordem criada deve usar este template como referência. \nNão inventar modelo alternativo.\n\n---", + "identificao": "- order_id: ``\n- tipo: ``\n- project_id: ``\n- repo_name: ``\n- status: `parcial`\n- prioridade: `alta`", + "ordem-de-servico-0027-gerencial-nome-canonico-mcps-conect": "Template oficial:\n\n`G:/_codex-git/nucleo-gestao-operacional/templates/ordem-de-servico.md`\n\nToda ordem criada deve usar este template como referência. \nNão inventar modelo alternativo.\n\n---", + "pendencia-real": "- Autorizar janela de renome e sincronizacao para `admin/tudo-para-ia-mais-humana-plataform`, incluindo ajuste do roteador permanente e preservacao do historico Git.", "plano-gerencial-do-ecossistema": "Ao elaborar novas ordens, consultar:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/PLANO-GERENCIAL-DO-ECOSSISTEMA.md`\n\nUsar esse plano como referência preferencial, salvo se a avaliação concreta da pasta indicar fator mais urgente, específico ou relevante.", "projeto-real-e-pasta-da-plataforma": "O Codex deve diferenciar:\n\n- pasta da plataforma na central: onde ficam ordens, relatórios, índices, SQL e rastreabilidade;\n- projeto real: onde a execução técnica acontece.\n\nPasta da plataforma:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/`\n\nProjeto real:\n\n`G:/_codex-git/`\n\nA numeração da pasta da plataforma, como `01_`, é apenas organização visual da central. \nEla não faz parte do nome do projeto real.\n\nNão usar número da pasta no nome do projeto, repositório, remote, branch, worker, package, ownerPlatformId, providerId, relatório, SQLite ou documentação técnica.", "se-for-executiva": "Ordem executiva é continuidade prática da execução anterior.\n\nEla trata de:\n\n- correção;\n- pendência;\n- bloqueio;\n- complemento;\n- validação;\n- ajuste;\n- melhoria diretamente ligada ao que acabou de ser executado.\n\nAo final da rodada, devem ser criadas 5 novas ordens executivas relevantes de saída, salvo impossibilidade real registrada.", @@ -4213,7 +4715,7 @@ "template-oficial-para-novas-ordens": "Sempre que esta ordem mandar criar novas ordens de serviço, usar:\n\n`G:/_codex-git/nucleo-gestao-operacional/templates/ordem-de-servico.md`\n\nSe o template não existir, registrar pendência real e não inventar modelo alternativo." }, "reason": "", - "status": "desconhecida", + "status": "parcial", "title": "0027_GERENCIAL__nome-canonico-mcps-conect", "validations": [] }, @@ -4240,12 +4742,477 @@ "validar que pendencias nao citam plugin como blocker", "usar wrangler para trabalho real" ] + }, + { + "evidence": [ + { + "confidence": 0.5, + "excerpt_hash": "", + "kind": "absence", + "line": null, + "path": "ecosystem", + "summary": "Plataforma nao encontrada no portfolio de governanca." + } + ], + "final_status": "bloqueada", + "generated_at": "2026-04-30T11:35:07+00:00", + "order": { + "affected_paths": [], + "expected_result": "Decisao aprovada ou rejeitada, com plano de migracao/rollback e atualizacao do roteador.", + "object_scope": "Repositorio remoto, pasta local, pasta gerencial, roteador permanente e historico Git.", + "order_id": "0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform.md", + "platform_hint": "ecosystem", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Obter decisao institucional para renomear a plataforma para `tudo-para-ia-mais-humana-plataform`.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- autorizacao formal registrada;\n- plano de renome e rollback definido.", + "finalidade-da-ordem-de-servico": "Obter decisao institucional para renomear a plataforma para `tudo-para-ia-mais-humana-plataform`.", + "identificacao": "- order_id: `0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "A OS 0027 foi executada parcialmente: o codigo reconhece o nome canonico, mas o renome real exige autorizacao e janela segura.", + "objeto-da-ordem-de-servico": "Repositorio remoto, pasta local, pasta gerencial, roteador permanente e historico Git.", + "ordem-de-servico-0028-gerencial-autorizar-renome-canonico-mais-humana-plataform": "", + "resultado-esperado-da-execucao": "Decisao aprovada ou rejeitada, com plano de migracao/rollback e atualizacao do roteador." + }, + "reason": "A OS 0027 foi executada parcialmente: o codigo reconhece o nome canonico, mas o renome real exige autorizacao e janela segura.", + "status": "planejada", + "title": "Autorizar renome canonico mais humana plataform", + "validations": [] + }, + "pending_items": [ + "plataforma relacionada nao encontrada no portfolio de governanca" + ], + "platform_id": "ecosystem", + "reason": "A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada.", + "resulting_candidates": [], + "validation_steps": [ + "regenerar portfolio de governanca", + "atualizar SQL semantico", + "registrar pendencias reais" + ] + }, + { + "evidence": [ + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 211, + "path": "tests/round-08-operational-closure.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 134, + "path": "tests/round-09-operational-execution.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 118, + "path": "tests/round-10-operational-closure.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 109, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 52, + "path": "tests/surface.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 677, + "path": "tests/flows/provider-flow.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 66, + "path": "tests/contracts/catalog-auth-dispatch.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.78, + "excerpt_hash": "", + "kind": "runtime", + "line": 395, + "path": "scripts/round/materialize-round-10-operational-closure.mjs", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." + } + ], + "final_status": "bloqueada", + "generated_at": "2026-04-30T11:35:07+00:00", + "order": { + "affected_paths": [], + "expected_result": "Politica gerencial aprovada e incorporada aos contratos do ecossistema.", + "object_scope": "Mais Humana, MCPs Internos, UI Platform, Docs, Identity, Business e Integracoes.", + "order_id": "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo.md", + "platform_hint": "integracoes", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Pactuar que a Mais Humana administra, interpreta e explica o ecossistema exclusivamente via MCP central.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- excecoes proibidas ou formalizadas;\n- UI definida como renderizador, nao fonte paralela.", + "finalidade-da-ordem-de-servico": "Pactuar que a Mais Humana administra, interpreta e explica o ecossistema exclusivamente via MCP central.", + "identificacao": "- order_id: `0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "O roteador definiu regra absoluta de transito: origem, destino, tool, payload, ator, permissao, resultado, traceId, auditId e timestamp.", + "objeto-da-ordem-de-servico": "Mais Humana, MCPs Internos, UI Platform, Docs, Identity, Business e Integracoes.", + "ordem-de-servico-0029-gerencial-pactuar-mcp-como-caminho-unico-administrativo": "", + "resultado-esperado-da-execucao": "Politica gerencial aprovada e incorporada aos contratos do ecossistema." + }, + "reason": "O roteador definiu regra absoluta de transito: origem, destino, tool, payload, ator, permissao, resultado, traceId, auditId e timestamp.", + "status": "planejada", + "title": "Pactuar mcp como caminho unico administrativo", + "validations": [] + }, + "pending_items": [ + "MCP como backend do painel humano: formalizar admin_ui, screenData, screenAction, diagnostics e evidence no MCP", + "Segredo nunca exposto em relatorios: executar varredura de segredo, mascaramento e politica de campos proibidos", + "truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked" + ], + "platform_id": "integracoes", + "reason": "A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada.", + "resulting_candidates": [ + "0007_GERENCIAL__consolidar-mcp-como-backend-oficial-do-painel-humano", + "0010_GERENCIAL__normalizar-maturidade-comercial-por-provider", + "0009_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto" + ], + "validation_steps": [ + "exportar contrato", + "validar versao", + "registrar breakingChanges", + "listar telas", + "detalhar tela", + "validar panelReady", + "rodar redaction check", + "validar JSON", + "inspecionar relatorios", + "listar providers", + "atribuir stage", + "validar blockers por provider" + ] + }, + { + "evidence": [ + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "absence", + "line": null, + "path": "G:\\_codex-git\\tudo-para-ia-ui-platform", + "summary": "Ausencia ou sinal negativo inferido pelo check de governanca." + }, + { + "confidence": 0.68, + "excerpt_hash": "", + "kind": "runtime", + "line": 211, + "path": "reports/latest-visual-contract-docs-summary.json", + "summary": "Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "code", + "line": 5, + "path": "scripts/generate-static-contract.mjs", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.62, + "excerpt_hash": "", + "kind": "derived", + "line": null, + "path": "package.json", + "summary": "Script 'docs:contract:summary' com intencao 'generation'." + }, + { + "confidence": 0.62, + "excerpt_hash": "", + "kind": "derived", + "line": null, + "path": "package.json", + "summary": "Script 'generate:contract' com intencao 'generation'." + }, + { + "confidence": 0.72, + "excerpt_hash": "", + "kind": "test", + "line": null, + "path": "reports/latest-visual-contract-docs-summary.json", + "summary": "Arquivo de teste ou especificacao encontrado." + }, + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "code", + "line": 26, + "path": "scripts/generate-static-contract.mjs", + "summary": "Texto menciona 'screen', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "derived", + "line": 1125, + "path": "apps/ui-platform/src/contract-data.js", + "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional." + } + ], + "final_status": "parcial", + "generated_at": "2026-04-30T11:35:07+00:00", + "order": { + "affected_paths": [], + "expected_result": "Catalogo oficial de relatorios, audiencia, criterio de aceite e owner por tipo.", + "object_scope": "Relatorios DOCX/Markdown, rulebook, matrizes e playbooks humanos.", + "order_id": "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano.md", + "platform_hint": "ui", + "priority": "media", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Definir modelos oficiais de relatorio humano por perfil e por plataforma.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- modelos oficiais escolhidos;\n- artefatos nao oficiais classificados como apoio.", + "finalidade-da-ordem-de-servico": "Definir modelos oficiais de relatorio humano por perfil e por plataforma.", + "identificacao": "- order_id: `0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `media`", + "motivo-da-criacao-da-ordem-de-servico": "A plataforma gera muitos artefatos; falta decisao gerencial sobre quais sao oficiais para administrador, equipe, cliente e usuario.", + "objeto-da-ordem-de-servico": "Relatorios DOCX/Markdown, rulebook, matrizes e playbooks humanos.", + "ordem-de-servico-0030-gerencial-definir-modelo-oficial-de-relatorio-humano": "", + "resultado-esperado-da-execucao": "Catalogo oficial de relatorios, audiencia, criterio de aceite e owner por tipo." + }, + "reason": "A plataforma gera muitos artefatos; falta decisao gerencial sobre quais sao oficiais para administrador, equipe, cliente e usuario.", + "status": "planejada", + "title": "Definir modelo oficial de relatorio humano", + "validations": [] + }, + "pending_items": [ + "truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked" + ], + "platform_id": "ui", + "reason": "A ordem foi executada como formalizacao/avanco parcial; restam pendencias materiais.", + "resulting_candidates": [ + "0039_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare" + ], + "validation_steps": [ + "validar playbook", + "executar comando de smoke", + "registrar evidencia", + "validar JSON/schema", + "comparar rotas", + "registrar contractVersion", + "exportar contrato", + "validar versao", + "registrar breakingChanges", + "consultar Docs", + "registrar decisao", + "atualizar readiness global" + ] + }, + { + "evidence": [ + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "absence", + "line": null, + "path": "G:\\_codex-git\\tudo-para-ia-ui-platform", + "summary": "Ausencia ou sinal negativo inferido pelo check de governanca." + }, + { + "confidence": 0.68, + "excerpt_hash": "", + "kind": "runtime", + "line": 211, + "path": "reports/latest-visual-contract-docs-summary.json", + "summary": "Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "code", + "line": 5, + "path": "scripts/generate-static-contract.mjs", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.62, + "excerpt_hash": "", + "kind": "derived", + "line": null, + "path": "package.json", + "summary": "Script 'docs:contract:summary' com intencao 'generation'." + }, + { + "confidence": 0.62, + "excerpt_hash": "", + "kind": "derived", + "line": null, + "path": "package.json", + "summary": "Script 'generate:contract' com intencao 'generation'." + }, + { + "confidence": 0.72, + "excerpt_hash": "", + "kind": "test", + "line": null, + "path": "reports/latest-visual-contract-docs-summary.json", + "summary": "Arquivo de teste ou especificacao encontrado." + }, + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "code", + "line": 26, + "path": "scripts/generate-static-contract.mjs", + "summary": "Texto menciona 'screen', sinalizando capacidade humana ou operacional." + }, + { + "confidence": 0.55, + "excerpt_hash": "", + "kind": "derived", + "line": 1125, + "path": "apps/ui-platform/src/contract-data.js", + "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional." + } + ], + "final_status": "parcial", + "generated_at": "2026-04-30T11:35:07+00:00", + "order": { + "affected_paths": [], + "expected_result": "Politica de UI com sourceEndpoint, sourceToolId, sourcePayloadHash e sourceRecordsHash obrigatorios.", + "object_scope": "UI Platform, MCP admin_ui, rulebook e relatórios humanos.", + "order_id": "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela.md", + "platform_hint": "ui", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Governar a UI Platform como renderizadora de contratos MCP, sem fonte operacional paralela.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- UI nao cria verdade propria;\n- divergencia GPT/painel vira blocker.", + "finalidade-da-ordem-de-servico": "Governar a UI Platform como renderizadora de contratos MCP, sem fonte operacional paralela.", + "identificacao": "- order_id: `0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "O rulebook reforca sameSource, mas a governanca precisa impedir bifurcacao entre painel visual e GPT.", + "objeto-da-ordem-de-servico": "UI Platform, MCP admin_ui, rulebook e relatórios humanos.", + "ordem-de-servico-0031-gerencial-governar-ui-como-renderizador-sem-fonte-paralela": "", + "resultado-esperado-da-execucao": "Politica de UI com sourceEndpoint, sourceToolId, sourcePayloadHash e sourceRecordsHash obrigatorios." + }, + "reason": "O rulebook reforca sameSource, mas a governanca precisa impedir bifurcacao entre painel visual e GPT.", + "status": "planejada", + "title": "Governar ui como renderizador sem fonte paralela", + "validations": [] + }, + "pending_items": [ + "truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked" + ], + "platform_id": "ui", + "reason": "A ordem foi executada como formalizacao/avanco parcial; restam pendencias materiais.", + "resulting_candidates": [ + "0039_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare" + ], + "validation_steps": [ + "validar playbook", + "executar comando de smoke", + "registrar evidencia", + "validar JSON/schema", + "comparar rotas", + "registrar contractVersion", + "exportar contrato", + "validar versao", + "registrar breakingChanges", + "consultar Docs", + "registrar decisao", + "atualizar readiness global" + ] + }, + { + "evidence": [ + { + "confidence": 0.5, + "excerpt_hash": "", + "kind": "absence", + "line": null, + "path": "ecosystem", + "summary": "Plataforma nao encontrada no portfolio de governanca." + } + ], + "final_status": "bloqueada", + "generated_at": "2026-04-30T11:35:07+00:00", + "order": { + "affected_paths": [], + "expected_result": "Rulebook aceito, versionado ou ajustado; criterios de exclusao de regra duplicada definidos.", + "object_scope": "`src/mais_humana/generated_human_rulebook.py`, JSON compacto, Markdown e CSV do rulebook.", + "order_id": "0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:07+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana.md", + "platform_hint": "ecosystem", + "priority": "media", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Homologar o rulebook humano-operacional como contrato de maturidade humana da plataforma.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- rulebook homologado;\n- politica de versionamento definida.", + "finalidade-da-ordem-de-servico": "Homologar o rulebook humano-operacional como contrato de maturidade humana da plataforma.", + "identificacao": "- order_id: `0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `media`", + "motivo-da-criacao-da-ordem-de-servico": "A rodada produziu 582 regras de controle; elas precisam de aceite gerencial para orientar proximas OS.", + "objeto-da-ordem-de-servico": "`src/mais_humana/generated_human_rulebook.py`, JSON compacto, Markdown e CSV do rulebook.", + "ordem-de-servico-0032-gerencial-homologar-rulebook-como-contrato-de-maturidade-humana": "", + "resultado-esperado-da-execucao": "Rulebook aceito, versionado ou ajustado; criterios de exclusao de regra duplicada definidos." + }, + "reason": "A rodada produziu 582 regras de controle; elas precisam de aceite gerencial para orientar proximas OS.", + "status": "planejada", + "title": "Homologar rulebook como contrato de maturidade humana", + "validations": [] + }, + "pending_items": [ + "plataforma relacionada nao encontrada no portfolio de governanca" + ], + "platform_id": "ecosystem", + "reason": "A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada.", + "resulting_candidates": [], + "validation_steps": [ + "regenerar portfolio de governanca", + "atualizar SQL semantico", + "registrar pendencias reais" + ] } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:07+00:00", "minimums": [ { - "actual_value": 15, + "actual_value": 20, "minimum_id": "executive-cycle", "next_action": "criar OS executiva padrao se o ciclo ficar abaixo do minimo", "reason": "Ordens executivas foram descobertas e tratadas pela rodada.", @@ -4254,7 +5221,7 @@ "title": "Executar ao menos 5 ordens executivas" }, { - "actual_value": 17, + "actual_value": 22, "minimum_id": "managerial-cycle", "next_action": "executar ordem gerencial comum de fechamento", "reason": "Ordens gerenciais foram descobertas e tratadas pela rodada.", @@ -4281,7 +5248,7 @@ "title": "Criar ao menos 5 ordens gerenciais de saida" }, { - "actual_value": 4854311, + "actual_value": 4764213, "minimum_id": "reading-minimum", "next_action": "ampliar escopo de leitura ou registrar ausencia material", "reason": "Leitura registrada pelo scanner e/ou pelas plataformas relacionadas.", @@ -4290,7 +5257,7 @@ "title": "Analisar ao menos 10.000 linhas tecnicas/documentais quando houver base" }, { - "actual_value": 16675, + "actual_value": 18302, "minimum_id": "production-minimum", "next_action": "ampliar engine Python de governanca sem enchimento artificial", "reason": "Linhas de codigo disponiveis no projeto real depois da rodada.", @@ -4306,7 +5273,7 @@ ], "candidate_id": "0058_EXECUTIVA__blindar-redaction-e-referencias-de-credencial", "expected_result": "executar varredura de segredo, mascaramento e politica de campos proibidos", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "business", "priority": "alta", @@ -4329,7 +5296,7 @@ ], "candidate_id": "0059_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "business", "priority": "alta", @@ -4352,7 +5319,7 @@ ], "candidate_id": "0050_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "compliance", "priority": "alta", @@ -4375,7 +5342,7 @@ ], "candidate_id": "0051_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal", "expected_result": "promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "compliance", "priority": "alta", @@ -4398,7 +5365,7 @@ ], "candidate_id": "0001_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "customer_ops", "priority": "alta", @@ -4421,7 +5388,7 @@ ], "candidate_id": "0022_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "docs", "priority": "alta", @@ -4444,7 +5411,7 @@ ], "candidate_id": "0021_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal", "expected_result": "promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "docs", "priority": "alta", @@ -4467,7 +5434,7 @@ ], "candidate_id": "0040_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "finance", "priority": "alta", @@ -4490,7 +5457,7 @@ ], "candidate_id": "0054_EXECUTIVA__blindar-redaction-e-referencias-de-credencial", "expected_result": "executar varredura de segredo, mascaramento e politica de campos proibidos", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "identity", "priority": "alta", @@ -4513,7 +5480,7 @@ ], "candidate_id": "0055_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "identity", "priority": "alta", @@ -4536,7 +5503,7 @@ ], "candidate_id": "0006_EXECUTIVA__blindar-redaction-e-referencias-de-credencial", "expected_result": "executar varredura de segredo, mascaramento e politica de campos proibidos", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "integracoes", "priority": "alta", @@ -4559,7 +5526,7 @@ ], "candidate_id": "0008_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "integracoes", "priority": "alta", @@ -4582,7 +5549,7 @@ ], "candidate_id": "0026_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "intelligence", "priority": "alta", @@ -4605,7 +5572,7 @@ ], "candidate_id": "0018_EXECUTIVA__blindar-redaction-e-referencias-de-credencial", "expected_result": "executar varredura de segredo, mascaramento e politica de campos proibidos", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "mcps", "priority": "alta", @@ -4628,7 +5595,7 @@ ], "candidate_id": "0017_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "mcps", "priority": "alta", @@ -4651,7 +5618,7 @@ ], "candidate_id": "0016_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal", "expected_result": "promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "mcps", "priority": "alta", @@ -4674,7 +5641,7 @@ ], "candidate_id": "0011_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "platform_base", "priority": "alta", @@ -4697,7 +5664,7 @@ ], "candidate_id": "0012_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal", "expected_result": "promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "platform_base", "priority": "alta", @@ -4720,7 +5687,7 @@ ], "candidate_id": "0045_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "public", "priority": "alta", @@ -4743,7 +5710,7 @@ ], "candidate_id": "0030_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "stj", "priority": "alta", @@ -4766,7 +5733,7 @@ ], "candidate_id": "0035_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "ui", "priority": "alta", @@ -4789,7 +5756,7 @@ ], "candidate_id": "0036_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal", "expected_result": "promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "ui", "priority": "alta", @@ -4812,7 +5779,7 @@ ], "candidate_id": "0062_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "business", "priority": "media", @@ -4835,7 +5802,7 @@ ], "candidate_id": "0052_EXECUTIVA__publicar-contrato-operacional-versionado", "expected_result": "publicar contrato minimo versionado ou declarar contrato alternativo na central", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "compliance", "priority": "media", @@ -4858,7 +5825,7 @@ ], "candidate_id": "0004_EXECUTIVA__adicionar-diagnostico-sanitizado-para-suporte", "expected_result": "criar diagnostico sanitizado com causa, impacto, proxima acao e evidencia", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "customer_ops", "priority": "media", @@ -4881,7 +5848,7 @@ ], "candidate_id": "0002_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "customer_ops", "priority": "media", @@ -4904,7 +5871,7 @@ ], "candidate_id": "0025_EXECUTIVA__adicionar-resposta-compacta-e-paginada-para-auditoria", "expected_result": "implementar summaryOnly, failuresOnly, limit, cursor e includeRaw=false", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "docs", "priority": "media", @@ -4927,7 +5894,7 @@ ], "candidate_id": "0023_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "docs", "priority": "media", @@ -4950,7 +5917,7 @@ ], "candidate_id": "0042_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "finance", "priority": "media", @@ -4973,7 +5940,7 @@ ], "candidate_id": "0063_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "gettys", "priority": "media", @@ -4996,7 +5963,7 @@ ], "candidate_id": "0057_EXECUTIVA__adicionar-diagnostico-sanitizado-para-suporte", "expected_result": "criar diagnostico sanitizado com causa, impacto, proxima acao e evidencia", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "identity", "priority": "media", @@ -5019,7 +5986,7 @@ ], "candidate_id": "0056_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "identity", "priority": "media", @@ -5042,7 +6009,7 @@ ], "candidate_id": "0027_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "intelligence", "priority": "media", @@ -5065,7 +6032,7 @@ ], "candidate_id": "0020_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "mcps", "priority": "media", @@ -5088,7 +6055,7 @@ ], "candidate_id": "0048_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "public", "priority": "media", @@ -5111,7 +6078,7 @@ ], "candidate_id": "0047_EXECUTIVA__publicar-contrato-operacional-versionado", "expected_result": "publicar contrato minimo versionado ou declarar contrato alternativo na central", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "public", "priority": "media", @@ -5134,7 +6101,7 @@ ], "candidate_id": "0032_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "stj", "priority": "media", @@ -5157,7 +6124,7 @@ ], "candidate_id": "0038_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras", "expected_result": "criar taxonomia de erro por dominio com mensagem humana e payload redigido", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "ui", "priority": "media", @@ -5180,7 +6147,7 @@ ], "candidate_id": "0037_EXECUTIVA__publicar-contrato-operacional-versionado", "expected_result": "publicar contrato minimo versionado ou declarar contrato alternativo na central", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "ui", "priority": "media", @@ -5203,7 +6170,7 @@ ], "candidate_id": "0060_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "business", "priority": "alta", @@ -5226,7 +6193,7 @@ ], "candidate_id": "0041_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "finance", "priority": "alta", @@ -5249,7 +6216,7 @@ ], "candidate_id": "0007_GERENCIAL__consolidar-mcp-como-backend-oficial-do-painel-humano", "expected_result": "formalizar admin_ui, screenData, screenAction, diagnostics e evidence no MCP", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "integracoes", "priority": "alta", @@ -5272,7 +6239,7 @@ ], "candidate_id": "0010_GERENCIAL__normalizar-maturidade-comercial-por-provider", "expected_result": "classificar cada provider em lifecycle comercial e tecnico unico", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "integracoes", "priority": "alta", @@ -5295,7 +6262,7 @@ ], "candidate_id": "0009_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "integracoes", "priority": "alta", @@ -5318,7 +6285,7 @@ ], "candidate_id": "0019_GERENCIAL__normalizar-maturidade-comercial-por-provider", "expected_result": "classificar cada provider em lifecycle comercial e tecnico unico", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "mcps", "priority": "alta", @@ -5341,7 +6308,7 @@ ], "candidate_id": "0046_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "public", "priority": "alta", @@ -5364,7 +6331,7 @@ ], "candidate_id": "0031_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "stj", "priority": "alta", @@ -5387,7 +6354,7 @@ ], "candidate_id": "0061_GERENCIAL__isolar-blockers-comerciais-por-produto-e-provider", "expected_result": "classificar blockers por productId/providerId/stage e impacto comercial", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "business", "priority": "media", @@ -5410,7 +6377,7 @@ ], "candidate_id": "0053_GERENCIAL__elevar-valor-humano-por-perfil-e-pergunta", "expected_result": "gerar matriz plataforma x perfil com perguntas, lacunas, evidencias e OS", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "compliance", "priority": "media", @@ -5433,7 +6400,7 @@ ], "candidate_id": "0003_GERENCIAL__consolidar-runbooks-e-comandos-humanos-equivalentes", "expected_result": "criar playbook por perfil com diagnostico, acao, evidencia e limite seguro", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "customer_ops", "priority": "media", @@ -5456,7 +6423,7 @@ ], "candidate_id": "0005_GERENCIAL__formalizar-politica-de-versao-e-compatibilidade", "expected_result": "criar politica de versionamento, deprecacao, substituicao e notas de migracao", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "customer_ops", "priority": "media", @@ -5479,7 +6446,7 @@ ], "candidate_id": "0024_GERENCIAL__formalizar-politica-de-versao-e-compatibilidade", "expected_result": "criar politica de versionamento, deprecacao, substituicao e notas de migracao", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "docs", "priority": "media", @@ -5502,7 +6469,7 @@ ], "candidate_id": "0044_GERENCIAL__elevar-valor-humano-por-perfil-e-pergunta", "expected_result": "gerar matriz plataforma x perfil com perguntas, lacunas, evidencias e OS", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "finance", "priority": "media", @@ -5525,7 +6492,7 @@ ], "candidate_id": "0043_GERENCIAL__formalizar-politica-de-versao-e-compatibilidade", "expected_result": "criar politica de versionamento, deprecacao, substituicao e notas de migracao", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "finance", "priority": "media", @@ -5548,7 +6515,7 @@ ], "candidate_id": "0064_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare", "expected_result": "registrar tentativa do plugin apenas como premissa e seguir trabalho por wrangler quando houver acao real", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "gettys", "priority": "media", @@ -5571,7 +6538,7 @@ ], "candidate_id": "0065_GERENCIAL__elevar-valor-humano-por-perfil-e-pergunta", "expected_result": "gerar matriz plataforma x perfil com perguntas, lacunas, evidencias e OS", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "gettys", "priority": "media", @@ -5594,7 +6561,7 @@ ], "candidate_id": "0029_GERENCIAL__elevar-valor-humano-por-perfil-e-pergunta", "expected_result": "gerar matriz plataforma x perfil com perguntas, lacunas, evidencias e OS", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "intelligence", "priority": "media", @@ -5617,7 +6584,7 @@ ], "candidate_id": "0028_GERENCIAL__formalizar-politica-de-versao-e-compatibilidade", "expected_result": "criar politica de versionamento, deprecacao, substituicao e notas de migracao", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "intelligence", "priority": "media", @@ -5640,7 +6607,7 @@ ], "candidate_id": "0014_GERENCIAL__consolidar-runbooks-e-comandos-humanos-equivalentes", "expected_result": "criar playbook por perfil com diagnostico, acao, evidencia e limite seguro", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "platform_base", "priority": "media", @@ -5663,7 +6630,7 @@ ], "candidate_id": "0015_GERENCIAL__elevar-valor-humano-por-perfil-e-pergunta", "expected_result": "gerar matriz plataforma x perfil com perguntas, lacunas, evidencias e OS", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "platform_base", "priority": "media", @@ -5686,7 +6653,7 @@ ], "candidate_id": "0013_GERENCIAL__formalizar-politica-de-versao-e-compatibilidade", "expected_result": "criar politica de versionamento, deprecacao, substituicao e notas de migracao", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "platform_base", "priority": "media", @@ -5709,7 +6676,7 @@ ], "candidate_id": "0049_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare", "expected_result": "registrar tentativa do plugin apenas como premissa e seguir trabalho por wrangler quando houver acao real", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "public", "priority": "media", @@ -5732,7 +6699,7 @@ ], "candidate_id": "0033_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare", "expected_result": "registrar tentativa do plugin apenas como premissa e seguir trabalho por wrangler quando houver acao real", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "stj", "priority": "media", @@ -5755,7 +6722,7 @@ ], "candidate_id": "0034_GERENCIAL__formalizar-politica-de-versao-e-compatibilidade", "expected_result": "criar politica de versionamento, deprecacao, substituicao e notas de migracao", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "stj", "priority": "media", @@ -5778,7 +6745,7 @@ ], "candidate_id": "0039_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare", "expected_result": "registrar tentativa do plugin apenas como premissa e seguir trabalho por wrangler quando houver acao real", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "ui", "priority": "media", @@ -5805,7 +6772,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0001_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0001_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -5843,7 +6810,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0002_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0002_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -5881,7 +6848,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0003_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0003_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -5919,7 +6886,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0004_EXECUTIVA__elevar-maturidade-humana-de-business-platform", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0004_EXECUTIVA__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -5957,7 +6924,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0005_EXECUTIVA__elevar-maturidade-humana-de-compliance-platform", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0005_EXECUTIVA__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -5995,7 +6962,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0006_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0006_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -6033,7 +7000,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0007_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0007_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -6071,7 +7038,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0008_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0008_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -6109,7 +7076,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0009_EXECUTIVA__elevar-maturidade-humana-de-business-platform", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0009_EXECUTIVA__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -6147,7 +7114,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0010_EXECUTIVA__elevar-maturidade-humana-de-compliance-platform", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0010_EXECUTIVA__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -6185,7 +7152,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0011_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0011_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -6223,7 +7190,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0012_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0012_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -6261,7 +7228,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0013_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0013_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -6299,7 +7266,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0014_EXECUTIVA__elevar-maturidade-humana-de-business-platform", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0014_EXECUTIVA__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -6337,7 +7304,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0015_EXECUTIVA__elevar-maturidade-humana-de-compliance-platform", "order_type": "executiva", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0015_EXECUTIVA__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -6367,6 +7334,166 @@ "pendencias atualizadas" ] }, + { + "affected_paths": [], + "expected_result": "Provider/tool MCP publicado ou ordem bloqueada por credencial/autorizacao, com payload incluindo origin, destination, tool, actor, permission, result, traceId, auditId e timestamp.", + "object_scope": "Projeto real `G:/_codex-git/tudo-para-ia-mais-humana`; artefatos `dados/rulebook-humano-operacional*.json`; plataforma MCP `tudo-para-ia-mcps-internos-plataform`.", + "order_id": "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "order_type": "executiva", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana.md", + "platform_hint": "public", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Expor o rulebook humano-operacional da Mais Humana como provider MCP minimo.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- tool MCP publica resposta compacta do rulebook;\n- UI e GPT podem explicar a mesma fonte;\n- SQL semantico atualizado.", + "finalidade-da-ordem-de-servico": "Expor o rulebook humano-operacional da Mais Humana como provider MCP minimo.", + "identificacao": "- order_id: `0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana`\n- tipo: `executiva`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "A rodada criou regras importaveis e artefatos de rulebook, mas a administracao institucional ainda precisa consumir isso pelo MCP, nao por leitura direta de arquivo.", + "objeto-da-ordem-de-servico": "Projeto real `G:/_codex-git/tudo-para-ia-mais-humana`; artefatos `dados/rulebook-humano-operacional*.json`; plataforma MCP `tudo-para-ia-mcps-internos-plataform`.", + "ordem-de-servico-0016-executiva-publicar-rulebook-mcp-provider-mais-humana": "", + "resultado-esperado-da-execucao": "Provider/tool MCP publicado ou ordem bloqueada por credencial/autorizacao, com payload incluindo origin, destination, tool, actor, permission, result, traceId, auditId e timestamp.", + "validacoes": "- `python -m mais_humana.cli rulebook --ecosystem-root G:/_codex-git --limit 10`\n- validar consumo MCP sem expor segredo;\n- registrar evidenceId, traceId e auditId." + }, + "reason": "A rodada criou regras importaveis e artefatos de rulebook, mas a administracao institucional ainda precisa consumir isso pelo MCP, nao por leitura direta de arquivo.", + "status": "planejada", + "title": "Publicar rulebook mcp provider mais humana", + "validations": [ + "python -m mais_humana.cli rulebook --ecosystem-root G:/_codex-git --limit 10", + "validar consumo MCP sem expor segredo;", + "registrar evidenceId, traceId e auditId." + ] + }, + { + "affected_paths": [], + "expected_result": "Uma tool/surface Docs responseReady minima validada, ou excecao formal documentada sem promover ready global indevidamente.", + "object_scope": "Docs Platform, MCP central, checks de governanca e rulebook Mais Humana.", + "order_id": "0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo", + "order_type": "executiva", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo.md", + "platform_hint": "docs", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Resolver o blocker Docs catalogOnly por leitura canonica responseReady minima ou excecao formal.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- Docs deixa de ser blocker ambiguo;\n- comparador humano diferencia excecao deliberada de falha operacional.", + "finalidade-da-ordem-de-servico": "Resolver o blocker Docs catalogOnly por leitura canonica responseReady minima ou excecao formal.", + "identificacao": "- order_id: `0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo`\n- tipo: `executiva`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "Docs segue como blocker recorrente de maturidade humana global.", + "objeto-da-ordem-de-servico": "Docs Platform, MCP central, checks de governanca e rulebook Mais Humana.", + "ordem-de-servico-0017-executiva-resolver-docs-catalogonly-com-response-ready-minimo": "", + "resultado-esperado-da-execucao": "Uma tool/surface Docs responseReady minima validada, ou excecao formal documentada sem promover ready global indevidamente.", + "validacoes": "- confirmar truthState de Docs;\n- atualizar `RULEBOOK-HUMANO-OPERACIONAL.md`;\n- registrar pendencia se depender de decisao institucional." + }, + "reason": "Docs segue como blocker recorrente de maturidade humana global.", + "status": "planejada", + "title": "Resolver docs catalogonly com response ready minimo", + "validations": [ + "confirmar truthState de Docs;", + "atualizar `RULEBOOK-HUMANO-OPERACIONAL.md`;", + "registrar pendencia se depender de decisao institucional." + ] + }, + { + "affected_paths": [], + "expected_result": "Cada plataforma com truthState explicito: unknown, catalog_only, documented, derived, response_ready, same_source_ready, live_readonly, live_write, blocked ou formal_exception.", + "object_scope": "Rulebook, governanca operacional, matrizes e relatorios da plataforma Mais Humana.", + "order_id": "0018_EXECUTIVA__classificar-truthstate-e-sourcehash-em-todas-as-plataformas", + "order_type": "executiva", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0018_EXECUTIVA__classificar-truthstate-e-sourcehash-em-todas-as-plataformas.md", + "platform_hint": "ecosystem", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Classificar truthState, sourcePayloadHash e sourceRecordsHash para as plataformas avaliadas.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- nenhuma plataforma sem classificacao explicita;\n- pendencias externas separadas de falta de implementacao local.", + "finalidade-da-ordem-de-servico": "Classificar truthState, sourcePayloadHash e sourceRecordsHash para as plataformas avaliadas.", + "identificacao": "- order_id: `0018_EXECUTIVA__classificar-truthstate-e-sourcehash-em-todas-as-plataformas`\n- tipo: `executiva`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "O rulebook ja exige fonte unica, mas ainda ha respostas classificadas como parciais ou bloqueadas por falta de prova direta.", + "objeto-da-ordem-de-servico": "Rulebook, governanca operacional, matrizes e relatorios da plataforma Mais Humana.", + "ordem-de-servico-0018-executiva-classificar-truthstate-e-sourcehash-em-todas-as-plataformas": "", + "resultado-esperado-da-execucao": "Cada plataforma com truthState explicito: unknown, catalog_only, documented, derived, response_ready, same_source_ready, live_readonly, live_write, blocked ou formal_exception.", + "validacoes": "- regenerar `dados/rulebook-humano-operacional.json`;\n- validar CSV de cobertura;\n- atualizar SQL semantico." + }, + "reason": "O rulebook ja exige fonte unica, mas ainda ha respostas classificadas como parciais ou bloqueadas por falta de prova direta.", + "status": "planejada", + "title": "Classificar truthstate e sourcehash em todas as plataformas", + "validations": [ + "regenerar `dados/rulebook-humano-operacional.json`;", + "validar CSV de cobertura;", + "atualizar SQL semantico." + ] + }, + { + "affected_paths": [], + "expected_result": "Varredura ampliada com padroes CFAT/credentialRef e relatorio sem vazamento de segredo bruto.", + "object_scope": "`src/mais_humana/redaction.py`, artefatos gerados e relatórios da central.", + "order_id": "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos", + "order_type": "executiva", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos.md", + "platform_hint": "ecosystem", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Endurecer redaction para credentialRef, tokenRef, CFAT e referencias operacionais sensiveis.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- tokens brutos bloqueados;\n- apenas referencias opacas permitidas.", + "finalidade-da-ordem-de-servico": "Endurecer redaction para credentialRef, tokenRef, CFAT e referencias operacionais sensiveis.", + "identificacao": "- order_id: `0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos`\n- tipo: `executiva`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "O roteador trouxe token Cloudflare e a plataforma deve provar que artefatos humanos nao propagam segredos.", + "objeto-da-ordem-de-servico": "`src/mais_humana/redaction.py`, artefatos gerados e relatórios da central.", + "ordem-de-servico-0019-executiva-blindar-redaction-credentialref-e-cfat-em-artefatos": "", + "resultado-esperado-da-execucao": "Varredura ampliada com padroes CFAT/credentialRef e relatorio sem vazamento de segredo bruto.", + "validacoes": "- `python -m unittest tests.test_redaction_acceptance`;\n- `python -m mais_humana.cli generate`;\n- revisar `ecossistema/REDACTION-CHECK-MAIS-HUMANA.md`." + }, + "reason": "O roteador trouxe token Cloudflare e a plataforma deve provar que artefatos humanos nao propagam segredos.", + "status": "planejada", + "title": "Blindar redaction credentialref e cfat em artefatos", + "validations": [ + "`python -m unittest tests.test_redaction_acceptance`;", + "`python -m mais_humana.cli generate`;", + "revisar `ecossistema/REDACTION-CHECK-MAIS-HUMANA.md`." + ] + }, + { + "affected_paths": [], + "expected_result": "Um fluxo de validacao same-source com sourceEndpoint, sourceToolId, sourcePayloadHash, sourceRecordsHash e humanNextAction.", + "object_scope": "MCP admin_ui, UI Platform, `RULEBOOK-HUMANO-OPERACIONAL.md` e `matrizes/rulebook-humano-operacional.csv`.", + "order_id": "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "order_type": "executiva", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\executivas\\0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook.md", + "platform_hint": "ui", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Validar que o rulebook pode orientar telas admin_ui com mesma fonte para GPT e painel.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- um exemplo de tela rulebook possui mesma fonte validada;\n- divergencias viram pendencia real.", + "finalidade-da-ordem-de-servico": "Validar que o rulebook pode orientar telas admin_ui com mesma fonte para GPT e painel.", + "identificacao": "- order_id: `0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook`\n- tipo: `executiva`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "A Mais Humana deve explicar telas sem criar backend paralelo.", + "objeto-da-ordem-de-servico": "MCP admin_ui, UI Platform, `RULEBOOK-HUMANO-OPERACIONAL.md` e `matrizes/rulebook-humano-operacional.csv`.", + "ordem-de-servico-0020-executiva-validar-mcp-admin-ui-same-source-rulebook": "", + "resultado-esperado-da-execucao": "Um fluxo de validacao same-source com sourceEndpoint, sourceToolId, sourcePayloadHash, sourceRecordsHash e humanNextAction.", + "validacoes": "- comparar payload GPT/painel;\n- registrar traceId/auditId;\n- atualizar evidence graph." + }, + "reason": "A Mais Humana deve explicar telas sem criar backend paralelo.", + "status": "planejada", + "title": "Validar mcp admin ui same source rulebook", + "validations": [ + "comparar payload GPT/painel;", + "registrar traceId/auditId;", + "atualizar evidence graph." + ] + }, { "affected_paths": [ "", @@ -6376,7 +7503,7 @@ "object_scope": "A ordem recai sobre a criação e estruturação inicial da plataforma `tudo-para-ia-mais-humana`.\n\nProjeto real a criar:\n\n`G:/_codex-git/tudo-para-ia-mais-humana`\n\nRepositório real esperado:\n\n`admin/tudo-para-ia-mais-humana`\n\nPasta da plataforma na central:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/15_repo_tudo-para-ia-mais-humana`\n\nÁreas a criar no projeto real:\n\n- `README.md`\n- `paradigma/`\n- `pessoas-e-papeis/`\n- `plataformas/`\n- `ecossistema/`\n- `relatorios-docx/`\n- `graficos/`\n- `matrizes/`\n- `telas-e-relatorios/`\n- `metas-humanas/`\n- `os-orientadoras/`\n- `dados/`\n- `templates/`\n\nÁreas a criar na pasta da plataforma dentro da central:\n\n- `README.md`\n- `ORDEM-EXECUTIVA-PADRAO.md`\n- `current/`\n- `orders/executivas/`\n- `orders/gerenciais/`\n- `reports/`\n- `audit/`\n- `indexes/`\n- `status/`\n- `controle-semantico.sqlite`\n\nDocumentação envolvida:\n\n- README do núcleo;\n- README da central;\n- README de `projects`;\n- plano gerencial do ecossistema;\n- relatórios humanas por plataforma;\n- relatório geral humana do ecossistema;\n- templates DOCX;\n- matrizes de atendimento humana;\n- gráficos de maturidade humana;\n- ordens futuras com foco em atendimento humana.\n\nSQLite semântico:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/15_repo_tudo-para-ia-mais-humana/controle-semantico.sqlite`", "order_id": "0011_GERENCIAL__fundacao-da-plataforma", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0011_GERENCIAL__fundacao-da-plataforma.md", "platform_hint": "integracoes", "priority": "alta", @@ -6420,7 +7547,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0012_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0012_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -6458,7 +7585,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0013_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0013_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -6496,7 +7623,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0014_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0014_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -6534,7 +7661,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0015_GERENCIAL__elevar-maturidade-humana-de-business-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0015_GERENCIAL__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -6572,7 +7699,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0016_GERENCIAL__elevar-maturidade-humana-de-compliance-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0016_GERENCIAL__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -6610,7 +7737,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0017_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0017_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -6648,7 +7775,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0018_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0018_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -6686,7 +7813,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0019_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0019_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -6724,7 +7851,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0020_GERENCIAL__elevar-maturidade-humana-de-business-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0020_GERENCIAL__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -6762,7 +7889,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0021_GERENCIAL__elevar-maturidade-humana-de-compliance-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0021_GERENCIAL__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -6800,7 +7927,7 @@ "object_scope": "Plataforma relacionada: intelligence. Areas afetadas: G:\\_codex-git\\tudo-para-ia-intelligence-platform", "order_id": "0022_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0022_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "intelligence", "priority": "alta", @@ -6838,7 +7965,7 @@ "object_scope": "Plataforma relacionada: integracoes. Areas afetadas: G:\\_codex-git\\tudo-para-ia-integracoes-plataform", "order_id": "0023_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0023_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "integracoes", "priority": "alta", @@ -6876,7 +8003,7 @@ "object_scope": "Plataforma relacionada: docs. Areas afetadas: G:\\_codex-git\\tudo-para-ia-docs-plataform", "order_id": "0024_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0024_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos.md", "platform_hint": "docs", "priority": "alta", @@ -6914,7 +8041,7 @@ "object_scope": "Plataforma relacionada: business. Areas afetadas: G:\\_codex-git\\tudo-para-ia-business-platform", "order_id": "0025_GERENCIAL__elevar-maturidade-humana-de-business-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0025_GERENCIAL__elevar-maturidade-humana-de-business-platform.md", "platform_hint": "business", "priority": "media", @@ -6952,7 +8079,7 @@ "object_scope": "Plataforma relacionada: compliance. Areas afetadas: G:\\_codex-git\\tudo-para-ia-compliance-platform", "order_id": "0026_GERENCIAL__elevar-maturidade-humana-de-compliance-platform", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0026_GERENCIAL__elevar-maturidade-humana-de-compliance-platform.md", "platform_hint": "compliance", "priority": "media", @@ -6991,10 +8118,10 @@ "object_scope": "", "order_id": "", "order_type": "gerencial", - "parsed_at": "2026-04-30T10:32:49+00:00", + "parsed_at": "2026-04-30T11:35:06+00:00", "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0027_GERENCIAL__nome-canonico-mcps-conect.md", "platform_hint": "public", - "priority": "", + "priority": "alta", "project_id": "", "purpose": "", "raw_headings": { @@ -7009,9 +8136,11 @@ "__root__": "", "arquivos-e-reas-afetadas": "- ``\n- ``\n\n---", "caminhos": "Pasta da plataforma:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/`\n\nProjeto real:\n\n`G:/_codex-git/`\n\nRepositório esperado:\n\n`admin/`\n\nSQLite semântico:\n\n`/controle-semantico.sqlite`", + "execucao-desta-rodada": "- O nome canonico recomendado `tudo-para-ia-mais-humana-plataform` foi incorporado ao codigo operacional em `src/mais_humana/human_rulebook.py`.\n- O caminho administrativo obrigatorio pela `tudo-para-ia-mcps-internos-plataform` foi transformado em regra gerada e testada no rulebook humano-operacional.\n- Foram gerados artefatos `dados/rulebook-humano-operacional*.json`, `ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md` e `matrizes/rulebook-humano-operacional.csv`.\n- O SQLite semantico da pasta registrou a rodada e os arquivos gerados.\n- O renome real do repositorio remoto/local e da pasta gerencial para o nome `*-plataform` nao foi executado nesta rodada porque exige decisao/autorizacao institucional e sincronizacao segura do roteador que ainda aponta para a pasta atual.", "fechamento-das-ordens-executadas": "Toda ordem executada deve ser fechada como:\n\n`concluída`, `parcial` ou `bloqueada`.\n\nA ordem executada não pode permanecer ativa.\n\nDepois da execução, o Codex deve registrar:\n\n- EXECUTADO;\n- PENDÊNCIAS, quando houver;\n- arquivos criados ou alterados;\n- atualização do SQL semântico, quando houver;\n- novas ordens de saída relevantes.\n\nAs ordens de saída são as próximas ordens ativas.", - "identificao": "- order_id: ``\n- tipo: ``\n- project_id: ``\n- repo_name: ``\n- status: ``\n- prioridade: ``", - "ordem-de-servio-0027": "Template oficial:\n\n`G:/_codex-git/nucleo-gestao-operacional/templates/ordem-de-servico.md`\n\nToda ordem criada deve usar este template como referência. \nNão inventar modelo alternativo.\n\n---", + "identificao": "- order_id: ``\n- tipo: ``\n- project_id: ``\n- repo_name: ``\n- status: `parcial`\n- prioridade: `alta`", + "ordem-de-servico-0027-gerencial-nome-canonico-mcps-conect": "Template oficial:\n\n`G:/_codex-git/nucleo-gestao-operacional/templates/ordem-de-servico.md`\n\nToda ordem criada deve usar este template como referência. \nNão inventar modelo alternativo.\n\n---", + "pendencia-real": "- Autorizar janela de renome e sincronizacao para `admin/tudo-para-ia-mais-humana-plataform`, incluindo ajuste do roteador permanente e preservacao do historico Git.", "plano-gerencial-do-ecossistema": "Ao elaborar novas ordens, consultar:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/PLANO-GERENCIAL-DO-ECOSSISTEMA.md`\n\nUsar esse plano como referência preferencial, salvo se a avaliação concreta da pasta indicar fator mais urgente, específico ou relevante.", "projeto-real-e-pasta-da-plataforma": "O Codex deve diferenciar:\n\n- pasta da plataforma na central: onde ficam ordens, relatórios, índices, SQL e rastreabilidade;\n- projeto real: onde a execução técnica acontece.\n\nPasta da plataforma:\n\n`G:/_codex-git/nucleo-gestao-operacional/central-de-ordem-de-servico/projects/`\n\nProjeto real:\n\n`G:/_codex-git/`\n\nA numeração da pasta da plataforma, como `01_`, é apenas organização visual da central. \nEla não faz parte do nome do projeto real.\n\nNão usar número da pasta no nome do projeto, repositório, remote, branch, worker, package, ownerPlatformId, providerId, relatório, SQLite ou documentação técnica.", "se-for-executiva": "Ordem executiva é continuidade prática da execução anterior.\n\nEla trata de:\n\n- correção;\n- pendência;\n- bloqueio;\n- complemento;\n- validação;\n- ajuste;\n- melhoria diretamente ligada ao que acabou de ser executado.\n\nAo final da rodada, devem ser criadas 5 novas ordens executivas relevantes de saída, salvo impossibilidade real registrada.", @@ -7020,12 +8149,147 @@ "template-oficial-para-novas-ordens": "Sempre que esta ordem mandar criar novas ordens de serviço, usar:\n\n`G:/_codex-git/nucleo-gestao-operacional/templates/ordem-de-servico.md`\n\nSe o template não existir, registrar pendência real e não inventar modelo alternativo." }, "reason": "", - "status": "desconhecida", + "status": "parcial", "title": "0027_GERENCIAL__nome-canonico-mcps-conect", "validations": [] + }, + { + "affected_paths": [], + "expected_result": "Decisao aprovada ou rejeitada, com plano de migracao/rollback e atualizacao do roteador.", + "object_scope": "Repositorio remoto, pasta local, pasta gerencial, roteador permanente e historico Git.", + "order_id": "0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform.md", + "platform_hint": "ecosystem", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Obter decisao institucional para renomear a plataforma para `tudo-para-ia-mais-humana-plataform`.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- autorizacao formal registrada;\n- plano de renome e rollback definido.", + "finalidade-da-ordem-de-servico": "Obter decisao institucional para renomear a plataforma para `tudo-para-ia-mais-humana-plataform`.", + "identificacao": "- order_id: `0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "A OS 0027 foi executada parcialmente: o codigo reconhece o nome canonico, mas o renome real exige autorizacao e janela segura.", + "objeto-da-ordem-de-servico": "Repositorio remoto, pasta local, pasta gerencial, roteador permanente e historico Git.", + "ordem-de-servico-0028-gerencial-autorizar-renome-canonico-mais-humana-plataform": "", + "resultado-esperado-da-execucao": "Decisao aprovada ou rejeitada, com plano de migracao/rollback e atualizacao do roteador." + }, + "reason": "A OS 0027 foi executada parcialmente: o codigo reconhece o nome canonico, mas o renome real exige autorizacao e janela segura.", + "status": "planejada", + "title": "Autorizar renome canonico mais humana plataform", + "validations": [] + }, + { + "affected_paths": [], + "expected_result": "Politica gerencial aprovada e incorporada aos contratos do ecossistema.", + "object_scope": "Mais Humana, MCPs Internos, UI Platform, Docs, Identity, Business e Integracoes.", + "order_id": "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo.md", + "platform_hint": "integracoes", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Pactuar que a Mais Humana administra, interpreta e explica o ecossistema exclusivamente via MCP central.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- excecoes proibidas ou formalizadas;\n- UI definida como renderizador, nao fonte paralela.", + "finalidade-da-ordem-de-servico": "Pactuar que a Mais Humana administra, interpreta e explica o ecossistema exclusivamente via MCP central.", + "identificacao": "- order_id: `0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "O roteador definiu regra absoluta de transito: origem, destino, tool, payload, ator, permissao, resultado, traceId, auditId e timestamp.", + "objeto-da-ordem-de-servico": "Mais Humana, MCPs Internos, UI Platform, Docs, Identity, Business e Integracoes.", + "ordem-de-servico-0029-gerencial-pactuar-mcp-como-caminho-unico-administrativo": "", + "resultado-esperado-da-execucao": "Politica gerencial aprovada e incorporada aos contratos do ecossistema." + }, + "reason": "O roteador definiu regra absoluta de transito: origem, destino, tool, payload, ator, permissao, resultado, traceId, auditId e timestamp.", + "status": "planejada", + "title": "Pactuar mcp como caminho unico administrativo", + "validations": [] + }, + { + "affected_paths": [], + "expected_result": "Catalogo oficial de relatorios, audiencia, criterio de aceite e owner por tipo.", + "object_scope": "Relatorios DOCX/Markdown, rulebook, matrizes e playbooks humanos.", + "order_id": "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano.md", + "platform_hint": "ui", + "priority": "media", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Definir modelos oficiais de relatorio humano por perfil e por plataforma.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- modelos oficiais escolhidos;\n- artefatos nao oficiais classificados como apoio.", + "finalidade-da-ordem-de-servico": "Definir modelos oficiais de relatorio humano por perfil e por plataforma.", + "identificacao": "- order_id: `0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `media`", + "motivo-da-criacao-da-ordem-de-servico": "A plataforma gera muitos artefatos; falta decisao gerencial sobre quais sao oficiais para administrador, equipe, cliente e usuario.", + "objeto-da-ordem-de-servico": "Relatorios DOCX/Markdown, rulebook, matrizes e playbooks humanos.", + "ordem-de-servico-0030-gerencial-definir-modelo-oficial-de-relatorio-humano": "", + "resultado-esperado-da-execucao": "Catalogo oficial de relatorios, audiencia, criterio de aceite e owner por tipo." + }, + "reason": "A plataforma gera muitos artefatos; falta decisao gerencial sobre quais sao oficiais para administrador, equipe, cliente e usuario.", + "status": "planejada", + "title": "Definir modelo oficial de relatorio humano", + "validations": [] + }, + { + "affected_paths": [], + "expected_result": "Politica de UI com sourceEndpoint, sourceToolId, sourcePayloadHash e sourceRecordsHash obrigatorios.", + "object_scope": "UI Platform, MCP admin_ui, rulebook e relatórios humanos.", + "order_id": "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:06+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela.md", + "platform_hint": "ui", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Governar a UI Platform como renderizadora de contratos MCP, sem fonte operacional paralela.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- UI nao cria verdade propria;\n- divergencia GPT/painel vira blocker.", + "finalidade-da-ordem-de-servico": "Governar a UI Platform como renderizadora de contratos MCP, sem fonte operacional paralela.", + "identificacao": "- order_id: `0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `alta`", + "motivo-da-criacao-da-ordem-de-servico": "O rulebook reforca sameSource, mas a governanca precisa impedir bifurcacao entre painel visual e GPT.", + "objeto-da-ordem-de-servico": "UI Platform, MCP admin_ui, rulebook e relatórios humanos.", + "ordem-de-servico-0031-gerencial-governar-ui-como-renderizador-sem-fonte-paralela": "", + "resultado-esperado-da-execucao": "Politica de UI com sourceEndpoint, sourceToolId, sourcePayloadHash e sourceRecordsHash obrigatorios." + }, + "reason": "O rulebook reforca sameSource, mas a governanca precisa impedir bifurcacao entre painel visual e GPT.", + "status": "planejada", + "title": "Governar ui como renderizador sem fonte paralela", + "validations": [] + }, + { + "affected_paths": [], + "expected_result": "Rulebook aceito, versionado ou ajustado; criterios de exclusao de regra duplicada definidos.", + "object_scope": "`src/mais_humana/generated_human_rulebook.py`, JSON compacto, Markdown e CSV do rulebook.", + "order_id": "0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana", + "order_type": "gerencial", + "parsed_at": "2026-04-30T11:35:07+00:00", + "path": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana\\orders\\gerenciais\\0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana.md", + "platform_hint": "ecosystem", + "priority": "media", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Homologar o rulebook humano-operacional como contrato de maturidade humana da plataforma.", + "raw_headings": { + "__root__": "", + "criterio-de-pronto": "- rulebook homologado;\n- politica de versionamento definida.", + "finalidade-da-ordem-de-servico": "Homologar o rulebook humano-operacional como contrato de maturidade humana da plataforma.", + "identificacao": "- order_id: `0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana`\n- tipo: `gerencial`\n- project_id: `tudo-para-ia-mais-humana`\n- repo_name: `tudo-para-ia-mais-humana`\n- status: `planejada`\n- prioridade: `media`", + "motivo-da-criacao-da-ordem-de-servico": "A rodada produziu 582 regras de controle; elas precisam de aceite gerencial para orientar proximas OS.", + "objeto-da-ordem-de-servico": "`src/mais_humana/generated_human_rulebook.py`, JSON compacto, Markdown e CSV do rulebook.", + "ordem-de-servico-0032-gerencial-homologar-rulebook-como-contrato-de-maturidade-humana": "", + "resultado-esperado-da-execucao": "Rulebook aceito, versionado ou ajustado; criterios de exclusao de regra duplicada definidos." + }, + "reason": "A rodada produziu 582 regras de controle; elas precisam de aceite gerencial para orientar proximas OS.", + "status": "planejada", + "title": "Homologar rulebook como contrato de maturidade humana", + "validations": [] } ], - "partial_count": 17, + "partial_count": 22, "project_id": "tudo-para-ia-mais-humana", - "round_id": "mais-humana-lifecycle-a265b84126" + "round_id": "mais-humana-lifecycle-772ff09556" } \ No newline at end of file diff --git a/dados/mcp-admin-ui-same-source-validation.json b/dados/mcp-admin-ui-same-source-validation.json new file mode 100644 index 0000000..3b9be65 --- /dev/null +++ b/dados/mcp-admin-ui-same-source-validation.json @@ -0,0 +1,489 @@ +{ + "allSameSource": true, + "generatedAt": "2026-04-30T11:35:08+00:00", + "providerId": "mais_humana", + "toolId": "mais_humana.admin_ui.same_source", + "validatedCount": 40, + "validations": [ + { + "auditId": "audit-002046ffacc6b0e2a0b9efc9", + "contractId": "business.billing.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "92af5159623491d6b9673902d3d51d27d8b90d8608db76c9153688e71e69bfd5", + "humanNextAction": "validar same-source da tela billing em business", + "panelPayloadHash": "92af5159623491d6b9673902d3d51d27d8b90d8608db76c9153688e71e69bfd5", + "panelReady": true, + "platformId": "business", + "sameSource": true, + "traceId": "trace-40c9006f2adf5d7759e9a62f" + }, + { + "auditId": "audit-21d7da93042d1915c3c0b679", + "contractId": "business.checkout.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "01fc84aeb3d2a0bf843cdfd8fab148a54c780e058b54919af68cf62e882ef6bf", + "humanNextAction": "validar same-source da tela checkout em business", + "panelPayloadHash": "01fc84aeb3d2a0bf843cdfd8fab148a54c780e058b54919af68cf62e882ef6bf", + "panelReady": true, + "platformId": "business", + "sameSource": true, + "traceId": "trace-944eb00e3c3b45c41b78f08e" + }, + { + "auditId": "audit-1e48745608947787d1498e37", + "contractId": "business.commercial-readiness.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "06f9a92223a5680d03c3c6c1995700ec4c5d040d2e2f05bfd4917382bfa04210", + "humanNextAction": "validar same-source da tela commercial-readiness em business", + "panelPayloadHash": "06f9a92223a5680d03c3c6c1995700ec4c5d040d2e2f05bfd4917382bfa04210", + "panelReady": true, + "platformId": "business", + "sameSource": true, + "traceId": "trace-8221accfda361b02ba948b59" + }, + { + "auditId": "audit-2f02ede2079041caa0fb4148", + "contractId": "business.consumption.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "e09a216776ab4cc917999a0d1814553007d86b9086212c9e76fbf53ae4d8f6b2", + "humanNextAction": "validar same-source da tela consumption em business", + "panelPayloadHash": "e09a216776ab4cc917999a0d1814553007d86b9086212c9e76fbf53ae4d8f6b2", + "panelReady": true, + "platformId": "business", + "sameSource": true, + "traceId": "trace-522326e8d5e5c3896590ce68" + }, + { + "auditId": "audit-d45f5085316699750adc15ac", + "contractId": "business.entitlements.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "7cb86700c22e1c1cbb6243157f8759889416083004240ead7d3d641c19b58e4c", + "humanNextAction": "validar same-source da tela entitlements em business", + "panelPayloadHash": "7cb86700c22e1c1cbb6243157f8759889416083004240ead7d3d641c19b58e4c", + "panelReady": true, + "platformId": "business", + "sameSource": true, + "traceId": "trace-cc552b25bb0aedc336e057ab" + }, + { + "auditId": "audit-81dbb5267dbe74ae61ee50ef", + "contractId": "compliance.audit.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "e9d49d6dc6b3850f097a40ce9c6a8cbb4f5a94615a1cf8f87b80690fd1360230", + "humanNextAction": "validar same-source da tela audit em compliance", + "panelPayloadHash": "e9d49d6dc6b3850f097a40ce9c6a8cbb4f5a94615a1cf8f87b80690fd1360230", + "panelReady": true, + "platformId": "compliance", + "sameSource": true, + "traceId": "trace-95a89c1cad553ef8e077298c" + }, + { + "auditId": "audit-6a9af3986bba946386da6a86", + "contractId": "compliance.consent.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "3370414f2bae6ff3974c3ef436f70d04f0033900899cb4dccedaf5a89da46231", + "humanNextAction": "validar same-source da tela consent em compliance", + "panelPayloadHash": "3370414f2bae6ff3974c3ef436f70d04f0033900899cb4dccedaf5a89da46231", + "panelReady": true, + "platformId": "compliance", + "sameSource": true, + "traceId": "trace-af7d26a45d75d573afd5b832" + }, + { + "auditId": "audit-8b1075ec606d0a36f445de86", + "contractId": "compliance.privacy.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "4d84326a5d49a5ce7412808d793e30723d3fb769b6bf8812bafd7b70f2f69687", + "humanNextAction": "validar same-source da tela privacy em compliance", + "panelPayloadHash": "4d84326a5d49a5ce7412808d793e30723d3fb769b6bf8812bafd7b70f2f69687", + "panelReady": true, + "platformId": "compliance", + "sameSource": true, + "traceId": "trace-52c9b25c7b7f1217aa78a5aa" + }, + { + "auditId": "audit-edccea61255f0359e2f2f3bb", + "contractId": "compliance.retention.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "c6591f742d04a1c13b2a9ba2e0725589451299f1d6ab499b4cd8a326cf3266bd", + "humanNextAction": "validar same-source da tela retention em compliance", + "panelPayloadHash": "c6591f742d04a1c13b2a9ba2e0725589451299f1d6ab499b4cd8a326cf3266bd", + "panelReady": true, + "platformId": "compliance", + "sameSource": true, + "traceId": "trace-67bf96f32954e756c8dc4fd0" + }, + { + "auditId": "audit-7bfeea7ed4a7eec26bb82eb1", + "contractId": "compliance.risk.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "d49b18b299dda84dd5a546b0c9b91896643c257371b493bbbfb51529e02f5deb", + "humanNextAction": "validar same-source da tela risk em compliance", + "panelPayloadHash": "d49b18b299dda84dd5a546b0c9b91896643c257371b493bbbfb51529e02f5deb", + "panelReady": true, + "platformId": "compliance", + "sameSource": true, + "traceId": "trace-7b5e9f17115a6df1b1d96704" + }, + { + "auditId": "audit-9a97abceb31e8b8142456bc7", + "contractId": "customer_ops.customer-status.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "321d9db0b440b0b3f6a3614c43e5ec0edb03ffa404cbb9e4f1edb0b1efc3ce35", + "humanNextAction": "validar same-source da tela customer-status em customer_ops", + "panelPayloadHash": "321d9db0b440b0b3f6a3614c43e5ec0edb03ffa404cbb9e4f1edb0b1efc3ce35", + "panelReady": true, + "platformId": "customer_ops", + "sameSource": true, + "traceId": "trace-b296584a5cf050eb7a1869fc" + }, + { + "auditId": "audit-616788562999afcffd0f9a9f", + "contractId": "customer_ops.diagnostics.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "d059451a887792834989a69784adc5601eacd9b5d3a9f4688edf3ddeaac3db11", + "humanNextAction": "validar same-source da tela diagnostics em customer_ops", + "panelPayloadHash": "d059451a887792834989a69784adc5601eacd9b5d3a9f4688edf3ddeaac3db11", + "panelReady": true, + "platformId": "customer_ops", + "sameSource": true, + "traceId": "trace-305c01f0e0c52933838548e7" + }, + { + "auditId": "audit-f015b1f71d6139c6577eda63", + "contractId": "customer_ops.handoffs.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "e0a729fa6147d9a98d2afa5a99bb01b0fe0383e392110a21188f027e904b5baa", + "humanNextAction": "validar same-source da tela handoffs em customer_ops", + "panelPayloadHash": "e0a729fa6147d9a98d2afa5a99bb01b0fe0383e392110a21188f027e904b5baa", + "panelReady": true, + "platformId": "customer_ops", + "sameSource": true, + "traceId": "trace-79f628e0da40f08e64fdb68a" + }, + { + "auditId": "audit-1466d0fd752779a78e468a92", + "contractId": "customer_ops.incidents.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "440009a3cc195ccc7a426661b673ce3d206682feef7ca807ee2468a0970fce96", + "humanNextAction": "validar same-source da tela incidents em customer_ops", + "panelPayloadHash": "440009a3cc195ccc7a426661b673ce3d206682feef7ca807ee2468a0970fce96", + "panelReady": true, + "platformId": "customer_ops", + "sameSource": true, + "traceId": "trace-40fd239ff5cbba8e23d96bda" + }, + { + "auditId": "audit-e1679260202e5e73aff7d249", + "contractId": "customer_ops.tickets.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "009dd918289cd98b04ab9e9594ec03dee86b40ecba23f57c7c32944d3df44ca9", + "humanNextAction": "validar same-source da tela tickets em customer_ops", + "panelPayloadHash": "009dd918289cd98b04ab9e9594ec03dee86b40ecba23f57c7c32944d3df44ca9", + "panelReady": true, + "platformId": "customer_ops", + "sameSource": true, + "traceId": "trace-1074db5f0921b418c5e4a691" + }, + { + "auditId": "audit-c2753b2533ae7ad688f37da1", + "contractId": "docs.canonical-docs.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "6c53494d59cddbceeda36f77154844a3fbe78d511b775db80fda3c64980fcddc", + "humanNextAction": "validar same-source da tela canonical-docs em docs", + "panelPayloadHash": "6c53494d59cddbceeda36f77154844a3fbe78d511b775db80fda3c64980fcddc", + "panelReady": true, + "platformId": "docs", + "sameSource": true, + "traceId": "trace-fb4aa2cf0224bae7a95cba3a" + }, + { + "auditId": "audit-30401592417b7876ee4e9ee0", + "contractId": "docs.contracts.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "cf3128b5e0bb6a7469620e7b81cff973055f7e67a53d82f3d5a9cf6f09206ba3", + "humanNextAction": "validar same-source da tela contracts em docs", + "panelPayloadHash": "cf3128b5e0bb6a7469620e7b81cff973055f7e67a53d82f3d5a9cf6f09206ba3", + "panelReady": true, + "platformId": "docs", + "sameSource": true, + "traceId": "trace-d68ce4cd38b884bcc2b2b0d2" + }, + { + "auditId": "audit-54e46a2bfdba2770d476e7de", + "contractId": "docs.help.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "b5d946ba9ea25c0fc1a9ccc5c0e8c89f22327b8e4f3a3c14eb8631a97d3a8438", + "humanNextAction": "validar same-source da tela help em docs", + "panelPayloadHash": "b5d946ba9ea25c0fc1a9ccc5c0e8c89f22327b8e4f3a3c14eb8631a97d3a8438", + "panelReady": true, + "platformId": "docs", + "sameSource": true, + "traceId": "trace-b242c83eef48d063c28fc180" + }, + { + "auditId": "audit-78c622670544276e5d0105ff", + "contractId": "docs.proofs.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "55db149d5cccd0305f7a6d118b9f995f80c24299e7e985cee23a4164ca3a28ab", + "humanNextAction": "validar same-source da tela proofs em docs", + "panelPayloadHash": "55db149d5cccd0305f7a6d118b9f995f80c24299e7e985cee23a4164ca3a28ab", + "panelReady": true, + "platformId": "docs", + "sameSource": true, + "traceId": "trace-6c81f91dc2e3d599dc478e20" + }, + { + "auditId": "audit-2791c6e726acb70915ad1728", + "contractId": "docs.runbooks.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "ffbabaa276c157af028b904c9d928b1aa620fcd08753fd64139b572b8ea3ff97", + "humanNextAction": "validar same-source da tela runbooks em docs", + "panelPayloadHash": "ffbabaa276c157af028b904c9d928b1aa620fcd08753fd64139b572b8ea3ff97", + "panelReady": true, + "platformId": "docs", + "sameSource": true, + "traceId": "trace-13f7ca150a8e60faccdf7a73" + }, + { + "auditId": "audit-addcb1126ba788a5cc495319", + "contractId": "finance.cost.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "e1b9976ce3f8debbeee661842dd62494de9f25c2b94e5d681be8b8f904ccc84f", + "humanNextAction": "validar same-source da tela cost em finance", + "panelPayloadHash": "e1b9976ce3f8debbeee661842dd62494de9f25c2b94e5d681be8b8f904ccc84f", + "panelReady": true, + "platformId": "finance", + "sameSource": true, + "traceId": "trace-7959dd100d7c881b94017752" + }, + { + "auditId": "audit-2a7f1a078a7ecd2e6bfef203", + "contractId": "finance.invoices.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "39d989fc40b699faf7c9b8e0abb3e85934cb807baa94fc8eb97afb95312ac003", + "humanNextAction": "validar same-source da tela invoices em finance", + "panelPayloadHash": "39d989fc40b699faf7c9b8e0abb3e85934cb807baa94fc8eb97afb95312ac003", + "panelReady": true, + "platformId": "finance", + "sameSource": true, + "traceId": "trace-9be4fe9ece8b4b1cf729edc8" + }, + { + "auditId": "audit-09584edd15fdd55b4edb7544", + "contractId": "finance.quota.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "4153c289432c58f5a6a57391a2294d74b9fa46bbba47c0c25123441d0f1f0a25", + "humanNextAction": "validar same-source da tela quota em finance", + "panelPayloadHash": "4153c289432c58f5a6a57391a2294d74b9fa46bbba47c0c25123441d0f1f0a25", + "panelReady": true, + "platformId": "finance", + "sameSource": true, + "traceId": "trace-93f2325c81ed2b46f19d66ce" + }, + { + "auditId": "audit-58b5b76e7fb20048c1584c08", + "contractId": "finance.reconciliation.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "f324e9ebb211330d4191b59c74e22d9f9bd86cfbb4253e965bb9b28f23ed9637", + "humanNextAction": "validar same-source da tela reconciliation em finance", + "panelPayloadHash": "f324e9ebb211330d4191b59c74e22d9f9bd86cfbb4253e965bb9b28f23ed9637", + "panelReady": true, + "platformId": "finance", + "sameSource": true, + "traceId": "trace-62dd63b632e5c52d0e0eba38" + }, + { + "auditId": "audit-2f509451aeeb8c2249a8920d", + "contractId": "finance.usage.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "793fc9544cfb8edbc84ccf324f5ed1c25fe9a80714de36560b393f47eed70271", + "humanNextAction": "validar same-source da tela usage em finance", + "panelPayloadHash": "793fc9544cfb8edbc84ccf324f5ed1c25fe9a80714de36560b393f47eed70271", + "panelReady": true, + "platformId": "finance", + "sameSource": true, + "traceId": "trace-2a9b5940897f46affc569052" + }, + { + "auditId": "audit-c4d4fe1c89b29b201edb3799", + "contractId": "gettys.admin-screen.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "6bb337da6f279f0f338a7232861553c2a0a33e0ad99dcbf4725263646cace566", + "humanNextAction": "validar same-source da tela admin-screen em gettys", + "panelPayloadHash": "6bb337da6f279f0f338a7232861553c2a0a33e0ad99dcbf4725263646cace566", + "panelReady": true, + "platformId": "gettys", + "sameSource": true, + "traceId": "trace-7eb235333b588e49fb51feb7" + }, + { + "auditId": "audit-98584f2def23bc746e64d010", + "contractId": "gettys.gettys-overview.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "c0f200028de4a7ae782f535c9be02897b74d1470b7d63bf9d73c49649e4a8ca0", + "humanNextAction": "validar same-source da tela gettys-overview em gettys", + "panelPayloadHash": "c0f200028de4a7ae782f535c9be02897b74d1470b7d63bf9d73c49649e4a8ca0", + "panelReady": true, + "platformId": "gettys", + "sameSource": true, + "traceId": "trace-87168abb5c67d2f89b95fad0" + }, + { + "auditId": "audit-7570206c9c34d4ebe543fb5d", + "contractId": "gettys.health.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "4ae21043454799dc872d7d353d384eddc083953c161404a8c7b8a2bc945627fa", + "humanNextAction": "validar same-source da tela health em gettys", + "panelPayloadHash": "4ae21043454799dc872d7d353d384eddc083953c161404a8c7b8a2bc945627fa", + "panelReady": true, + "platformId": "gettys", + "sameSource": true, + "traceId": "trace-1369fb91d1991b019c6f2f4a" + }, + { + "auditId": "audit-5c1219dd7d8f3fecf5757b1a", + "contractId": "gettys.product-readiness.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "5ecc5fea3ea27c4d2f0d79ffa30a47f997ed1f1bc0bb3c3412267d4b5ad6218b", + "humanNextAction": "validar same-source da tela product-readiness em gettys", + "panelPayloadHash": "5ecc5fea3ea27c4d2f0d79ffa30a47f997ed1f1bc0bb3c3412267d4b5ad6218b", + "panelReady": true, + "platformId": "gettys", + "sameSource": true, + "traceId": "trace-d856d4e75172616ef69cdfdf" + }, + { + "auditId": "audit-10c73df06b1b3dc4d1434107", + "contractId": "identity.audit.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "f53a94a9ba89835714ad9cf3040858905028226c74b42dd1bc2c26130361a151", + "humanNextAction": "validar same-source da tela audit em identity", + "panelPayloadHash": "f53a94a9ba89835714ad9cf3040858905028226c74b42dd1bc2c26130361a151", + "panelReady": true, + "platformId": "identity", + "sameSource": true, + "traceId": "trace-bf416644920649c9aef48c30" + }, + { + "auditId": "audit-638a3d5eaa84d1295a907555", + "contractId": "identity.contracts.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "40a3453ee59282aa6a6f505f376e0803b3e9afe00220ede678f320c8b52a421e", + "humanNextAction": "validar same-source da tela contracts em identity", + "panelPayloadHash": "40a3453ee59282aa6a6f505f376e0803b3e9afe00220ede678f320c8b52a421e", + "panelReady": true, + "platformId": "identity", + "sameSource": true, + "traceId": "trace-383739b2f8472fc4f97ceef5" + }, + { + "auditId": "audit-9e10ebbe7dba736c2ca79431", + "contractId": "identity.incidents.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "364be62132773f7dff03f44c5f57f2894c03f6bd11a275774eba171e4766b96b", + "humanNextAction": "validar same-source da tela incidents em identity", + "panelPayloadHash": "364be62132773f7dff03f44c5f57f2894c03f6bd11a275774eba171e4766b96b", + "panelReady": true, + "platformId": "identity", + "sameSource": true, + "traceId": "trace-33b11a5ad029925e5cfe77b2" + }, + { + "auditId": "audit-adbffea1bb95a4e9f8dc3fe7", + "contractId": "identity.organizations.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "84c0d2585aef157996e70d3966738d7e63b826e955dab2620848ea1e9f4cbf40", + "humanNextAction": "validar same-source da tela organizations em identity", + "panelPayloadHash": "84c0d2585aef157996e70d3966738d7e63b826e955dab2620848ea1e9f4cbf40", + "panelReady": true, + "platformId": "identity", + "sameSource": true, + "traceId": "trace-b79592009783a24bc145152b" + }, + { + "auditId": "audit-449e3fe457dc025fd33b7ee7", + "contractId": "identity.rbac.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "015070f80980fb819edc54b274937fc11ab4dc5010e9387758ec3a2e05244142", + "humanNextAction": "validar same-source da tela rbac em identity", + "panelPayloadHash": "015070f80980fb819edc54b274937fc11ab4dc5010e9387758ec3a2e05244142", + "panelReady": true, + "platformId": "identity", + "sameSource": true, + "traceId": "trace-d61c4db113c6db438ea3e905" + }, + { + "auditId": "audit-996d2869e33df5d7aa96e24e", + "contractId": "identity.sessions.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "b8e89eff519284c92d38db908fc0c742083f3bbfcada7af07638197c9b1132b2", + "humanNextAction": "validar same-source da tela sessions em identity", + "panelPayloadHash": "b8e89eff519284c92d38db908fc0c742083f3bbfcada7af07638197c9b1132b2", + "panelReady": true, + "platformId": "identity", + "sameSource": true, + "traceId": "trace-c57b8c9b82b9316bb4ce15a5" + }, + { + "auditId": "audit-b2545992e45f9486b7adac4a", + "contractId": "integracoes.byok.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "55abe3d033e01be7fbcd28bbf4db09b654d1b08c4d600e3eab4caf5ae41dd12b", + "humanNextAction": "validar same-source da tela BYOK em integracoes", + "panelPayloadHash": "55abe3d033e01be7fbcd28bbf4db09b654d1b08c4d600e3eab4caf5ae41dd12b", + "panelReady": true, + "platformId": "integracoes", + "sameSource": true, + "traceId": "trace-fc0689be7a2727e8593ea5f1" + }, + { + "auditId": "audit-a2196cdedd0231433c4eeead", + "contractId": "integracoes.credentials.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "dffa7bb0960a287a4a3c745defb3b1573cd219232d702064f281f4f87a3dcfee", + "humanNextAction": "validar same-source da tela credentials em integracoes", + "panelPayloadHash": "dffa7bb0960a287a4a3c745defb3b1573cd219232d702064f281f4f87a3dcfee", + "panelReady": true, + "platformId": "integracoes", + "sameSource": true, + "traceId": "trace-a2a4355ced9fb35e8b2f0a91" + }, + { + "auditId": "audit-c381d306a364a09a0d0c6608", + "contractId": "integracoes.products.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "8e720c4b84c38cb9e8fff6d536a3ef9a405f28f0f99c741cb04c46076bead0b5", + "humanNextAction": "validar same-source da tela products em integracoes", + "panelPayloadHash": "8e720c4b84c38cb9e8fff6d536a3ef9a405f28f0f99c741cb04c46076bead0b5", + "panelReady": true, + "platformId": "integracoes", + "sameSource": true, + "traceId": "trace-a1a202dc6b4ec4d07868389b" + }, + { + "auditId": "audit-315baac93bedfd852d708aa0", + "contractId": "integracoes.providers.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "feaac5f3d7fe55eab5cc62fa6a04edc637d263d5033c221a0fca6680facaeb66", + "humanNextAction": "validar same-source da tela providers em integracoes", + "panelPayloadHash": "feaac5f3d7fe55eab5cc62fa6a04edc637d263d5033c221a0fca6680facaeb66", + "panelReady": true, + "platformId": "integracoes", + "sameSource": true, + "traceId": "trace-bf62d19bac8548ff5919ecfd" + }, + { + "auditId": "audit-957724b07eec3d2bbb940aeb", + "contractId": "integracoes.smoke.ui-screen", + "gptExplainable": true, + "gptPayloadHash": "c7fc5b704c48fe794520e1118ccd82b73762fcc9f301ffaf3303204a69baae27", + "humanNextAction": "validar same-source da tela smoke em integracoes", + "panelPayloadHash": "c7fc5b704c48fe794520e1118ccd82b73762fcc9f301ffaf3303204a69baae27", + "panelReady": true, + "platformId": "integracoes", + "sameSource": true, + "traceId": "trace-024cad0980a3a6a75289f9ca" + } + ] +} \ No newline at end of file diff --git a/dados/mcp-contratos-humanos.json b/dados/mcp-contratos-humanos.json new file mode 100644 index 0000000..6f50667 --- /dev/null +++ b/dados/mcp-contratos-humanos.json @@ -0,0 +1,15528 @@ +{ + "blockers": [ + "truthState bloqueado", + "catalogOnly ainda nao formalizado como excecao", + "renome canonico depende de autorizacao institucional e janela segura" + ], + "canonical_project_id": "tudo-para-ia-mais-humana-plataform", + "contracts_count": 560, + "control_plane_id": "tudo-para-ia-mcps-internos-plataform", + "coverage": [ + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e688cbb09d8a2aa59509a29ab347723839c05483c44d828d4a02202e68a4c155", + "source_records_hash": "af2bbd3ca13e16e3e65a1adadd1c428c498866499fe223178f0da95f36e7c266", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.administrador_empresa.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "ceo", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b3ca22e1f15666762d5a20ac3b21cff51a75271cba4e0463aade7c81ad49caad", + "source_records_hash": "bbdaaf0e123d09a3517217222ab672819697c8eb451307c8b758fc016bd85601", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.ceo.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c7d703ee8039723d25f83a821f6043bcf06ba1027b6f9d6d4a354caa48079bc2", + "source_records_hash": "11c87d9d68cc2474dbfaaac55cdc28051e88e74c1a7359ebe84da6a0f21321cb", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.gestor_operacional.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "suporte", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2c64aa9e8678fa23e342d52934ee463a1fdd975244c1801e0c82b9a0d88c6add", + "source_records_hash": "b2ce9ed7aa9f99ad93081c0a0acaed06e19d0683d9516e85088a60d50b5d91d0", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.suporte.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a57b18ba71dbd35047c6bef6b55b7f15ed922a3dd7531f3521925ecdb65a578b", + "source_records_hash": "ee66b1ee468bcc0244bea9d4c1aeaa8fa4d882caa80a634cb4bb8043d69de463", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.atendimento_cliente.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "financeiro", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d368d24880a2a9f659761b48e9f8234664cc7e3eb920fba29ae45e0cf09ff0fd", + "source_records_hash": "ba52cb85a7cb94cd70b6a0407a4c53f9d199a206af1e052b5fe194fd49782fad", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.financeiro.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "contador", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2a29bcd704fac5f8e730f474b000fd097fb119d3152e2a440856dff70014d0c5", + "source_records_hash": "14b1a6ba5dd0aa7aad7498fa780145128c686747fe60d3f45acffc441f63a958", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.contador.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "juridico", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6187d73898cb3061b2c66d430b6b8eeb1a4caf78efe0b29b7b387e08b9f32805", + "source_records_hash": "da8aa99a39162b37169d16397382cfcd3995190f8536cc644f38e02a4922ad20", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.juridico.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "secretaria", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ead35eb1a420ac0a2cd8c22d7ea265f519381abb88de4cdc4204fc1ebb289aea", + "source_records_hash": "1abfa07a9755e6ba091cebf2bbd07bfb7e4ca201efc0dde7d113819fa84b93da", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.secretaria.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "tecnico", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "eba54bcdcb9e77d247709420bfa6dae41c0765e19465c8641b293a1e9343f149", + "source_records_hash": "4e3885ee3b9c8a2a56dd239dc66b6e90ca680db9b5e5408598ff90ed18a5dea4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.tecnico.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "usuario_final", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6a4870992acee34947530c005c58ef917fa55d5b734d98b0d3ce0cc4f2399442", + "source_records_hash": "711b2b330d7e4f6177b70487367ed16ccaff0302b0ab5bf246f61a16919454af", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.usuario_final.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "cliente_externo", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ea13ce29b38ea235dc12077324ac9ca886d4f28b6490d204b0131132cf0d7d1a", + "source_records_hash": "3fa497048404c1f8abb0d93ebb9ef532c93bd7e15e6820805fa2cd92ca52cca4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.cliente_externo.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para business/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f7299c2361291fd08b0abf3b690f3623715b832c0aaa8a42a296c2bba96a2b16", + "source_records_hash": "2dada112b9d82b37657578cc6bfddc05ca8366cdd1a3147399a40b1e5001f1c4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.business.planejamento_estrategico.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6a859028c69914e4674e31a9d69163b27f17c9a664207d1c23806a8a5fba1a4c", + "source_records_hash": "85d83ec5be81680165ab29a1333caf3cb45b276c357395e73e8b24c138149327", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "ceo", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2a4c6f11c3c389eb899b7679cf64cada1577ea42c88ab2a7b0e57561bad93f65", + "source_records_hash": "60e78c5b99d20012df7cf183b9fcb519a96d1a137fa3d2c81e4fb151f4319081", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "045d118ca7a92e2d5c97d9fa6f7407d34c76c96b2673a24e27abfbed5b78e52c", + "source_records_hash": "eec17c1cb6e70314bd866690f0409e231f0263bc4dae2c9c53d82536f6cc4355", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "suporte", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8fff61678b08a6cc4e6e78e33cc245a5a232cee18ca32484b29931a634433942", + "source_records_hash": "bf2e32b622082b93539523a2200b361d7ffcc3294a021d0747a8890f723bc94e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fc5f03202ddb4d05e7e87d13cb252110f24ef738804cdd8cb071bd9ce5d99606", + "source_records_hash": "2a476c57b9bcffe551ba8208411976d6d0e67acfb5d73245fb6dcb6edb65a28e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "financeiro", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a47c0ac060aee91afcafbbb4dfb419e59d9b3ef824c36ef07f948d9f3ca34950", + "source_records_hash": "f13fa1e3c7720299f14e3fbdc387c4223382833899d2b3a2e98531480cdcc275", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "contador", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e0d78cc11f3b8c756043061ac4bf5c063a7ef3728983b32580713783453e4994", + "source_records_hash": "82921b7cd91e45f13f0c82434c250df3953803a11da1896ef74d502539a4e57d", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "juridico", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8575cbbeb6f835f66353e93a26787139f40d8f4f8d98eb33ab0f938c0ee747ce", + "source_records_hash": "fd72cd371b1fc086465387d06fb38648a065d07edc2d3c81adc5937881e906ec", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "secretaria", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "df51f07075142cfab0de8dc410c333739ae03bb99c569dc9032d4ab39377518e", + "source_records_hash": "5a0b86d71e908689cc7c3e86682d1be54e9743f0d8fb1d302a0f01174ffb3a2b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "tecnico", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "bf71b0e9f7087fc7b658b4a5d8a00054676993eba9066be97a1653e9d30342d7", + "source_records_hash": "cad6b93a70baa6f8710e0ca0d0c61bc30741787cfd5dfb3f3fb41d48f21624fa", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "usuario_final", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a693e8eaed5a20387e014ac9e4cb93f5c1d260163d73a20557e43e737998323c", + "source_records_hash": "7e275ab0fc470233d9ec54bfd4df498cd737a35959748928b5ce8d139ce76dcb", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "cliente_externo", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0f50d2d72ea08460e532c42b2bb846226b5a2d4fc2741dc6211c0c91fd43e1b3", + "source_records_hash": "f516ddef991c7293747bc97110d0ab2449831594f1e1ca5958748e2f4796f40e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para business/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2455487efe6de08db5facf2c99ce161b4b41ad120684726298b640bf3a4033ac", + "source_records_hash": "172c097437885dccec3145b6c42def6524524b8d1a9f8820ddf730935536caf1", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.checkout.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela checkout em business", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "944eb00e3c3b45c41b78f08ee435e9d54e273d352856779d4df752b2db7540d1", + "source_records_hash": "21d7da93042d1915c3c0b6795651fc0b5229ad8f7013e00bc7218ca2d9c3693e", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.billing.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela billing em business", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "40c9006f2adf5d7759e9a62f6d99308aa1a944294957bc5b92706e2bea5c046e", + "source_records_hash": "002046ffacc6b0e2a0b9efc93fed3166489adcfe1eb587e15a790dd8db948bb9", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.entitlements.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela entitlements em business", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cc552b25bb0aedc336e057aba8526d1c1ae66c3e15df237b63865c9b2428b99d", + "source_records_hash": "d45f5085316699750adc15ac00e65d3bb385a07c909e3aca156f5abf2f67ae86", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.consumption.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela consumption em business", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "522326e8d5e5c3896590ce680a8be316471acf5ee2a4564d05982d3e59430e73", + "source_records_hash": "2f02ede2079041caa0fb4148bfa679b4458d42677fd693f22639ac2625c2d67b", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.commercial-readiness.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela commercial-readiness em business", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8221accfda361b02ba948b59465e5f1aa3eb9cd20939177b558c791936191081", + "source_records_hash": "1e48745608947787d1498e3727344ff551e1b13dd5ac8ea608f73b1d67414d6f", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para business", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "19250c93933ac1f0d36e4f29a5f781e58bebd581ce5c5983b293791b52c67fc4", + "source_records_hash": "5b79291ffe378864cb19a13357b0916eb6e759ed8898aade8df99e044fde309e", + "source_tool_id": "mais_humana.transito.consulta", + "status": "blocked", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para business", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "93ee88353075a5ce327c996933a78cce8e400080ceb6c000fe9f19949dd5cab0", + "source_records_hash": "921c020ed6a42f77531f59b043d3fced2abca93137d58dd1dbf75373b4885af9", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "blocked", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para business", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "19d76db924484cfa9c084c1cf51a901f9d3fdbcb276b11a48e00b400131e26b3", + "source_records_hash": "ffded0c47cbabb7c7981f3f9517a3ae08a4a320d6ec8eaa71c52a605afb00092", + "source_tool_id": "mais_humana.transito.acao", + "status": "blocked", + "tool_id": "mais_humana.transito.acao", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para business", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b264e04b69372b521d3be268fbd79bf5b12589a34d9fe7a0642f333bb0f59c8c", + "source_records_hash": "e92dc4e00b86a5796dfec65dc9af74889efc1f10bcfa5b4e58090eed3616e96a", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "blocked", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para business", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0834dcf87d607269fc1010ffddbca71bffa725cc8adabe279b5710c97b060c5c", + "source_records_hash": "faf8b08dee6581f5c9c39d6c91f919b97ec3f8598ceaf11537a9165a11e7db8c", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "blocked", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para business/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "76939d5a6a3aeffc602e57ac1698d70319e692fcc805be4a96cef49fc240ad08", + "source_records_hash": "17876bd30a943c201fe9f41ab9731d104eb2a7df10b3458c52fe5536b3a185fe", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para business/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d2a39cedc71056499c8372e03bbbc605ab836bd2d945c1604b80fcd3471f16d4", + "source_records_hash": "304939f9773ce3f1834fd378c55deebe64eec2133714e8d29ecd9070ec4c721c", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para business/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1f6ef0f3191f796461fd6d1ba6519a61e0463e2e688ccb281f7c7bf193b86446", + "source_records_hash": "6e4983d9467eea6210bca1cd6f7f295baca4f5170989bac6602e0b4f419c83ff", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "business.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para business/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "business", + "profile_id": "todos", + "same_source": false, + "score": 9, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d8adb1eb75d43f058418d40fd533696142004b84ab06e7e123cf3cfd02bf6aac", + "source_records_hash": "b273baadd4ff9671259b17607e9807d5fbc4619239b99f2e2e9757a097410a50", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [], + "contract_id": "compliance.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d5581cb4b2f8e04c4daa1265ad15e4ccab0a3549ea5e2077bb6daf8f166f6692", + "source_records_hash": "9595d19be7346e69f779802a6abf87c812e38166007a562c150edb4c8d0103fc", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "06fc69170da7f478e5f80d852130cb7367f11b05684c59f7cdc42eadcf3bed1b", + "source_records_hash": "c23dc28ae9f07abc933b7f94570008518e6d29ebc6ed38b264c3293251466f0a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b9fa380c81e901887624c2714a4883212f6dd31ab756e739fc3bdbe6bad6754a", + "source_records_hash": "b25d00db27cc64fc6f659844c7727aa96831a82ffd26d356edf1e19ca4faee2f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2112546a673c011349e9f739327ffe7dabac4cc116099444ec5eeb8d6ca5f7cd", + "source_records_hash": "6c3cb1fc7fe128413df15eec51c3369b2bb1223eaee15d564f6bca0573cf10b2", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5ca5cd37aab29c9e3bae9f2caf2a85819d2fb018a97a97d129d3759b1cdf968b", + "source_records_hash": "badad890159eb39e9683ad7fadb764755a5f3fae15cbbccce67fe81bd802d984", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6dbf1baec01ff39cd990645b423ec557626ba549af5726409ab9567d1619872e", + "source_records_hash": "7355c9276cba6b5c4018e25d1b9d40ee0741a07dd37f2bfb64d25153f4d2973f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d00e20d587737d995c4dd4d3146de4b2ca1cb2b187da3ec1622635c766f01c92", + "source_records_hash": "9023e8a93a3bb7b44f17336be24ee58aa68adef813ed5ffc22eb86824d298588", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4c723eb98897fde427635692030af30f5ac51c75256c373536339c73f25c85cd", + "source_records_hash": "7ecc94a422bb94b482879bcc158856b1a61f83ab00219080834b6dc9d225de3c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "60afb1d570ce3fed904af68a1dbf43fd8b54667c2b7180f74fe0a60f1d301f14", + "source_records_hash": "0dca0afce8580e28873147a379d9cac18718b99ec7b48cd46c20e4e444c07bf6", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a18fe84f81b8318b26c421048d1988c321618f2cd6a2042e6468849f4185c6b9", + "source_records_hash": "d88c9babcd7c9eb78143a9c0f19ff54753d69073c9bbd9a3d01578a3f94e10b8", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c81dee2633b502ba4a2549e6ce0e26ea90c1366cfd76a74e96923f94b789561d", + "source_records_hash": "bdd463a68ae24de0adc2bb868de07c56c8cf7884dd8b2fcf63a4d0368d4c9342", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2218a632c4aaa22e24cd6c76edef9777b32ef91a44071fdf140ced78f88ff8a9", + "source_records_hash": "cd14bd2049d2af1b95f65f67dfbb7c6617d5869ad12dd1be99006b838bca9967", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para compliance/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "43d4740235d0c772fcb8a766fe0d5ea60bf35636cae107a26564f4d2b81d2f2f", + "source_records_hash": "2dca5f0eee06702afd7be61c54c551364d023818b54f33d1ac2ee2eb111eee7d", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.compliance.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "68126e7c11c34b5d6b1b881297e7e401947b0b18035724bf6af18aac8b5faa95", + "source_records_hash": "9d8f34d37e1c4c707d72878aef7ce7f6873aa897d291fa215c121a950f693567", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "92fec29d2eba44fcfa6795060b4aae210df860b0f067572987df6d85a8b9dbd0", + "source_records_hash": "b3a637d06b4501ad434dd32d5fb17abe3410b2c166e736ad3d2eb18cb10687aa", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0a60a2cb852b3580703f1748252a349e4ab65e5a5ea030e07d7cbe87bce3068c", + "source_records_hash": "d25ae15ead141cf9d1d504f23a4767993ef6fdf9b5c8e856159ac1bb727547f8", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1a8b59449ce3c6057c124bc1e0b5ba34f183aa5b1302123908b2241780078aee", + "source_records_hash": "6f8b9e4eecda594ea3cbcaebd18a5e4fc67a80b46940127138154a540d685207", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b9fb21561ef6f4c431b474b2b0819351ef7b6c80f94d117a7d80dbcfbbebe5a9", + "source_records_hash": "ba61bde02a1c59b4ac9c6fc64dcb212dc28a537b647769af4caaccfa2db88681", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "444fe3ef69d9143972b2a718f66b126341c594cf47fca369e7e5e6bfe7027a11", + "source_records_hash": "ae8f44327727bda5b1da73b199b8bb412cb5ee2245601bd56048f8952172e201", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b353448ab3f85cc861cac95131192146bcb6fd0b25e16e94bba755a7f6a39d6a", + "source_records_hash": "6ba3f4b22d4d247142f3ba4a0cd68fd06e81f7ee349c86660bdb4e579318f21a", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "96db2cd0fd8fc47324c685fbf434f399386304abbedf556f8842b86a92e1cde3", + "source_records_hash": "e63d3a02777838075fe375a50800081a9c7b41ab73a0a70955822d6ca3a3fe95", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3566a0956463883b49fa2d746cd0177b6b04defc6ec2c0c7999455d2d06ba91c", + "source_records_hash": "65ab0c251e2590062ad29226d0d95f28b006673b217a33e008767dca8e77ef9c", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "217b6a0daa4f6dc6a1d372525fbf3e024bac5bbadb1b081102a6ec91ad9ded22", + "source_records_hash": "a0529bb1f12e1ae22ef899e66553e267cc44634047a2c56e70a69972b53cee53", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ebe64d108a7ecfd34d2087874bb07b0089da522823e62c9a6510a4b2dcd0c8ba", + "source_records_hash": "521b17b0853e846abc4bed4dda6c1a576031aad2d58eb686177e55470e1c8035", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d90ac6d14db6cbb3e47197903bc41916a7c770448042385a4811cb018831062e", + "source_records_hash": "2a834449913db8d41e98e3ee254fecca7abb6909f0f23b9c16c25a4f6fb25572", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para compliance/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0bff039e00cedcf7649ac954e9e48f69f908ec66f2c882618163b67a172824cb", + "source_records_hash": "86ab56f14eb22d4db24fb5bbeef5bf8deff4e7b6af0930c5598ca418fb88ec0a", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.privacy.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela privacy em compliance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "52c9b25c7b7f1217aa78a5aa66b18a10ebb73f9f9af0fee7857b1fd50f143374", + "source_records_hash": "8b1075ec606d0a36f445de86bc7c82def5df5e68bb2d156227ed5dbb3262cae2", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.risk.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela risk em compliance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7b5e9f17115a6df1b1d9670421f93a0ff5364a72ddcfaa41e1fcf03dafe97ee5", + "source_records_hash": "7bfeea7ed4a7eec26bb82eb1090b8ae65e1b7f3b7794e3647ee9c95140c9e559", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.audit.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela audit em compliance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "95a89c1cad553ef8e077298cdd7746a80aa0b99997a9cb6017022b2d146ee04b", + "source_records_hash": "81dbb5267dbe74ae61ee50eff8687e4012ae2f639412b8965cb8f29b548e0177", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.consent.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela consent em compliance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "af7d26a45d75d573afd5b832bf875d54ac50fb38e9eccde29247c93460fd004e", + "source_records_hash": "6a9af3986bba946386da6a860aa4ad1360286cde987a910ccaa251f061002909", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.retention.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela retention em compliance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "67bf96f32954e756c8dc4fd0f757ad4a9cc2be45bc3f2fd26bb1e03be4cf3b47", + "source_records_hash": "edccea61255f0359e2f2f3bbe31d2091fa2219756116243839c79d8e6e0c7853", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para compliance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "55caf793d588e02bc10c25f8c82a6f551ade2b3cef65bbd2f30ef0d8ff026f04", + "source_records_hash": "f1cfaf3e137ebedf9f1018910770fe233f352bd3ab79c6c9852fe532cda2ad4f", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para compliance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "43b9170b0c0f2575f3e28a1a1bfdf26bb990a7eefb16b5d26ac936d5871393df", + "source_records_hash": "b3b4e8eb9dbfcc30c811517e71741ae7a82b13708acb4c9c7d52e163963a8de4", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para compliance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cb62ecab06555e1576a007ff8084e772908f86662f08952efd073717b8899437", + "source_records_hash": "23ebb3ed86c85dda365ee1076d3aae0741bf95bfa4666f4642ee1db729914c23", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para compliance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8ca07fc88a97680c8d33ffe80ec5c8966d5231455bd2d90fcb2801504b8aded5", + "source_records_hash": "12b2531ebd62e9a4f519b4eba84ea9b94ade37c3006009422fc8d7c3e549261d", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para compliance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "67fc0e96200d45da3d82e644e1409ec274080256f52309f37be7f3ca17088f80", + "source_records_hash": "27fd060577ff41d3ac66fb737ee41274f453e0616e2d26fe0514a3b8bad748b7", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para compliance/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "44c216268d2936e7f533dafd8f1d26ee19d2348210be3135fad6efad3367600c", + "source_records_hash": "1e8f970ee9cce238b0ce33d5da75c08ce4ff42a90e5ef4acef3407dc79099383", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para compliance/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a5c560fc4edd9f61c416e2f9505e509ffc1c7643eb3cc80960b75d18f71b60b4", + "source_records_hash": "acb43f555f5bbdf78729be7b7a26f58a45fdaab6b7623a9d576048b16e4c5d4d", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para compliance/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "db3adad75aa37fa117fccf2782b51f4633b46cab1c98a1fdb852879ba5548026", + "source_records_hash": "ed0d6d35fa87a46978ffea9096aae304b5e2eb5f0321c353576fda5a2d25dcef", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "compliance.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para compliance/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "compliance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6b07c0279d30221b578657021952b588d5fcd97a19b4cf48dfe00b723d02f51f", + "source_records_hash": "84324fc647874cc21d0bbf18e08d18b9f6a01b1c8dc5a3471e2eeaa801edd886", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "51c20f63e5f6e59e39a86ece3e38bacb5c3cbb56b9e5c4522c2d874e5c31212c", + "source_records_hash": "28078cc3fb28265fc42fb26ddc92742644554f6f0bd938060d88fb91fb761ca1", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1bb5268fb8af10ec79b6ea347765e942ff0c861bf51556133d3fd964f33b755c", + "source_records_hash": "f2e9ef3545db4d88127d52122e32d40453dc380f37d2219d93f352ee3862ba76", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "da2634ef758c6143455fa96cb12aef267a8969655346adc84c064eadb9621971", + "source_records_hash": "530ee0b71706ec7a221f6de5f810682a756439be5613af0fc6c53027c222e557", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9824db2ea03aee4935dd80aa0ae8088ff81d08ceda88007a5a80a23d7d424bcf", + "source_records_hash": "70d28c81a13df226149eb0c8264d5824beb196b6e4aa5797fc078abc30a96cdc", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e0d58ae5d3ba506918460406717176c1f4fcd61d96e6a0cc9f0b911338fd0f16", + "source_records_hash": "3d7e9b5e11f7e9f1f4e72dc77206afb7c8af588dd4e77b4ced0f4d93f5edbbf4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cca88f3b48ffb380efa46dc0c6645bdb7d9df2ce8064bb9172bc65bd7c888db9", + "source_records_hash": "2f9a04b8c2a94d00d25c9625996a5fec3320018ffec5e46e04791b54f0248058", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7f395f489120f80fb3672314435e69696a6456eca0715c8c76935649bc97f130", + "source_records_hash": "0699aa1170c21fe6111112394cdaae77b5b26f3edae3d174c119191c41cc9c5d", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "99d9c2f70a42272598aaa1959bc7108640fbb922c29b6baf60ee0dde7e680fb0", + "source_records_hash": "03d77db4ac2709abe1c2a9f2faa3053093519638c67107669ffb7ed6dd24e96d", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "db767d9d1c7d8b4361364ee26b7294d9c56174724d04f7d6823676dda3661e84", + "source_records_hash": "9eb97cc44bb66c2fa8f42717d741cc038f923203a847f77a14bcfc21448af241", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e4525dd8a29c0196f61b2804e3dd04665e2b038019b75a187e70e8685664f921", + "source_records_hash": "1cd425551468178d65453129423ba77645ce96a1adb6e1a1749e10bb39099b6a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d0a95416815c4004aa162f6492d0eeac8278aa8fca8270dd31186d735e865cd8", + "source_records_hash": "55279e61ac0860b9b9322c8e982e580aeafc695ef393f90c4727e25bb0a3d4b2", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "35b627f8330a1b586cd1ee27a0fcb2a95af9c0b57c87b53ee444eaa7b95cd0ac", + "source_records_hash": "c93287eaa7a74e8ce1d7ab172c64ed5be8909158f31257bf7ba40e4b5e16989a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para customer_ops/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f4d0441279e4d57ea189866bb9e948d5f8c4ea7dcc92257ad022b17443898b84", + "source_records_hash": "a8a62b448934d0eb649355f27b6c47f7026ccb20030ab6c322e1c19733f507bd", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.customer_ops.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "59ee8a9a0cd2207dbe22163af061bf86f885a9c1e0471679343d472ca31c3e9c", + "source_records_hash": "8dab648bf7a2de22846141f20a2365850d6d68a80534bc76837e6783bfa0a60b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "618bc1a5a9c3c4ffe30b77f6417add6b2e3bdf73a4e3c3f2b63523c95bc7b451", + "source_records_hash": "efb11dd99ef6d54ba8b17f913b9c0449c66ce6d64460d92af4af098d224166c7", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2e6a689b99bd93f4d3cd41c84b36b0d2a3165e7a61a2eee07808d80399387de0", + "source_records_hash": "97ddd6ebdcf6799147b1558e63c593cdce9e4ef7d0579b8019abbf980a32cccb", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a5048a1da20de3b19af3fa0491f5636683d4341576ceb2197ef209e84e2dbe0b", + "source_records_hash": "0500c3e061699f69d33c9b84bcf756624251d96f0d0b908be65eff9e598381d7", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "60d28d9b9a6570efe1eb5942852a9de2892f883494b45a99f49a49c41c6a61c8", + "source_records_hash": "3980d54777c94fd51566f5f275bdba838b422f67dafdc8f1751feafe5fc4afdc", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "34692cbddba72b8bb14b147f20b82d433397af34d73cc8543f735a0c3d8b888e", + "source_records_hash": "d7db0819d0a3936056fa866848a8c034bbc67a530c152013ab680397513ded90", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f4cf247576f06e7eb6eab1f62b5ee0b3ef455d220d7af332a841111e6e0f3d65", + "source_records_hash": "148f92491cabdf89931ad1631f399f3b81497ee62f48a6bca7ee4414b7a17ccd", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "88ac64028154c96c48c78d58d22a38fe2bcb8caa415da9de8855327681c46bc9", + "source_records_hash": "14050a217e11ef4721773b06dd3dfd20264a4c0e4f8f98b81266be7b5919544e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7f6af16648e5d4b3c4682ad5df32075421df7f374b09b4089eae86e2a2e20356", + "source_records_hash": "3f09cf8d497976448745fef44db34254801bc7e566d0642628c82738660be0c9", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "03f63351cf92532cadb9d9ca41d20ae805ade240fab7298ed4acc81497d6c366", + "source_records_hash": "fb8ba8936276a9138eef0ffa039ab0cb956d2f038d7dd3d9461e419c55629375", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "af2fd95c65ce657612830f5a975450dabc15f9c9ae1d525d219ee37d4e2e2a15", + "source_records_hash": "4cb817954b4c6e85b3cc5351e27e383f2522e36e90e22bef62c3443ae794a205", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a4fdb07e2b463abd0ad07a545bef1e2a0f372a1a554bbb4a166079aaf36a902d", + "source_records_hash": "ae0276188e63d66c06cd4a6f2cd2e60986f17a5e98f2583b05a6837648f03187", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para customer_ops/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8f19094de9fb48fefbd599fc5af81e4f05cd95958834869958cf43cdf030961c", + "source_records_hash": "5735a4813f000a3c683697caa7bf29e13f6ed5c6e1983992a748d6c654493419", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.tickets.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela tickets em customer_ops", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1074db5f0921b418c5e4a6913f1baea3cb8dfca1ef0d8abfbce53d8a8cbf9235", + "source_records_hash": "e1679260202e5e73aff7d249794260535cf84dc9824385f9920bbf0cbdebb066", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.incidents.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela incidents em customer_ops", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "40fd239ff5cbba8e23d96bdac437bc4ab2c1e74a6cd35fcc514b91dbea866fe7", + "source_records_hash": "1466d0fd752779a78e468a92fa396afb07972f4e0d48aa11f589db9b600c6ce9", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.diagnostics.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela diagnostics em customer_ops", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "305c01f0e0c52933838548e7d8b060bb102f79d98c358b183136d504f6e7c41b", + "source_records_hash": "616788562999afcffd0f9a9f26579fd71d3bdc55dffe5d9123e7d004670aac17", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.customer-status.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela customer-status em customer_ops", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b296584a5cf050eb7a1869fc1087ecf6eb590618c4751826af66431e31ac88c0", + "source_records_hash": "9a97abceb31e8b8142456bc7ad42ed35f63eb98f50432338f8a577e3b52d4270", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.handoffs.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela handoffs em customer_ops", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "79f628e0da40f08e64fdb68ab45debe389cace4b70d6f1345e61056282d139cf", + "source_records_hash": "f015b1f71d6139c6577eda632ede617088c0f6c5ade06e6f16441aeac0321fd0", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para customer_ops", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "199f3287f8b1723bc288f05cfb62bd3a287aac63bb31d288023d6d54de47724e", + "source_records_hash": "beb669b2d8e9fb914838ee041fae40c933d9762e821fdd141eafc6234d459a69", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para customer_ops", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b63cc7772d2563fb0beb2279382a524fdf89b6aeaf588136001b006c8f6ee7cf", + "source_records_hash": "65a59e756132a75122991488b091e1759fd9d1a2b584d0456d2eb73e72a0efb9", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para customer_ops", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "30cfb58bb16368998d6120c4691648593b199ca43561e714213c6203da46b711", + "source_records_hash": "735734795c88c01dc8ba1b6612dc4499312d4a21c745224e6224249f806695d9", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para customer_ops", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4d27c0a98657346964731eed7aab6a294b5388d08016f5e8a9002c436e3fa3d2", + "source_records_hash": "5a6486d67b841b90b2aee79d7127caaa668d08c24a6d472eab910e28a7f14266", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para customer_ops", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4951babb0d4bf642546f1596a08b73b42ad5d6d3a8b68100dd4d8103e2b19a95", + "source_records_hash": "305b08f600197112201a6d647b43d9f2fdc4cd4a40c9be9caca1c6daf880e81d", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para customer_ops/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1ecf7f79ada21a54307e1d946369621ab3e7de4cc4e995ce6c8b84be855bb9b4", + "source_records_hash": "a6a82e24402acdf10afd0d159cc677f1cdd64361f38bf5e98c1936e825f81295", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para customer_ops/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4294d40231ffbb339c589b3abcff2971d9793d62a29d2298abff92b9bb91b9ed", + "source_records_hash": "5c0d2046bd4594763181a159a64334d7436e394492ea658a6cfc4ed6c209d849", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para customer_ops/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6f46e82ccfea22d0b184c3de0f26bc9dc8f4e85e5527c5c66216af1f521772f1", + "source_records_hash": "94085b3c2300d160248caebbda33e4c3ce1bd44d2eee97fcee4edabb1b667316", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "customer_ops.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para customer_ops/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "customer_ops", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "944fb7f6c323a86923fd61623f10222a1e2df26109f10fc6e722eb71b9098296", + "source_records_hash": "980ad8f50ae85fdddc8b60731ed23661ce17987a56362261af01fc1194854fe4", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f381a4e38f300d518b8315902ef6b0a9908645d314358d9e8e623712fc08bf01", + "source_records_hash": "fee66aed2081803c5bd8e313ee18f1ae6148ca7c747ee9bce76e634ae52c7823", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.administrador_empresa.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "ceo", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "83bc5d8a54fd906b0170256910c4d28c9709e180396896f9eec4dbc4e974b7b9", + "source_records_hash": "0846a9358ce9201824250cec3ea71386445e6a110029034de09cbef7f8642b77", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.ceo.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5b37ac519d7ef726865c886ad588748a8998c66dc9c1be396681abb150ae8058", + "source_records_hash": "564cb5d77809c2b91bf1a1a1a558098a50e3f458327f41937383ac8e52648507", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.gestor_operacional.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "suporte", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b9328b6bb08336abb13f28861bce8c93e6b754ccea15c4a4a6413c32d9f76d38", + "source_records_hash": "2baae45f3c4eb36626a464197d9343b004b570d2dc37334a062246ac03a6e798", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.suporte.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "172464972bee0afa438521a45d5ac62b0188f6d7849b19f472d409679846c9ec", + "source_records_hash": "fae803908bb33c28b9bb9125874c2ec0253f82349b8ddd04c925df5eb7a7061c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.atendimento_cliente.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "financeiro", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b3e3f41da2ddfb71cafecb65ab9995b9916cc96e3dea48b4261da60a77ab275c", + "source_records_hash": "3876ff668f2e1a615dbe93986c919ea8de1eb97072ba719cdf45f84d35f48aa3", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.financeiro.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "contador", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "36b154e53739067173f4811ee2a0aa7e11d5e57ba29a8ca941687e90ec7eb7ca", + "source_records_hash": "0a4ec9169ea107f559c7fbb2b344c37349bcd22687464b23d4342739708c4145", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.contador.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "juridico", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "00dd291b7d4a22d02348439091c9f0bfc20db4d7924367228ee4a9e21989d4d1", + "source_records_hash": "45d7a1427828f14d9edd12976ccd9b08efc773921e6da6e5514b7dd717416196", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.juridico.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "secretaria", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "790c1e1379f2db08d59844729d8f4cc488dcbd41e08f39c39946dedeb900e35a", + "source_records_hash": "e954eb65c4d0a96b9323984ce980a07cde2740a6270f1f0cb50bb83df1b00528", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.secretaria.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "tecnico", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c248136221599717ef1a16e962001420dfcb635ba3192934a2f85573a7467175", + "source_records_hash": "e518ea8c6b9f8415e3e7d88ad1488430c03da505df071618681d007a05ceb3ff", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.tecnico.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "usuario_final", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0ec9ead827b6d3ce624d45ff3c4e984a42796d7311de1b518295d8a1178cfad0", + "source_records_hash": "ec1a3dc2d5b813f6e105d3acde9564c3c1a227e2537c8b484dbf40c41ab46d03", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.usuario_final.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "cliente_externo", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7ada48e718d6cb5f82f25a9bc7976bc12031987bd1bb8539bff74bb1ee2d68fc", + "source_records_hash": "cc3d4834015a8e75fa47ba94bf57dd695c5888179af91e755806cf7929ab73b8", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.cliente_externo.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para docs/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3581d97a23d1d32fed87ad6cd39990500e9902a030832b4710816e9c85091a80", + "source_records_hash": "7b65a3a1a62f7adda90b264dcd35022c377f944eedfc3fd0c5bf185a70f3e043", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.docs.planejamento_estrategico.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "80cfd73f4d9fb9a80a36028156ee434f58b3c819ac36847d31804ae6f6839ab4", + "source_records_hash": "e080a05a4637001c1555f544a848fa0c5b01951c16d10efeaef5c74e9ea5d770", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "ceo", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4d5aa52da15d693ee819366ac6c9d84cc579127868fcc418cc069c3c703d4f87", + "source_records_hash": "0834ae42b5141914833c6c1a4eca5321543ad44f4820804f42935ea1eb4cbe1a", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9c37ceb03d881aa7089dfa72f643132ac5d6cf5b2eb84b829b2f2978150c24b5", + "source_records_hash": "9007715cc6093d8f65b48898234c1be49d81c679896cc499d1a85795defd12f4", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "suporte", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "604836d52b2f67de9581971f01769ecdf902ce1c915cac19a3a4cfc95f9827dd", + "source_records_hash": "78038f3bf1498a8b5013a876873f519663388c7ce56000baa0b89c6d3314e8d9", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4b143d312ce6de493bea7a04b00d5f7c80aed325dcb48b67e19fc66d15aa71af", + "source_records_hash": "77f6c2bb0ac0ae52cc76994313cbbca17255347228351eb42c87159356dbf9a5", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "financeiro", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ce78e8b9487ea48ef15e1118b4c3ce8398251059d7caae91b7152040a8abe903", + "source_records_hash": "cdb8f7ccdd85043f447d9f46e00a951e6c7ebbc0db908c51b4c2d5d9604fab20", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "contador", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a4b921443ead6d1e2331bd9c765ab1646fdd23baa471b5bb2477d3d6e68ac666", + "source_records_hash": "3891d17789121ee3163019fc3010f365c29fb0827d5d55f83bc10e02c149c2ad", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "juridico", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "30dce0ec5e85196bac8fcf678fcb983bb2a9325eaefb623abce1af3414f071c6", + "source_records_hash": "e18a21f6e06ac4a276d6eaf96737ffe113652f49030a8a1e38ae8e42995319b7", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "secretaria", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "caca4f64cc412cdc27d60006b750a7dd411092fd24632e36c42cc070f6a54015", + "source_records_hash": "6395dadbfe3d81d634ef24a6e23474d31b8c7aca898d266dcc505cb9f3c53974", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "tecnico", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "438571dba792bdb449f8abf99fc36d497fb2a82a5b96386c59c77c54edf5be53", + "source_records_hash": "9a148bededb2687d19ec887eb077c58c1b143fff1658b7a7c9f5ca7d9c259de8", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "usuario_final", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "78af1c17cd725be5f7bdc1d4efdb43125e70815c48bea6a9426218609c781822", + "source_records_hash": "4537e219c4e668683a228ac588f95806360087925f6a0ae3b885804bee3264ba", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "cliente_externo", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ff2be60b432f1894d60b77f666fbf885720db82a1d9cf4fe80c21ac2ba945633", + "source_records_hash": "ec2a51ed31a966dc176f354a53241b2d5c598aa7453fe8e53d9fccf6cb68b073", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para docs/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c0b855ddf612611ce634c3dd840d930d7fef3223a80379140a96966c38d66b7e", + "source_records_hash": "0e2cf1ea0fc21cce30ec7532470577329f900ea0f4b331a5605aed803da787b5", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.canonical-docs.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela canonical-docs em docs", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fb4aa2cf0224bae7a95cba3a53eb9e6168ef8a9dd8ed5a39d946728e3321a55c", + "source_records_hash": "c2753b2533ae7ad688f37da1e35ec21d449212831bccfc1fcc2c338254372ca0", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.contracts.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela contracts em docs", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d68ce4cd38b884bcc2b2b0d2f1567f299e3531c9d1c24ed1e43008efe288c8d8", + "source_records_hash": "30401592417b7876ee4e9ee03d67346a922a60c1a2eed2e9e801befde41c4888", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.proofs.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela proofs em docs", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6c81f91dc2e3d599dc478e20d22161132419767f27abebc07355f2eb51343e66", + "source_records_hash": "78c622670544276e5d0105fff2f1c56a5fcdcc061fe9c3712d5e46ae2e4d84f5", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.help.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela help em docs", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b242c83eef48d063c28fc180e7bc87b08503c20a436a6f9e41df855bbb29090f", + "source_records_hash": "54e46a2bfdba2770d476e7de44e011e7841769f7dc89212b3d92f587f7f6f517", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.runbooks.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela runbooks em docs", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "13f7ca150a8e60faccdf7a73630bf06f07fdb02c6a0f97403a0bd3596da3208f", + "source_records_hash": "2791c6e726acb70915ad1728a31e19ab834886a26988cf8609cd206fc89626f0", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para docs", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e9760fd906de0ed3ccee977297ba76b1266e7715602302b2dcfb9b3120527198", + "source_records_hash": "e945057dfad7f49d0243d015f92e222b2f7c280721ac9095ccb3637f5ed27a0c", + "source_tool_id": "mais_humana.transito.consulta", + "status": "blocked", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para docs", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ce400c790217284cbfd69e3d1e3fc8af6fd75c20526d020569f46176a8f37e2a", + "source_records_hash": "5d2ab64c3bc63707b55758f626c7d94a9a4ef9294f7301e623bb9ac358932147", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "blocked", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para docs", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5d89c98585b324ce2f534b433eb9b52dae8ea45ed3dda17b6dd447bd23af721a", + "source_records_hash": "d5f1d72b77357fab9bf5a85c3de8d3e8e50b12cff53807a37e4de6517f044621", + "source_tool_id": "mais_humana.transito.acao", + "status": "blocked", + "tool_id": "mais_humana.transito.acao", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para docs", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f9c15b5fe4dd6b6e2aece479b8de1668dfbcaf57f5c00f718bf84835dbe51522", + "source_records_hash": "37c805f26e8134bf07d3875b5ac6430d01532e1c5753ca04d4c8a9f1a05e699f", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "blocked", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para docs", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d6173775088179155da791faff328015a96829c0448a35bbf2ff4bb3f134a71f", + "source_records_hash": "4a2ada38417ef8b3c99ee11930eab01e64d8cb77c1ba872642e2d7a57f8365bc", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "blocked", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para docs/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "209a7be90427426c123b38895003dd1b0c48fb22a28a86b1fdfe0513b9236c3b", + "source_records_hash": "a481e7ac2de2d85fcaba94b7d21fe7debc3f64f9d6c99b90021173394ebe5ed5", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para docs/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "09ce31b915388a50b3aab0459f2bdf84e875bbeca3874cdd31c7f19f71ce8114", + "source_records_hash": "abcb3ce79379de8bb7620001756d81dee512bfbff6e59ed7ddda3f85c269467a", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para docs/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "aaf9246a2439f8f7865b6f79ef094012a45029bf78f2390a24304cefb404ca67", + "source_records_hash": "2dbf94099df226c111f01f9773e196cb11691acaaa4882eb93d06cc3a7e625d6", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "docs.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para docs/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": false, + "score": 11, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "02d9356476ccbf337f7fe2a83a04a859c704a71b205eb86e182079c3f78ca3fa", + "source_records_hash": "a7197d9eebcf1a6e1735c3bdbae989a5066fb8c848bdfd2b77f907164d37a3ea", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [], + "contract_id": "finance.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ae61961be521dcce08cc5d6b2e99ecae63c0eaab47f437fd338ed906bd63a4f0", + "source_records_hash": "11c00bc6ea18c9bc46100349371613b554412ebbc0fdfb233ae9d2f6dd47b2e5", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "58dc94ea8bc9e67d2b505b5f6604acd5da8d77558f10dd2b3091526a1e6f311f", + "source_records_hash": "672cfb4da5de06cc58eb2fe5c09f4d5a1529fedfe2c109b4150dda761047a722", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2ee1f448947843b2c5026951aa5d44b61467ac90152685ef5fa5b40671b6c682", + "source_records_hash": "caedf1b1cc1b60ab60bbd80a11a415556f52b614c8708782ac3b9303fbd12743", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a227341feb3ce1896c353a269a5d66696536828fbffe842100acf3160e40d0c8", + "source_records_hash": "259890837257a7287f4291727eb15ea474ea1ac259b9b2a95ab2d80f2eeabf9e", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "227c43d477c1d4564ec37433c70ec52ac3bbe120ac1700d27b856522f0de0719", + "source_records_hash": "d318dda5640247c62428ed184ef64a5975d84733660b505986dadcc8845adf64", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9c4f19cd22c22827e2e977c2fa6955615afc757b8ebc66d04783cf8cefff2e71", + "source_records_hash": "6f170ac7a5eb83640725ef2a7541e38379984d332f384c845ea608ab0ab04bc4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b77faa8a41f681b30b115ca6e360b112729ada85782aad7d1d84dd13a4f88d1f", + "source_records_hash": "bb7868dd336ae42cf82a39be4ef7f6281ac8b0f5c6696d56deca667233033c00", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e1820153abfd685e012e96e4304b3f7020585132fe1220d34c359efa4389db62", + "source_records_hash": "4b0b02df1bf82e5fe03b3f8c7fb95fd04e6cbafb948a9f06de51a071e68e14c9", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "37290faf67c1e958d0270b5c2f8090eb91ddf0125bfbe0c30ddaf04be0f887d7", + "source_records_hash": "8c0deca967461a3448895189778ec2f27ae8e21cba050eda571239d59698f110", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "78ae0e369c0bfad44afdb0d3deb881ac47ac028c7633e8e26a7d00dae77e393d", + "source_records_hash": "5d88a061ebbbfe9ae93ce4c56d17000a657df5dce8735fdc1462261c88962d1e", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c3e2f16729f5b43b212330f84ab03d7e5ec3e8e5c7d7875c2c350431178d422c", + "source_records_hash": "e0d64576ff393f66438b5521b4bf6f5debf9b82f9e5465d5e42f80c264927fb8", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1fa51059c38246e2d4df18b177b4508f01a3690762e48c67d5dff1e6ff28f081", + "source_records_hash": "0ea32a8867582f20eaf912281ff9d6d1fe95efaf54602af7a59d76272018309a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para finance/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6437094b477a77754a98977479f1c0e307b58a21fcb90929733bc115892bdb2d", + "source_records_hash": "165c52e0a847ccb0c99546d0a12673a9a317ccd47725e388f5b4a32f7edcd0a0", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.finance.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4775af0f3eaa45541307e52c9b65e1c126a47d452a54f5021007c760188872ce", + "source_records_hash": "bf64ecb41efddc1d144dc288dfe9ebf9cadde49f2b9c9e5611242210e240a913", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "371d5476a6f194bc00822444f77ef5581a689eb926c3b9064b32d3670e2ff9fe", + "source_records_hash": "78fe78166ad92152875112a5539f156589955c0711444a8c7972d816d896e393", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b62be6bb9c48c6862b6b786c22d2d4e0b50e347168ae51fd377a70dc3992f91b", + "source_records_hash": "872007d115ac0f66b577c5d02af37668af587c1791a892f97b77b6da8419ac79", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d210ae318a553aa75611ca4f5245befc9b1291ffa7fa6f36c59c74dd25958e3f", + "source_records_hash": "091b350e63e25801bf80ffb170ea34a25bdbfe231ac332c99439c8b360353dfa", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "99518166d669c9bfe690dcad84e3513438b342660a197a1aa42c6253446d7b44", + "source_records_hash": "4e7c89be789ccc49c0d9c3a8237b72d2d3364b7a2f16e853d529d68d243edcf1", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d48165ee2aaa9bdd6b950deacfd875991d6d71ad9745214e44fcc9fc7dd30e5f", + "source_records_hash": "8dcac608b2b6435055a270a05f78a7575ce7af841929b92ffcb92562cfd30508", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ec601f788ca4c3cd6e6c947a349bbb5cf0cc606c774c4bb165754cd9cd92745e", + "source_records_hash": "6082a84808244b54bf143d508a813d62d92b974711f8c048c66edaf3bd9fa618", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "714a9a7359b88ccb85d4d19ee214f65ab573476c9555f6aa6b4fd4f489384bae", + "source_records_hash": "a552309aae28dce6dd5eb92ba8fd9617cb031a849d9c263691ce3dfca4ccca14", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5c75ab000b55ca6a0b84484d8f69a059dfd05bdde11577507258956996e6277e", + "source_records_hash": "97fdc76273c501927fd96a1c4280cc6846f37202e86b5b4ab56b56ab1534d395", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "206d937b6c0dcf27a781df606b5fa7a79878fafdc192a30f5b851bf179cf422e", + "source_records_hash": "187fbd2f62342ad4d471c7a90da3a6c0a52976be78bede6e74f827c9eee9a6b0", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cacb2ccf197de5b5c2dff7d54b80e785a3e2daf7c5be69cc42fdc509124db089", + "source_records_hash": "88f67c716f7303aa49540163eae3485884f56c299f233da394d56b06db836b6e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "214cc78be26ab621daf0df4b8c1bcba616d846ee1aa122a96923404b8bd45c6d", + "source_records_hash": "abbc9bbe43e7b3d09ed1604df4884e52943a5dc00847cce62d2b94a012f114b2", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para finance/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4271e38eac2362d694471e57c36715ce8843b3158e3b52674cb597a2db6abc65", + "source_records_hash": "aaf3fccd472808994d841915d2809ac3e8aaef3dd7d47531d6c398f8eb235502", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.invoices.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela invoices em finance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9be4fe9ece8b4b1cf729edc803e36dccb16ecf5c516a02dc293b94a753a6e46f", + "source_records_hash": "2a7f1a078a7ecd2e6bfef2039d7cc460d60d0b0ea406a0363bb8d880a8bf64f4", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.usage.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela usage em finance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2a9b5940897f46affc5690528baeddc2b45d52d70ac214ca9499362571c8927c", + "source_records_hash": "2f509451aeeb8c2249a8920d30d3259e2e1fd931a7c9c5f5f718c2bc8f7c1560", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.cost.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela cost em finance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7959dd100d7c881b94017752c994682c84ac9576ffb88562e965a8a8758eaad6", + "source_records_hash": "addcb1126ba788a5cc49531923b86e66b1934f06fa79d236730afcc16314f49a", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.reconciliation.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela reconciliation em finance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "62dd63b632e5c52d0e0eba38e9874aa0786764fd480e0961958d0acc4cb862f3", + "source_records_hash": "58b5b76e7fb20048c1584c080cae79401eb95a5116cb6f851c1b52b578876d0e", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.quota.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela quota em finance", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "93f2325c81ed2b46f19d66cee64335ed60be53ed50ac0c9637960df96eddf249", + "source_records_hash": "09584edd15fdd55b4edb7544f1e93d166fd8970d85a57f3b6da72b0723985527", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para finance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2c375b6c5c8e85a0c89b231deecfe3c99652f411ee204b11fb8ef8930accf346", + "source_records_hash": "f1e5ca99d67a0395923e6a39a44745a3653dd466a7f5a77765bc0afe24b5a894", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para finance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "aaf4a4e13520ede9a5950facc819cd9470abd8121268b4e88989d1fde40a06d0", + "source_records_hash": "9c09638aca6171b79ea84624b88ca6076993fee906bd4856b6d0a7fedbbb7929", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para finance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3d8975c7e874484ae9b04459b23acce409eae591ff1d478f1a99772f22c8d551", + "source_records_hash": "f5e66a2d7e8ee9cc7520ddba82c4a24396148270d42d960c40de1e0fe79ffdc1", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para finance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "251073a4d8240787d5f9435a0333fe8371606b1d186473345220828fcea90b78", + "source_records_hash": "8fd669bb5295154c2efb3f437862e08b2a393bc7376eb9999c020569aa5a68e4", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para finance", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e2ceceb7ee690b2ba2827aae04f1fb6eaf66b6a542389f90ee8a7ffc8d3c48c1", + "source_records_hash": "e951ccd05f93d38ba144c38652770bc8d2dd61fb6b7ceb7bce92150887df6305", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para finance/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "db53939f8248cb635645b929fbe41eb7c76202dfd69e532e2098789cf420f1e5", + "source_records_hash": "ac375acb07bc05bcfcefe43dd58991730ee9da4785071a5a348a1a473512c92a", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para finance/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4bfc52bc6747f2d524714ff2c5766811440faa8c71e4a212df2076cbc2a06a82", + "source_records_hash": "a2e297633d1f50bbb4d4616f118216280e6d0300e4919a3c7f645d20a4e0565a", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para finance/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a6916b3b56f113b88d2fb71a837ac1dee7dde1e144be6d6dde668164be85a3be", + "source_records_hash": "6ec28b49da491d2491a59ccbbfdfcc5eec082e5a4eb4020b9c137903c8a6351a", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "finance.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para finance/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "finance", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "17b4aec6a2a530a7497ef6a19e127f130decc1ab2ca70ec4aaabab881379d770", + "source_records_hash": "14fa9687ebb3988018cc355fcffb166cf364c8dffa1533773ff16d8128d6115d", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6f745dcfc986060a1e266e96b84f372669af21f20ad6115ce4563181dafe3142", + "source_records_hash": "800cc0e788216b70937b48af9f5b7fca373b85566cb865fc2c85e13dd12a3581", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.administrador_empresa.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "ceo", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b7190b31769deddb3afbc19c96fb2406d277283bfda288a52fef9510992a65d4", + "source_records_hash": "826de6155e1baba4be680575a695ce67c1887053dcc603d82442f152c9de2825", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.ceo.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8f9c921ff8e16b2de4d8ee3fe71c29ef6cf2267117ab926f44c29d05810478ec", + "source_records_hash": "7e82cf84d4e10f1c4d495a5c9978585f8339c24e539ac81166e2b89767077bd5", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.gestor_operacional.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "suporte", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f20799fcd7caf9a3aa8ae6665a99469ff12def27bdb17b0622fbaed0f5469724", + "source_records_hash": "e6ff9278cb8b38178d42543f985ec47f38723126b80f14efc9810a44fea5276f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.suporte.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5d9cd0d2c5e1425f47327bfdebd7b9df254279bc8474ac25c486b748c320ff3a", + "source_records_hash": "360e1b5243c43e0c33d9602cff4a456c738cea9f8175e1f5c10110f7e71e8d3e", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.atendimento_cliente.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "financeiro", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "380cea73f25c0e95932f58543aca1acca34e6507453112ca01d568974a6e2fcb", + "source_records_hash": "895118e6608cff0739cc6e00b2f5c19978b7da5cf1e509ca31f5782df228ab7b", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.financeiro.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "contador", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ab1a70822b74526a5139cff469921faaf2cf0ea4623b101a727e3ff4e7ddba5a", + "source_records_hash": "36475cb80d704e4d72b718c25a02d6a73930d634458452ef8307cfdb6340f13a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.contador.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "juridico", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4e01615a2bad5fd4ae4daf10f7c35c4dc09f882cbcbaf4fd2f9f576031414f85", + "source_records_hash": "1fbdf86526fe4b04ac5a010cd163ba5723abc92e63fd53c565812cadfdf148b2", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.juridico.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "secretaria", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d63986b0823815239640e0917b6c7f5fc43b3c6d07d64e25d4823c917f88a1dd", + "source_records_hash": "11c80c474c4d904067053b12db992a8f211d4c642e6a794bea6d8526e287c681", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.secretaria.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "tecnico", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0088f6e997e2ba440810113e1d995e78bc5254fccecd595b58ba2c3d4ca9436a", + "source_records_hash": "00bd4ecb5fd7ec285cbf4e8f0979a0e7dce0ed2b96288bacc1dd14101ade8fcc", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.tecnico.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "usuario_final", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b8aa6ac74b43ae33a3a17255f367f429bc21090feb19af304094a3aa55b87d74", + "source_records_hash": "d501c09eac754b9dcf220eb6142bd13f7f10276d0f190997acd21a03cf172bb8", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.usuario_final.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "cliente_externo", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6004d464ce8403bcf729450b556dc6201611e9521b5fa0f026d9637e3fb4ce24", + "source_records_hash": "7e47788b7127354e2f87c78b8135ccb1df9be9aef118a167eb8cfa4d83053bc0", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.cliente_externo.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para gettys/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "382fe69514de86ec842a6c433e3b9ae4ca70bf83a8c2ed86d8c61dd7cc964a10", + "source_records_hash": "023bea6d17133b3e67ee7e9aff9dab1aef8557c12ceb83afca712a08e398f34b", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.gettys.planejamento_estrategico.explain", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3c8858a61c64622a6a7b44588faeb360c2868062148500b66f93c3b952e8192e", + "source_records_hash": "42bc73f7a8c5a437f3289186b01d66a3fe264d2b790c684642eee837feb25da2", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "ceo", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "757e6b336ca936dafc14cb7c4d2bf6d18a489e405f0762702d47cd60b3c1fab6", + "source_records_hash": "585bd97fb5e3d22652b86fe16c3411aa0fd14ed6ae9c2cb610783fd029414766", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f09cfb1220bc3965d768e43f446700fbf806e66094bc2fc6f540a143c6b95c69", + "source_records_hash": "07895831d8829c076fce77ac68b4e8989b5c7a763840a094b0d70533c53fecc3", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "suporte", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5eff08b7bda13964effa2d4a164a057390207871021c916cb47a0cba9ff2bfcd", + "source_records_hash": "054cdd9aa123d841f328d43e52ed5ebba325e674278fb00faa431eb34e2cbf6e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4f5684f21429716491999398e14feda71beaccd5787ce62d51cbdb8ca44e27ef", + "source_records_hash": "ef10cc8dd16dbfec0e4db93feee6479a181b431f5a38267784f82fa28ed69e34", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "financeiro", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5c0b4ec0518d8342383c2e369138113f3c97287d3248584e0f24cdbf4fdc3ca4", + "source_records_hash": "abfdeaf1214095d9f3a8fbb71bbd0134a83c9c8aaaefdb13a07a2741c1852dad", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "contador", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0d44295372f448acf2b16f8a3b3c7ebd0ba4a2a9cb4e70f9c15872b27a0443c6", + "source_records_hash": "07dad4476b068bdaf1ec08d2aba150f4449c53ae223c848d2e6eb6ece851f1d3", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "juridico", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "49fd2ec0eedca0d6136167233425d6c07831445e255d1c4f56e3ea770e8562ef", + "source_records_hash": "6167ec12d2cf9316782c732280e892bad91c5ce6f6eb800643ae5362671a6c43", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "secretaria", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d62c73da7fff50a6da25dfe89fd36207ca2eb41b024ba62e283d208c51fa47dd", + "source_records_hash": "68b9bed964777480cbb834f57a97ad396323f0bb17beecb77814f2ed163deb32", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "tecnico", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9b1761f4edb2192f7be5023c225612faae60eb238315150a78c0d68c09478998", + "source_records_hash": "2cdf40d82f254c2f5d6921bb9479f0ed907a98826090a6cd42b880930510970e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "usuario_final", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "280e00271c3b9bd330e375b9e545a8348e539642685aa0c407b5477a4d6e6e5b", + "source_records_hash": "252fdd53af72783573876559ab43968cd80c10093f38e73a71a30e18801d0cb3", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "cliente_externo", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1a7fb1a5f30434030203e83c46e6f76ee21b08a44be29e0c2476567d465a96f2", + "source_records_hash": "a172f48e0c9682439cbb02f2318db95dbb7763df28b5a5cbcdea8532abf35061", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para gettys/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c3b7ab5412cc1f9321d1084af9252226d36f5cc89e5e0fd1042619cad05a536b", + "source_records_hash": "41cf1a1a6002925ae0894c73b64d3cbc6c3c23aef31a9ac6e813f77a43758004", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.gettys-overview.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela gettys-overview em gettys", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "87168abb5c67d2f89b95fad00c9baeba362b4ffcb575e9dcf5e192548cbbea1a", + "source_records_hash": "98584f2def23bc746e64d0104759a7395283524e5a3a6c0e16f465943383c4f5", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.admin-screen.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela admin-screen em gettys", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7eb235333b588e49fb51feb74f9ce7286888eab31a6915865e23081f581b6b23", + "source_records_hash": "c4d4fe1c89b29b201edb37996e00eff4de1f7771e21d08b487cbc03565e782b2", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.health.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela health em gettys", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1369fb91d1991b019c6f2f4af5da3b01ac8a451d1e8b89383b37c2c5018de265", + "source_records_hash": "7570206c9c34d4ebe543fb5d30722f445a509e09dd957f7f2243379f3408f504", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.product-readiness.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela product-readiness em gettys", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d856d4e75172616ef69cdfdf70ed40bc710acc734fa8ac983485c764f3663c34", + "source_records_hash": "5c1219dd7d8f3fecf5757b1ae3be5da3362aae95dd6de8c8dfa794649ecf5d23", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para gettys", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "60162b81141acbd1a2e20ad8fca42b8656f758c5f2955366388a734890e74426", + "source_records_hash": "daa89c9b2f0cad703b81fe798cdd7674b267365bfebd4024a714e91848d20c1c", + "source_tool_id": "mais_humana.transito.consulta", + "status": "blocked", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para gettys", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b72411d12facc5c23f588d27fe53ccf7a9205bd9a226d8837b185be576fe4dca", + "source_records_hash": "d2d32fc50da1c646db764d25ad69501136b7cadbceb6209a8d1a1e19d0b7aae0", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "blocked", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para gettys", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8e69e37779e159500fed3d5a10c7890fafd739b0ea2f96787c3f7ba2dcb1353a", + "source_records_hash": "2dfe973e3d1f3a60363bba5164efcc3f3ece7a1472209fe859680b1eba924571", + "source_tool_id": "mais_humana.transito.acao", + "status": "blocked", + "tool_id": "mais_humana.transito.acao", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para gettys", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ce3f2531a02a26fb73da01dbc2c03f46df001fdde550f90cf1233230c792a07c", + "source_records_hash": "6ee7cbdee06eb7da7455da3f313561b63beacbf0f2bf62c7b53f3c4644297f74", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "blocked", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para gettys", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d9d081113bead972db74161322f801147320b954316778e99a739049f09e666b", + "source_records_hash": "c70d92dde73f281ac18fb7db6d20dd42a057398410b34108df00b0b0fdb5a4d7", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "blocked", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para gettys/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8118875ed22bb2fde134601035ae7a46d0a65d51229662a7940998aad61cea2e", + "source_records_hash": "351d52fb0f2469792dab000b584644f367c110a3ab01ffdcd631de9ef3e8dcbd", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para gettys/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d9c4905c07fc317f849db5c34ce513b928ec40cb29a0d330b38305005e758c2c", + "source_records_hash": "c8ccdd8947d4c3443b92d934990f30232f56912903b17f5a774a328825d6228e", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para gettys/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b29c469f7059b9be3c97e5c3e7bfb8c6c37ebc2ce02e252d662ad52ebe8d9376", + "source_records_hash": "7299c7f7dee210754f2bf23ae9ffe244cf71ab7af2dcc145c344369c64626745", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [ + "truthState bloqueado" + ], + "contract_id": "gettys.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para gettys/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "gettys", + "profile_id": "todos", + "same_source": false, + "score": 6, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "833daa33362d0ac02b697cd4893477650427fbfd3ee90ee85e8bf16e60a75d72", + "source_records_hash": "ef2a2106f52528a36f8d6c2006d357abbf7cd9d34320b8d5605f3cec4ad0c77c", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "blocked" + }, + { + "blockers": [], + "contract_id": "identity.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3c56ca698ea4fb9aba49717269b6005dfb4eb63a7106100e655d6a39acdd1dd2", + "source_records_hash": "4acd9b5757fe5409ac4645459a16c9c8f6b04eeb3ed7bd8f4530ac2b5cd112ef", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "25b1c98b6579016757caa56dd4626bc7f8923b7492d08e9cfb57d13a7e050c3c", + "source_records_hash": "74265890d5700a7e4d3b9fdce7b4f2a2de82ba849d92b3a16ed50e30c0b9ed49", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1d19208ec3ef87b503d5a5158411b2558251bb0a4405592e36b5b40b57805039", + "source_records_hash": "12fd73304843e17d987dd824105cfdc1a2d9b9185c0e82b5505934f48cdca565", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "48882792624aae7d402f4f8db7b9387001d930ceb26283b9a2a8006184717d5a", + "source_records_hash": "cb238ffc498ac80e89dec2f28d6538e9aae65ca2071d634c2d78312abe10e12e", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "679d01273de1ee7d6f81e3d197ad3bef1b64f33bc8df3cd05e744f95a6af3c74", + "source_records_hash": "74bccaca0792337599e0a661695c80dd9470e6e9e5303ddb53e7fc6b0c263eb1", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1ee9d527f414ce651cba6145f46ab006b1f11b4e0524597eb7548c0d4a77ccae", + "source_records_hash": "cbc01b86d21937ebd4d2eedda71afa31874189c86ca7e49bf5430de952bc8f01", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9b6ba5a2e93286744f0132a81ca0d99dcd89a351df169b807b155fcea15c6654", + "source_records_hash": "41c221c81bf7113bfb2b816b05a4516a6b0837cade3e4bf1a9e2b2ca247bea39", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2e2240a79326bcaee6156407a9ff92606bb743c820295830deae9304018ad79e", + "source_records_hash": "9efdaee6a5af1abaed60479db8afcb24951705ef567839ac4cc5d47c1b27d9a9", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e9171f871aa4c78a41f69ab2c9699dfc3eaf00516f1ab3cac4a5398663be7ee3", + "source_records_hash": "1201b2b96dba4f629726086534ed154087af79a70ceaec6f652e6d279db9d63c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3c2c7f8613fa615a900aa1fa2a46d23fb5b268aa14825f638d9e7cfcc2154413", + "source_records_hash": "d1d49565dc311150ad4918ac2f52a69db6ced8de824a0ec41c951991a4c9ec7a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "13b87675e5e7517ad1738f5a3379053dad9c8f7d74719ced2fe1ca4cc9c7120a", + "source_records_hash": "bd89bae55a7287c2667c7ce0b10aa7cd28b80bc222a030808b6f5842e4164335", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f612f56309ee02040699b85f7dbad505efa51fc7a7cdfc08c7e4e940a66ec28d", + "source_records_hash": "d281be5f2fcb2b81d4356d374d6988dd32d18c1e080acc17d13a4686abcfbd1d", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para identity/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ba7c0cde425b158cce231c568eb1e0678c6a4638cf789a844b71d7b282c75a19", + "source_records_hash": "dd6dcfeccf30cb9505b6d7efda8cd7bd2702a07398bbd418b90c567f342c76a6", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.identity.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d116aad363a5b87726babc5bda46cd6cd894b943d244b50384bb24712f13ff58", + "source_records_hash": "19ff90fc83c4748e1d4d18f2e0fe47452f484f2a915aa39fe8e20ee7a975816e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "69ff914a862098c1a399471b9c7b94a1d85c1279cda4d853d635eefc5cb4399b", + "source_records_hash": "72dde4787fc9911da4a32bcefac761f35abb2daec48892f2ab840f1f6dc6c5f0", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e137490b6e78fa5718e222b2a0cd277011ac0ca0beb655231ae6e5ebc10f642e", + "source_records_hash": "cd14f2221bc2d2cf4805a7e91c2dc71ef3fe3a1853b871b34a361ae8ffcca7fb", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "efd313310c894a601559ccd4ebd7596571f3caac984527fcadceba9ca436efb9", + "source_records_hash": "0efb1d930b90fe81a52c3ef0b88bc3f11d83e027908b0f214123576f096b3b31", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "21538cde8a7515a8f528616fc5b556427abeb96ac57bf8cebccdc13e17c0ad92", + "source_records_hash": "c0766e241e44db0685123392a47d2ebcdd8bb0e0cfa009ec9096a30f17018d08", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "db1b9816fdb2826d072710c0dfe54aeeb8d5dd4625b5e57abdd9bee837319c8a", + "source_records_hash": "32e72cbd1c461ba5628ca8fa66085b1943c18cc7dbd321baf1d41274e30d7f5e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2cb529a1d6c867e54eeb11325f03f9ccc359292d68811d9079e55db893be6c91", + "source_records_hash": "e88a677d06a55b09e912c63628466a4370f253b55e2a35576492b58b4dde599f", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1705a29fa8db4e913ac524069b7ad51699e0f93cfb80ff769146ad7ee478d98e", + "source_records_hash": "be0b22a4e22f60b9fa856a4e08c865a051b274c56980d97e607cdc4aa1ffadfb", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "07a5864d40d3fc3863644d14b57614045690a7aba7aa1b8dc9bc3ec4353c7d13", + "source_records_hash": "8314ef203a92871827784ec1a14d5d87b0f6f4ea5bc0f270b713122e7915edc5", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1807ba05770f53c39ea2d3a5988ad63ed0b4d04e6c51590e602e2648f9ac99f9", + "source_records_hash": "1ee92a3d70eae5d66be7e83757679ab985fdd219b730e43049ba4b6132c1a61f", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "dc47b06cf040326b12280e0ccc8fea49f13f78fc99417779d07a75c37cb3b022", + "source_records_hash": "4fae4a9854b9256a26fd30f14f64eac4b602f46ff0b43c1043feb1a43511e1ab", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1b37f98ed8f8837db197d154341990fca44a0c7abc038539ed5ac7e31cd4c6e6", + "source_records_hash": "64855a966226323bee4ce8bfd4fd0a387b291781207cfd92468516b2728aab51", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para identity/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d256842df5285c49a26822aeaffd2d0d68dab3f903615c1ba60b3a9a8d48d112", + "source_records_hash": "8ff1a2ebd9da860edb18445e279606062072144b2ed79672eae7a989d933650e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.rbac.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela rbac em identity", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d61c4db113c6db438ea3e9054e9f93b1f14cc31effd0523c1663759258719dc6", + "source_records_hash": "449e3fe457dc025fd33b7ee7de855426e477df89742bb6e28e38481c80a4e0be", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.sessions.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela sessions em identity", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c57b8c9b82b9316bb4ce15a5b25799ab5721b4828b97a37a338029e24bcadf26", + "source_records_hash": "996d2869e33df5d7aa96e24e0b4257ed0a2c61f82c7c1863757f0a0832e89f51", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.organizations.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela organizations em identity", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b79592009783a24bc145152b2175b85384fc37ac35de0b74498ab797ca785832", + "source_records_hash": "adbffea1bb95a4e9f8dc3fe76db05e6f698c47eed7a9b2274376e77fd19296eb", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.incidents.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela incidents em identity", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "33b11a5ad029925e5cfe77b2929aa172276a27527d48450ce12fda78bd5a922a", + "source_records_hash": "9e10ebbe7dba736c2ca79431d6c8847885f3f52c2a0dd6a518918190b464f7a0", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.audit.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela audit em identity", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "bf416644920649c9aef48c30bc65dc4f52177c332cb0b2be5164c8349aa5a043", + "source_records_hash": "10c73df06b1b3dc4d1434107ff7b6e659be271f136285da61b64343566b1ff42", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.contracts.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela contracts em identity", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "383739b2f8472fc4f97ceef51b75c02269f38adce010f467255ba3299879727c", + "source_records_hash": "638a3d5eaa84d1295a9075559feb082f8b99c91c2ceaf1c5231d40952ed87ea9", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para identity", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a43f1dae1e4f02ff1a429e312b641c620a412b91a282357da35e1cbfa86e32dc", + "source_records_hash": "66e94d75e05f43742f19ac12b46089b7eb5174249565818b0f3972f8e5e0daef", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para identity", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a3ed5c4e6e4f9ecfa03c62e6b07bafb1c2f6111e2d7bdc160cb37745404e3dd9", + "source_records_hash": "f6c1c6e4caa5d2b64bb4208c2b457b589ec737e3f7c227177494fbbfda98e986", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para identity", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c02b27960841e62b939e3d350e558df83960b41ebb07e6cf2684e62b6cdff335", + "source_records_hash": "9b04e65d9e37a211a795e874839af681477900cc97150230977504b706e2a83e", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para identity", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c77f9bc41bc92d3fdc20abac8b13540337147e3453ea363137b12946bc2d1acf", + "source_records_hash": "27296179e62154ed4e7533e8e6ec932898a7b76b4176f8ccdeab5b0d7d885fee", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para identity", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "aa5d885a04323104f07b06ced0574ec63d290781c7de8969610850fb17e68af6", + "source_records_hash": "1157d9c6129e2aae7e903681152627dd3a5bde12601aa8c7578eaf13cc64e907", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para identity/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f36cf280fd1c322189bf804564eedf6ddef8f376487ee640506396395800c9c8", + "source_records_hash": "b0a5f7aac13b8c6df5479bcc0feb64c8dedbc398f3ddae5f09b213fc51517f75", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para identity/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6afe0ca157515b2ca449d15ee9152c2a39a2f98d9e63414c9170965fc159bc57", + "source_records_hash": "ece33bea1b4c9b6c3360720eb27bdb027666eb3956c53a5488f5d170e638051e", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para identity/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "20d324f22e017c74772b5f8ec7c1221cf32d663b1273deb8b2df33ef531749f8", + "source_records_hash": "d71991f7f5f9b5c5c6f364187bbaf815ecde4aae2e386e787ac989ae061e831c", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "identity.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para identity/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "identity", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "14b27bfb0ad3351ed3b67fd1d8f2b53a6ebdaf6e0c23e4e3f63cd38d93981564", + "source_records_hash": "c31275591d79bff2415b4a440edaacd75ef79a9f7f440bf5c021ff5a431bac81", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a80d94f44c57e62a76b37e332e9ec0ff312bbf65894dd5b3d89da65b4941e43b", + "source_records_hash": "8bdf28496b7efd9e2cfdaefa547ee5f5e9376512113cdee2e93c474cf0f57dda", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "242a238f96078f74101da056a0cc72359374e8c9ddeb676bd582d9d58de4bab5", + "source_records_hash": "94539220411661577fe45031f8a90b292c7e4430cf1fd301a1f89fa2adefc7f3", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a2298c406ce5b0c8bb41d4b5a5a06e3181e7e8fb160e93020889e17df4100912", + "source_records_hash": "e1a679b01c3e4c0a8ca4f89fa67d766d18141f49bbe73efe385b29951c58b0a4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "58afcffd1296a9beaaf54855c0a4303f5b5ecd55be3430126fd2d4b29bfbf8f7", + "source_records_hash": "846c1195cd4ae2455ad650da73caceb1b72d6bad428366f7fcf80ffa982474a3", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "41a1792b535c680760d75a17d74b7cefdcd02ed4c3a1d97b599f570e65677a35", + "source_records_hash": "4a31a737b3f6c81026bec04a8d1193560d1cd7e22fa2f096e71356e86b06eac1", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6b6d92803354a771076c62c8360d0d70f524f88099cdeaec5f4a5d873d257ead", + "source_records_hash": "9f2371051fc4fc8c777694bc624aa633268faae87dd96dee4c474b69a05308b1", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "97be8fbdebe6ffcc1ef96f186530413d884e3877dc01e17f14fd3038f739f23a", + "source_records_hash": "1b91fe567ba948c6bcacd32752d11fe138c0e402f1db855b4ce061fbc80f837c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6f39560fbaf5ee07c922c3f4a7a7a7a647fd6250d3ed1918c204a082707fa0bc", + "source_records_hash": "c00b41c9e8db28ffa14fde4ed383d2b3946a333382439ace65846fa50da1ea66", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "11b599244ee04c51cf314a7ae5ef54bf29ce2302921d80779116661e2c98a5c0", + "source_records_hash": "58e247c3062fdf8144b4ac553ea0784c178c958500fa05f5101b39f915448e3f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "623ec62e1025c8cfb67452578392fed3fe0e4510c9187e76c087f97b122aff4f", + "source_records_hash": "950a4db7028ec749c85669512cef3f63b5a3b3c953f47a6b7aa0b6907a981a11", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "037566e181558181ef47cf136918ff3a96983e01c21f7a2ed54101f6d0b121b2", + "source_records_hash": "7fe19ce8d23b7f56706092ec9183278df57332307d8f430d634226836a01b5c3", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2d1045bb812ebbf3a828b53f6276ace0a236ca95f1350a91ac6fcc9a252f1bcc", + "source_records_hash": "fc3e149bb41af5993278c6127c91ee8c75417adb65d2bf50e5898c58596e450d", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para integracoes/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cfddc35ac3ce91f62de22da7bf2a19980db1a9025bc3880cbc7b6a1b88c84e1b", + "source_records_hash": "d32052fb4279d93656e1ee9b804fff315a9f63d42f476af49bb00c7ebb6b0a7f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.integracoes.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "394b846f0c2e65243a2a2ee082099390d68352ce9645c2d0fd4391f33e8260cd", + "source_records_hash": "202d0caa7d57f0e509c2ca2f30fa68d173c9bdeeae5ff2f406d6138b91c4a816", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8d25cd4cb6b874a819de7aa028357afed5c1fe787122d739c9ca4e76d41e1caa", + "source_records_hash": "fdbf3f29ea36fd38d3e84a215949352fad3631ecbcd97df62c0fc72d874ec5cf", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1570f5aa81e7b5a3b8665bd2ac4c211130590e9e1ae4fb4d1a099d0f4def5589", + "source_records_hash": "42e096f89e6b51bcf890dd509e202c58b08c1ddcd62581d63efb7b1704f93464", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4712e1ec3723d42a6d702fce0c3568b8dab052715caf1afefb5b9e93e93353b1", + "source_records_hash": "51670937de83c5c3bfe730bb418448b07bf94806ae0be132808fa5dc6cf8b9e5", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a145e13c51ea82ee9d0891107458c5230dc90b86817528ea315936e97086cdc1", + "source_records_hash": "a502e6eb4480a7b8678789203ee7d4aed9f5f0630c3b7ebfd360575d051dc38e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "21d5d64af288ca5036c7af4368d5e994dea3f105c5a60b279a7bb6986d1b429c", + "source_records_hash": "adcf37b3f0a1e463b7bc9df63c0a5a5dc55856725076a3e2023872fe2d0870b4", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b2460fb5d855dcb09f94f755d8ab2ca5b846884fec2c00218afb2742100c505b", + "source_records_hash": "f2f6401ae49adf0368eefc7348aa07dbe52a6df41def8503d2029f73e0fcc58e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d3192b364375f86a37b0bdc337bd3a888fadd768d18dff3d1e3e63227bcdd738", + "source_records_hash": "fb434392b34a1bb71095cc9d70ec638e9f1c8b4f4a0ad2bc452fd5a3c07f028d", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "838a6ab879786c80c45d2ce2514eb3589416f728e472dc372d7c164adb3b8792", + "source_records_hash": "feab95c62d561b7f5fb701d7334cc1c11bf77b569a45a2daea5275ff2f388296", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2351a2ded0e67bf4222c22975fdc576068cd12fdc8e442cceed6a39ff25badbe", + "source_records_hash": "3d5b213c01c8838bb30f1c2785c6d08c261242d60adfef3df8a72c8b3a1efee6", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "28ccba1fad1f80c7c415713fb3528bd51b582ffc1320e0c3d25b769c4057c0b4", + "source_records_hash": "0b5f46b67085a93244d95f1d4d895663b83634b9a210f55fbdb70eab525cbb2f", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a8e74257b56bbfc5b6ce01f212a2093c8e85207fce1a6e13dbbb9ba67857ddbb", + "source_records_hash": "57b33868056454930ca78bb47f62ac828291793226d51d01d1e22229d73a8072", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para integracoes/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "817e33c147dc00a1a8127ef2adc25616ef1095219f4d5f7e8c78d7dbbea58ebe", + "source_records_hash": "19374a25e6e0c00a60074aacadf2567faa20a1439a8a8e982e93b59eb65ef27d", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.byok.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela BYOK em integracoes", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fc0689be7a2727e8593ea5f1d967b3ddfb469886d2d8b66ded6fba0c14a759ec", + "source_records_hash": "b2545992e45f9486b7adac4a2cdf99b59020eb9de5a3f0119e77a1789697c6aa", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.providers.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela providers em integracoes", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "bf62d19bac8548ff5919ecfd888e21c32fb9568d7dc4e82d6a53d33ac95c56ab", + "source_records_hash": "315baac93bedfd852d708aa0add57aed5f60b3732a9d658d51e0483bed1ffe2f", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.credentials.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela credentials em integracoes", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a2a4355ced9fb35e8b2f0a91aff573c4f0e8b7308b9d7748195dfd9e0a1b861d", + "source_records_hash": "a2196cdedd0231433c4eeead362d72f2b38496b423a27e3a5fd35be4d5961f6f", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.smoke.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela smoke em integracoes", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "024cad0980a3a6a75289f9cad4034d905ef8aabd0d0adee99c21b49de62a287e", + "source_records_hash": "957724b07eec3d2bbb940aeb289f3f8aba0ca3ba1f4fde17e30644cf2ec6f314", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.products.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela products em integracoes", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a1a202dc6b4ec4d07868389b9bd394fd4a8f70187e262ddd41df3b6a2adc1f24", + "source_records_hash": "c381d306a364a09a0d0c6608cf3a76a49090de1cd2eb2d1ebdc36a18c3417e60", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.tenant.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela tenant em integracoes", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c9ac3ede8e6c753250fc35b258e16c76602fcdec3d0b9892f493fa0944725f24", + "source_records_hash": "63839cd558d05dd597caa07b261e7e7e13d8585e42aaa67b772c0b678e5a4492", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para integracoes", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d91bc3a1714528a46829230291f85cb0c3964204eb907e756256d957c9655ad9", + "source_records_hash": "51d342248252fb609f2da384024f9627669f216bcfc23413805b761577397cff", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para integracoes", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "256a85d871573beac2862db92ca5e573014b9e0cfcf730ab2d722323467d611f", + "source_records_hash": "6cb3fe9d09d2238fbdab7e0b611f48297ac1c7a3df98ae20921669cf914c3251", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para integracoes", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "976c253f80e34439ebcf9d692ccb171c5f597bcdbff9a0ce4b7931d94ea78d6c", + "source_records_hash": "431082cb7a24824a288259197af9c415bc5d011815dbc44b00b1107db2c75a55", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para integracoes", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cf142a0956ea60bf279aa75e57b5018b786ad40c9836d8e630640e48c154de8e", + "source_records_hash": "a80a2df2cd5f5a359d65e38494ad6f5cbd3fdac03cf889a0a256a69176541729", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para integracoes", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "afa2390f4d53e5091fa3e46a59f5341410862edcc51174b28615d753de647f1c", + "source_records_hash": "9dbc45d362dc1131bb73b5c2b1bf11e3a893c20b466297312ea405fc4bebed82", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para integracoes/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8a01be4492c17a91d901bdf6709f1d13d07a47835f30af96b5d0adb6533617a3", + "source_records_hash": "f80c235dceb5e9852c8202e6b5a96d92a0f4e1d851ab6333f35d63f5b2638b18", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para integracoes/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7c0d711e83c527347c21f9bdb51603654a1715faff475218b819e5fc298196e3", + "source_records_hash": "90de1040416639e768ff52445e2adf1fc84f2c8d32eb9e39bdfcc8e7ac4346a5", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para integracoes/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5b5cb0c6c7239c76aa71335f13eb04d17d62607367965b44c8f7f804b1749ee4", + "source_records_hash": "52f071d3ef7d40f56e269f93835639a4c251bda52470e3ec96991953021cfb60", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "integracoes.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para integracoes/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "integracoes", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f2109fbaced7b47c62cdf5923422e63a0c5f1059a665192250b57c61db84319c", + "source_records_hash": "4a1186e96591cf84c449434c4ae90c49b493ac263557bd4d7140b34e33806dd3", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8a73a2318da48edcaec8cfb645f208219e2da3acc79812fd4d9dff072184ff56", + "source_records_hash": "8414a6b665f7d814ded4903d94cfe912408d581e2d60fda2d71c1f04d0ec66f2", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.administrador_empresa.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "ceo", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7654233b30b61d8fc751ef4559c5157249181c76a23dcecf5f4cc8b3defe39c6", + "source_records_hash": "a54ce02374e6e7a71a7410f175afadd90376bdf7de8517169e90cd8679259155", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.ceo.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a62f8673b952135d6227cd9ae093e5f96cb6369bf1d4296a1be6f9e549a4e329", + "source_records_hash": "01d142637e51c7a2e1385ace7c5f687f03d8442282fd0d00df06e2f33f10f824", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.gestor_operacional.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "suporte", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "47dfee63866002cf5c9e328a22d42a229c04042c8f2ddaa3a3b9cdd1bc481aa1", + "source_records_hash": "b3cca70302365bee3118f3e1c4e01752713c67d262d614acd8d27f982fcb38be", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.suporte.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1762f66cc48275f1b3c2a3a7e969d0aeded11ff073762b3e0c706fe9ec69ca49", + "source_records_hash": "00ae743b3fbbe6f8079a41a21dbe61b0b50667c4fbecdfaef08de85381a524fc", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.atendimento_cliente.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "financeiro", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6264e4aa9ce314aa6961a939b2f660a7baea208f4f4b5fd50b2fff680fea592e", + "source_records_hash": "c791bacc57b04ea325d29558c67fec5e0fa937c73ceafd9c150f01752a2a2e7f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.financeiro.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "contador", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "bccce4c30b44381e37abc98c31670a6c3f9ef554050a9527411f6a7bea1d8861", + "source_records_hash": "820248b9d2d16191baf693daf888d0f17e64e4ebfca6adb1c958aad29d6839bf", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.contador.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "juridico", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4bc59a33ec316ec103b76838d0e1ac2e896b761c199d16a553be60a5ff6712d7", + "source_records_hash": "7999225b8b9fe0c7a5683b9ea7b81c76705553864359c56fa3073bcc960bd39c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.juridico.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "secretaria", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a4578da6716e2c248ccaa21ccde35271b2d12c20e9dced0082d23375cb863359", + "source_records_hash": "069321c9fcc48c80c0e933a67690829a7df814c4ffd7ad59a6cefa18e2179818", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.secretaria.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "tecnico", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ee2dd5afa79f1e4c3cf7328f04671d266c9fc5c4b6117113017308942a9ec34a", + "source_records_hash": "ff2249ee7afc1ca401df4f0ba77d3948c9f9a52a54f03a70429e40057ca9ca2e", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.tecnico.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "usuario_final", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "66f66ed90e43c2472db9847fc8fb193611221c30992d244e518a5f1f9e4b2a3f", + "source_records_hash": "98e82e735a036309185378bc890518d0d5f10c7655d9d581063e6b999bcb27dd", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.usuario_final.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "cliente_externo", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f9356e81e7f99b41a1e2af5b930bcdf5e37dfe22789dab5c5029c0b3cfa91b41", + "source_records_hash": "2ae7995b7509c82cb3c15235acb6b15507642c4224eb7acec7e2b2750d7be39c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.cliente_externo.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para intelligence/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "01ec0b324c5e5937ec5ff04cfaac25a56320efa10433ceaf0c63b40b72ab8b73", + "source_records_hash": "bc15a0912f3b8a27a2c65f234dc1044bc151e9cb202f8c6d90c4ea7bdb0a3c80", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "blocked", + "tool_id": "mais_humana.intelligence.planejamento_estrategico.explain", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "administrador_empresa", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0446e347a8cc96cfb56c951cfc894c66c7a5a6f4358081e7fb562269d20bce7e", + "source_records_hash": "1bd94f23fcd6323abbd0757efe5af2e6fea844b660d3be811516831b269b3449", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "ceo", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1837dde933fc9893de4a738d94ac7c7c98cf80bb982ac62d2c35504183625141", + "source_records_hash": "7ee18c97de1ee57fa1c671d5d609172f75bcd86fe5b6af119d5c07167071dc55", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "gestor_operacional", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2f0b2f6edbf66a0c3a39ad3cc3985e0ad38888c311ea0b753ee5cfb62364f43e", + "source_records_hash": "95def95029508660f3cbe4e7ba2e649c9f4742bc7206ea0a5f42608703a0b4c8", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "suporte", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "43622f17140ef9304cab1e4dc5b3e10ddc18a13608211426eff3317b8b16c786", + "source_records_hash": "58e96673798d55b817ad39c87d37b20d3fe6fd9a13dc00e815b708e3f5ce150b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "atendimento_cliente", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "69cb0637b342a12d2e21af11ddfa913567f7fa77f8f2c791ea4dc86ecb8924f6", + "source_records_hash": "ce20afab36ab67195fb803da5e8bf699b16827e35e0c5440b44e3c4a3f15e024", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "financeiro", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5b26b637747670c681c0dac125654ef78daea58581d0bd6b79e91ee0366de0e3", + "source_records_hash": "6be2d0ef21934864254076267f5ca40cd7ab223d9af8c7b9b18fb752e0a94be8", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "contador", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1c67e713788e1f7a0355745dc45f7b3eb61db8e2eeee5bf356b6c7dcbe1740d1", + "source_records_hash": "f6b6550ab42a2390ac5ae1df53c45804e7eb61c629e195a080c47b8285fd4b01", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "juridico", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "973bced835ed3c777936b2fa78b3a14981115aa77a8008029f71c2945eddd7d9", + "source_records_hash": "93e63aa206b69c819174fe02d4fdfbf18414e38ea058d5a1938d21deef7297b8", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "secretaria", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "aa02208a1a9ca65d76e091ed21ae2ad7fd853f4cfe7795a16200e895546f6763", + "source_records_hash": "6ddcd3b290ccd3b42e7cf81ae78dd4a934c76befd256b4fe7499a4a3a17ed56e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "tecnico", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e770bf5dbb87093ac353e97cb833c99c395cf9a30f66ecd54c0ac1b165dd88a3", + "source_records_hash": "ade49f56157091944c9df485201309c83829609ef678caf070b35f6ac1d9ea85", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "usuario_final", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "83809c323daaadc6314e6096c3594a3b5636fcbe249468f9c8764593def574f2", + "source_records_hash": "f52b418360c4f77540a04e798d739310b398723cc7f1f7c25cdb393907578bba", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "cliente_externo", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cc05a9dd8891cce3215e73d02492068fb4e5193ad355c8e444f672f65c547b66", + "source_records_hash": "1987324fc9ee165665949de47523349b00a9babe033ac67a79ac7cc6c1b48e90", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para intelligence/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "planejamento_estrategico", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c04f723211dac525aa459b50f229fab8493fd471f597e3cb4531998a5192388f", + "source_records_hash": "7424adf5804664b14447e7a73cc6a67cb44a39dd9c521c1851781a4b39267850", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.analytics.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela analytics em intelligence", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6f44239c174eb3f1f56c0eb1479db8cabb6ea74835af332dc0e48d348ff9ccd6", + "source_records_hash": "7a890c7ec3d7c1cc5b980fd90eb46771e735131bc69131898d42c0e8e4869a4b", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.recommendations.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela recommendations em intelligence", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ffe16e3a75435943b3c40ba8ba7fc7b57263a0809f09216d79aff4b12f9676b3", + "source_records_hash": "8dca1790002a30de8ac291121b8f321e6a234adfa7ddc8dc011876de77c5efd8", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.risk.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela risk em intelligence", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "70a87fc7c0015d0f466b4d3269949376be97e94e8077a941bec8770d8db2a30d", + "source_records_hash": "0c2b9e84b59daff4164af11ad94fb159b52a014c39b9f3bdd1271f2697c0934f", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.prioritization.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela prioritization em intelligence", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "751e706af6270334e888e221f9824d3be93634aa139fc65500d012eec7aeca5d", + "source_records_hash": "8910f522a9e4ff37f5761516cbb07f657d97816eb565437cf349644915f28336", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "blocked", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para intelligence", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "355e34331ea6b6cc8e5e447d6aa177b8bf285d4b863ce806cfa3fc218f0c2280", + "source_records_hash": "83fd93070d4cd4804cd74bf9f5b5a20a16d4b7dbff2df56366bc02da535b2d91", + "source_tool_id": "mais_humana.transito.consulta", + "status": "blocked", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para intelligence", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "41a0d9f85ca278a28220bf6c45b37d98fea90e7120b7221f31c6dc7c1f046eb3", + "source_records_hash": "7904c10a9281c9c38e26d19c6dd3a8b3fd85833b410d4cb082dcfa5cf3984d2f", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "blocked", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para intelligence", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "54d7873cbf5f9dea91422b1c3e673044766ab7819bc1f29b36c592df6c1e7db8", + "source_records_hash": "d699f43ecdc0239e062794c90f03ae1c3916f5dff6a49719eb840aade905266b", + "source_tool_id": "mais_humana.transito.acao", + "status": "blocked", + "tool_id": "mais_humana.transito.acao", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para intelligence", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "11c9b092bb07d78770dc97c32bf2825ee03dab18ef405620cc1535434355412b", + "source_records_hash": "3dba9a79851279acc41de234bc815c294da2fe604a0de51f6ad2bc06e151ceb8", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "blocked", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para intelligence", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": false, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 1, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2360bfd5ec098941eb9487fb5cf620d770a7c23c4da642ad8dd875b3051167dc", + "source_records_hash": "42fee4c5f399c2d91a1fb72d4f8f79344118b3cf892ba0991d31b8e6bd8f6a0f", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "blocked", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para intelligence/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 10, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "bf2aab6c3211308c97b3ab883af9976c8723b53225601d332b809f348e72fb57", + "source_records_hash": "06818d71b9de46f1fc3572f878797fa03bce300026ae9a72da7c80eac3baf3d8", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para intelligence/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 10, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "231e37f2562c767d992480771fbc0fc7821d8bb4da2d58847bf3d2d0d7dd9167", + "source_records_hash": "9d708015138a2ef7bc0e485737da57781b5a8be8030ba12a0e2f254d6cf0260e", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para intelligence/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 10, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "209a729acb77904e6879ae4cc17de4ad87c471032604a1bd421a8fa969edfaec", + "source_records_hash": "eecc8d217e1efd5a47df5a3e8325f56fba90f3f95c3b089881fa798ed9c9f211", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [ + "catalogOnly ainda nao formalizado como excecao" + ], + "contract_id": "intelligence.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para intelligence/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "intelligence", + "profile_id": "todos", + "same_source": false, + "score": 10, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8037ed02c8b6df5d16fb72b42d80559be22280b227856d037c16eb6a57a55cc3", + "source_records_hash": "42338ce839f90ae99862f35fcec2f1cb053ef3aa564731b4f24585e1febe7352", + "source_tool_id": "mais_humana.redaction.guard", + "status": "blocked", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "catalog_only" + }, + { + "blockers": [], + "contract_id": "mcps.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f63f364db32acd6bc538582edfc7c0ded628be2d208235a1717e51e2c8a1f716", + "source_records_hash": "d3bec55deaff73a3cb0c7ebcb693867ec62e791bb7eb1e85fe93c43411cd411e", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7afde5d0a25c484bfe0bbfbe3f6af8eb33a7d14ab7df85e686920f5caa959f8f", + "source_records_hash": "c45b7e3a763fec6c89d3deb2aeac90eef83fa61c7ef81e70f2e6f0a7674f86e1", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "85d2177ea1fff063c460a264eaff4a9835183db34e40c7de8124f4565ed94b38", + "source_records_hash": "f1d7361d18da523b8cb198667c14d3cb99d229c33e790d6066a23a260c4749ff", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1079dbd5a060987e90831f66729c0292ce746e6115ca7613696041ee269a2d87", + "source_records_hash": "7bea6dacf65d05f08bf62e56eeff76a4f17fd87d4e12e9fbfba62ceacfdf9b1a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c03269ccc06ff52926e4179f2a67a133e68477ac3bf4137d43d85bb92975fe6b", + "source_records_hash": "3612664f0c68b08437f326c62887748535adc677644967dfdbd9c3fb0c4d7220", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2caa5a9b859262f814451274b7c28abf3c3855b4323b0aac9754ed5530a56832", + "source_records_hash": "5a8600e9e1c6ad16388c7dca224bd7cfe48852e628d3b5165331de1e9757df34", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ba7dcf0c3f5e055c35c6c79de4488c8b6c7e80257eac2430d4c108fc1f81bbcd", + "source_records_hash": "908b6a72167b2b8a23c8e17397b09a04575b7c9930868e362a7e7ef423db611c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "14e86607c2d0fc2c717de8aa09b0d9908c8f175d926f6bc24a1dcc1c3b3de0f9", + "source_records_hash": "ab0faa7ba76e11bf88e6ca99fd92c031dbff778505282509c5159414606a3bb4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "eacac684eea54d5c9104e713b192d6593e241b17d812891559a87dfd05e9b37e", + "source_records_hash": "e37c6cd20d7af17cf65319d6c5583fe5b7723073b29d15eb3b39ce29845f4d24", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "47edc20df3b10d02aa0daa69954f72b1c09c141f31b85c66f1ff078f854999bf", + "source_records_hash": "8949ad5d487f5beda4ff9ee470ebcada61d3d3c582785a8e2607bf1be1a7383e", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0786628caffaa36df1f7ee8fd7bef1dd8a3200fbe406ddc444de64c117b77f3e", + "source_records_hash": "7fd1c5aac8c61e5e95a69097f35c005162a70b56de54a7f797faf246184eda92", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a96a6cbbae66bd2ec912b43d2a8e05fa716f892bc094f00ebbc7769fb7c349da", + "source_records_hash": "5e72338833c236f4c17c3bda5963e8e07ba5fdbb8cd5ad6d297508e871734715", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para mcps/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ac34b7e70eaaa0d9af71703d26122ad6d5611dd45c2b74df2af42e685ab17d6f", + "source_records_hash": "7c64da379a9ebf6c3bb60c2e371b3934f252ca6c198fd324ab2ffc2cf6485dcd", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.mcps.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "48b64c470e93d3ea597c206279a1edcefd5a01486ad1a6d1442d9bc6c92d448c", + "source_records_hash": "c8208ab183068d000b4ea423655e519a6e8c444901de5d52b05e39e409058c14", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "829eabe8f36cd3a4eaabfe44f2f16611624c17050857fe9779254c1285251200", + "source_records_hash": "cab473882c1c31b9ab53dc0acc22a2a667e8cf5159c2beec8ba5c28c617d93a6", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cf6000af443de08a4915beec6a81d56accf5923319886778b16a5829d1cb9668", + "source_records_hash": "7510af528628a0a75d25d6f041b3cf7bdc7b1fb0f9efacfda0846b2a38cf05fa", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8e4114df6c9cbb591c09aa7de76e32a8915388b6c8fb72f4499ba4a9f4f7e599", + "source_records_hash": "a168f64567d13431ad19d451420844a4309d7e77b78951b14b58c30dd7ac321c", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "09fabb90aa7e56ff2cee506c1982ea0e15bfce1e13673477fb6d1ade04dcb624", + "source_records_hash": "f9176ac4479d6d1008d547beca97cb492d07f2cdc6ea150ccbd2a3beeda6d03a", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "46f8666a1a07b731cecd8d375df1616fb4b5c9022fda5ff64b7d0ab3b0dd0190", + "source_records_hash": "119597804074741c72d8a4c8b34e70cb320ff6419184b715bc38eb1a214718e9", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c588c85be2bfc5f143675e684f14e5fc2b099a0dc2fb2779254bf591bdca61d4", + "source_records_hash": "7ab7785e4b094e78fe78e5ad7c241f12cf295731a4a7144b47e1bfc929451f20", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7f3d144e45b1479733e8c8516f9447315826b4097d8488b1bdadb0a27527c58a", + "source_records_hash": "907696dc64c643b54f49a3f0e8820650a2f9484145e6109c77b25c4604c298b0", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ab51099f3adfd7f38108b5bc893bf9702217c837ed0ee8b2a76f36345df0f6c8", + "source_records_hash": "e515d510ac932ce0dcbcad970011b66431a14e52063f9754635b83bd1e1405e6", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9f8c7b3c48a499caf12a3c2c58b962f5077fda13552b7c127b12a50084b7496f", + "source_records_hash": "76c9b55853a5f49643a3e3dae795c910f6a3261d85c9c9bcdbeed0d1492d919b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b1bc5454784fd5b96160a3c8863869399fd89ea61f0e2e802c18166aa70aaf83", + "source_records_hash": "835a99645a8e5837c3130d9d3fcafa388d4ca3ff46aff9ef65ace9042753530e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7c8303760e5dfa4d503ed67aa677dc602562d6335f4ec79871806a9b0aa81c8c", + "source_records_hash": "2db58d9419213c29ca0138b5ef262c203a2fef13bb58cc4c7daf00f74d1f47d0", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para mcps/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b8a679cee0a3aea40f42f8e0100eb8ee7747a6de4561624cadaf4ab6c671a622", + "source_records_hash": "ff6316cb03fb3297cfb21f9a26f1e4aea952fd339f6227aa47c4cba7e03cc815", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.admin-ui.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela admin_ui em mcps", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "74004e4f94d3af9fe8deb623ec159c60c41692f3adb8cc89b2b34863813d68cb", + "source_records_hash": "906fa74e148d2a99326f1eaa95b95896914c9aaf44143f8cc3ce59c9675ed75f", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.tools.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela tools em mcps", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f57f55061b106b8f6d6b50b70e59545f0839e1e9ffff171794e9a1979f4dbf8b", + "source_records_hash": "0a4a9777f8c71931304726f5d1ee8b741998e575b487d076e4721b88dacc84e0", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.readiness.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela readiness em mcps", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2f4fdddd1c79acebf639c40eb3ea3375ecb5ba3932c41889245ccfa4df532cf4", + "source_records_hash": "8a4b80e1f43d06c433b00bbfb9c90d8827762eee7da420e982217cdcdcf098a4", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.samesource.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela sameSource em mcps", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fadd5d57f1d45cdfe89d4e07612ef3afe25677b1c1b5a355d8c1aaefbd4966c5", + "source_records_hash": "d04401ec8a4da0d36c1115c5106cb276d016d09b1e84e28bac7bf3417d76c3c5", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.evidence.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela evidence em mcps", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "eb2559ccb8ac3bec49319cb17a336e9cd2c6ba28c7b40c98edeed1cc71b292e4", + "source_records_hash": "b86b494905c1474d67588e6e8c525374a2083f3db37762754e05877d61a6a087", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.catalog.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela catalog em mcps", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a1df53048e581fbe93a55298687ae40883b6ace185c623939e11a755d46ce732", + "source_records_hash": "c5a247497b012e7f0fa95f2e878d9002e8ef5b1c08ade42b92389dc9b642538a", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para mcps", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3ae152046b7ebe92482cd03e70a6f9ef0067d5cb059b1a67146f4f76148a0e16", + "source_records_hash": "98fae887fe4587dce8aeb95243d7e4fa24f2182341658f83db20152898144157", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para mcps", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "716fdc23fa44e7ced71a0fe477e39565b5060e727bad569c856569b62ab9f766", + "source_records_hash": "85d0a0ae1b969081c361f77bca574f1316d1773e1363508c6b081dff21292c5a", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para mcps", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c153957c1c0046b1e9223a906b6ad3961cf15fcfd73b573ffe122e207f9ef16a", + "source_records_hash": "f6c0a6885fc49a02f41269daebb6c303d356156e6e80c464fb7bd7ad92c0a0b5", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para mcps", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "004ad2806ff103922238ab1ad801bf936ebb6a9cf6d69ac2ab209f9bc8782680", + "source_records_hash": "97e48527a506d6a97991775950741ac07e84f15c68c329230d48f7badfc9a18d", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para mcps", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0e83a80c09039a4bf2b1202139ac3aef0e0e5da0e23abc6ef8549a5fc69394c4", + "source_records_hash": "27a1d5d94ee552aa3b711c110731797dd27d6238ded30a3ce75cba874a95f04b", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para mcps/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "538dce0e8dc2ddf69b051601374f7ffa617b3de310fe59126405257198ad6be8", + "source_records_hash": "bf4815e9b072442f58286ba5b2ea72a81ae9e2bc4b02175b4aee3e83a9793b76", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para mcps/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5504966d629eb4c4896bb38fe13b87b2e29b1f8ad44a2cb87e2fa2ffa115330f", + "source_records_hash": "a324f333340b5c8eee80bd1dd25bf15b426eddf6013e23b4b4824a074cd00a95", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para mcps/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "48160668032185dacab25f33f28f1aa44959d466b7f202ca15a411ba5ee4be34", + "source_records_hash": "99cd58ab43221400fc1866dca44deca07f9fa7c72196847cd9bc3b12e45ce154", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "mcps.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para mcps/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "mcps", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "235667c845e3c6ccd02ac0fb365eaaf5658d0f867ee61b80843f98b7064535ba", + "source_records_hash": "b8478ef22796f80b14ce63b5dfa45efe422321ddc50429673bca2ecac3841d6d", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "platform_base.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f5c930d089539143f3b3e819812cab6685a3e209d4e0da4e2cac66d6f804857c", + "source_records_hash": "96da77c0053c091282b1f2a7400c74f6daa67d2d0d1fd415d110a379c07a70a0", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.administrador_empresa.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ac90a753b12f0c598c87a3074310f689f77109c2ca51fa8a0279c302575fba0f", + "source_records_hash": "4440908adb6db6c934ce34d9dc0b8774667f3c3f69698f64cfee328c86a26bd7", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.ceo.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ca6d1c24614b9498c767a5db40466a41aacdfce71454d5d5ab5ba31f78a49f09", + "source_records_hash": "f717006d8aa4610f1cd68db647e78f3f396d14e599c65a03a39d7f535b21c841", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.gestor_operacional.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "56fbaea7e8712c6fb9eb420ce84550b98eb80ff87d91ebbac8db89f0a1eb1847", + "source_records_hash": "858d38de5d8dd0ff1347ee1f5705a235863f21aec15ad87f8b79ab94fa296619", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.suporte.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d32732d07e0d5b5153e8a3ee935ad4b206b95a4a8292823867dc9da88575d534", + "source_records_hash": "c397c70b0550e2adbf1ff1e516c0be5fa46e1bd2f7945e7af185524a754f8aec", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.atendimento_cliente.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "926af4e038b125c6ccd1d10975b26129161ab4b5e8ddb94c4da2ee7f4e141a82", + "source_records_hash": "aaf69be5f17e034136b41789cbc2f715c9ddd198560ba08f3b0c83e02da8deab", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.financeiro.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "08ea5c4ec6caadf768afe7d903670021fc7ebf04620b1dd737c06743d2a1781e", + "source_records_hash": "134fd71a01caa593b677c5c1267879cd0832c0d6982e2e21173747f6e86f2d89", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.contador.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7161190a526b770b769ceea8b5adcae9a752e713a1a9bd289d19e2205f9a074b", + "source_records_hash": "0dcd5ff2ada95fa2d196971eee07c4aa898a26a128df43f62beef32f79ce4cbf", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.juridico.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ec150da6bb9355ac099f025c0a4b6ffd3c7da71168289f9f03574d63497cadf2", + "source_records_hash": "f4fcf773e81d5dd374e90f11ce942a08b46c4b9fc650c0db163f44528f6b90e3", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.secretaria.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "11baa64871e5d8e5ae6e3244b68fe11f5c63c778c83a60da0e9c63fda96e94a3", + "source_records_hash": "3c4552ca5e76915061f8216d35c16158619bc3fd620039a1b5439d2415f83e01", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.tecnico.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "62f5eb2945d3eb2b35b31862aff6309ee7599f610c0621ae0a75aae13bf3b811", + "source_records_hash": "c08c4ff33b65f924b60f035bd9190328b56c34447fdbed86628364d18ab08bf4", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.usuario_final.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "72a518fad763d81c9e2ad2abc36d2ef97d03ca9898800387a515b23e2b6ed296", + "source_records_hash": "97222235514e34904c1f4787913a72a12b1b48d41e66f065ccf4a3e869575d98", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.cliente_externo.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para platform_base/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "927950e90cf38cf8b177beafa879ed428ce1a908a0d855d5300a2aaa1b63c368", + "source_records_hash": "d01181d2b3826b7e786ad9e8f220842b47bd805be7ea438970969a32eaf35586", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.platform_base.planejamento_estrategico.explain", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5e2b1bc79dadad8076829bee19ad94e802811e8cc85180e5c0eca306c0dcf0d5", + "source_records_hash": "54d27f22c5ba0ff7bec73a69d539fdd15f9daaf99f4db901ec32234dc4829255", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "14b7562d0a9935ce2d099e39aa9e034dbf18125431365ef44ff9e71403ad6ca9", + "source_records_hash": "4e43b9ace2640cf5766ce929ce430081a97b842404b18f446a280fbf96cc5ece", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b884229d241d11dc21de9a6b52a2de3518ae1b3c0de6160b9b0920d239d63588", + "source_records_hash": "e329ca9635200cbec608a821cad037559e990807814d63ded01e93eabb5dc9dc", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "60a47ce60dc2ea748921db71fbd58346df8a48c0cfe3c94dd5f4a9a35847cc4c", + "source_records_hash": "246deba2f7fd9c9bcce59eacf734466981c9696b77a1a1d9dd0bb7a0bf03a806", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1e25fee1869077577a9bd80bb69565b6455abde49293f8c69a15b250eb01c787", + "source_records_hash": "570d49acb9a0d2f907f008472c914c1d181ea69a5dac95c3a3ea0366ff84f214", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3706866a04f20767e737316a8bf4474b52360d826aa7743c72238a83d642b0b0", + "source_records_hash": "d24ddd90a5b288af47360d8865bec5e36e57ac43bc4be3b81b3952489d2e490b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f6b4765076e6de8e0a72be306df5c161f72bde2e4d44d1d72296d2b408273450", + "source_records_hash": "0cd38e67924de303245013126e1e1b6bbca8a09374781036037e904a54b70a1a", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e6851a17f2a937bda12dc37662a8b1d1c3aabcd761c38fdc50da18ee242bd8fc", + "source_records_hash": "1fe2b3db7d605f80a04fc2abed3673874831c510b948c1e9243878868838058c", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "eb9afce67bf5a189cbb7180ffedfe37c0013849712cc51a3bba8c02f8417fae7", + "source_records_hash": "371ff13d753a4fc0f9292b4959b0d5c014086940ed4ab3e292283cf44f8be4c0", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fc181b3ea7f31895ad54a1c1c6a647cd805ad6a879d7ff0dce42a7e0dd520215", + "source_records_hash": "2caf6e485f6f80050d50c6e3176f43842efdad1fb04e1d00156f0a4c7a7da087", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ba329899a9df91dc1aa59a98d095d5cbe3ee3d3ff6259b341abca05b0db91147", + "source_records_hash": "a78f8b8624b74713676950bc340ca31498faa63d3e9b02db5ff91af156c49ed3", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "64e19d416a4527794b17d2aff6b7da1261fc4c2e5d3d4ec21d9aac30cb51526b", + "source_records_hash": "c375367e665741fbc0fbb26f5171ec45ff1861d349ccbe236d3a72a5ec07b4c7", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para platform_base/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fe16f43baf7887dd2ef2d285260c6a9044155522aa8a6dd73d2af06a6023f2b7", + "source_records_hash": "ca6286f2e75aaac9e344505ee6eb2dbd3cb768f6f763b396dd4b3371ce6857b6", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.templates.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela templates em platform_base", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "eb0c54efd7aa456b255fa5e07cd0d7bb32381f9919530a0cdf799369c46d82f0", + "source_records_hash": "c0a0ff8c4e0f97717bd444a50c66cb0662d3bcacfc44705af53034a74e8caf0a", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.standards.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela standards em platform_base", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "720e4c24ed3d6d4e52d8cf345d415e6d3041d7b122a73717fefaef29e48559ec", + "source_records_hash": "558aeff86cc2e24aea531c68b635fd09b4f43bf3f33da81c7e298732b45c643b", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.contracts.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela contracts em platform_base", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "608355d42bbe727df7ab637815e0d7b3c5ca483d32a7700d0376b11758b2e7cd", + "source_records_hash": "9cbbe5fc4e1f8542b156a36432271c42f6859f85e07266349d657fc0025346c3", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.shared-runtime.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela shared-runtime em platform_base", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7edeb422ac6b5cb0829811061fe3594e9edbc931cebb8c13be719b70c86ca671", + "source_records_hash": "44606375baac865d833fb597545b9bac6ad5b42f05eb9facbb46bd48353137e3", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para platform_base", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a2ed0f26e41bd546d583f5229f8a56a8da2aaf3afdab9c68116fd75503f7a6ed", + "source_records_hash": "de98d667317381923e220ec0b81e6e6ad6ffaa84e9ecc7aaa0d8c4369f422fc2", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para platform_base", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "55caa5396a425fc3b31e51e3efcb79f6c887483d047793033f22a1973a8e5376", + "source_records_hash": "429de56943b494597397c0bce6f0ce0c918f86d135edca2c697d800db17d08fc", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para platform_base", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2b33a0f62462ed22501e4a043e4f724379b6ee831bad4c84e302f92b9af14472", + "source_records_hash": "cad504720c8dd7716d3db9ac8280c34836f49e3ae3747184503b907596477a5c", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para platform_base", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a4c7007b05f54cb56af94403c9eea9c8ff9eeaa25c9c817d974c27ae841f229e", + "source_records_hash": "d3096bf99b7c2c264291b77a40294dba0d9bdea0915c5b1956ef1d41130de0e3", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para platform_base", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6b46fb484128ff895b2616bdecd927a9a5b6be87b881efabfed6031c9b298b0c", + "source_records_hash": "9cc9ce968826ca8740cd789712c29c682cf83d62cfa551f63f10da1ba621ac5b", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para platform_base/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a978d316ee16c41746984e90a7c9c17559a55dd9f935f4e60278ae6036cb0af4", + "source_records_hash": "823a184b1b09f4d52fc551233d39d63c9bd50964fb1a973aad8f0da46f57b7e6", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para platform_base/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "500e7e9664b46a988e3a78d904cab26de67212aea14546cc5719c2063449386a", + "source_records_hash": "eeacc915adbd277cc0c275730d69a6d21fe63576d3372a57165af759cc3da5b3", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para platform_base/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7603bc2ca4f1d9d50de4bf416ffc068f3a35f76e254c17f513a10f8550447bdb", + "source_records_hash": "cba05bc15ffd68a285765f35ec044688e7ebc829d340b9b625990bef2e14edb6", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "platform_base.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para platform_base/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "platform_base", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "eae450c14ac78cff46a52429df876ee8190fbb8793bbd46e3e23cab93170102c", + "source_records_hash": "5df5c7a948c2c841bdbbd6d6c1a52d4ac431debb7467e571c91fd16d38a6ab65", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "derived" + }, + { + "blockers": [], + "contract_id": "public.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2b393872f193d84a81a700073f4d7a49df00a6bcd88771322cc0df1273ee437e", + "source_records_hash": "bd53aefd65152457039af7bd545980a25734f312f41988f81372cde65a45b747", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "80865e4200bdd5dc226d1e1e3c10a4f1b6e894acc4a77b2aa973127aa60b9db8", + "source_records_hash": "4e59a40d2a75fa992661fd1ecccdc5319e833010ddabc77299a307b8dec83cd9", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d5a179ea1db51417d1a372a1ed601795c8ad21b677a49258e04e6bbd5b0fbe34", + "source_records_hash": "887cf98f359234e2fe9d08d21e7baee13bc1da1e6c85e311d6db5de236157b8c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "dd5a116285d2e1e43b1d02d45c737092fcea6a0130a63deaf88a5da79fc90052", + "source_records_hash": "e7f4fdb7248ab09be152f51b3cd5f08cbff604c3f8792bd66a97657990f69206", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5aabaed2833debe459a05d15ec282722eb83cffac529323a7557d7735af6e9fa", + "source_records_hash": "0b2ef0281d21b45a78524cec2a31f87e3eb4d90394a9597a36959eb5de8c4f23", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "19f782b31e5ddb5fa59cf6f9d98d785f6412ef6debf1ce6bf9fbb08fa27afb56", + "source_records_hash": "1f86bb7505b6b28d65730fe62058b45a5755857263c1d64361e01b06054b9651", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6c705590e488f22877ae958da525d509a9eba60d6a6521b3e2bd820eaa75dbd9", + "source_records_hash": "af10e8b7326b42d021e490f1201ad7b4dbfd9db7ae547a9fcfe1998f05833cee", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a5232487618bdd0b716530db66a37cfaaff3133a1625d19ef91bbead31cd1fe5", + "source_records_hash": "6b4e6104fb4f558a12c75b18c3ffebe5a875958b5a7a22406095a92869f0bedb", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e67d5ff5491251625da4a45182268cd0156f244ccc13adc9fa8cbe0c71dc1966", + "source_records_hash": "8460c7c8e18f2d43a0e8efafa819a652576f97eca314fa7459289f5df2be072b", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7b30af54c2475cc6f54c4a9fab0d5ef4b526dd4ef8a6ec5d953858474a996872", + "source_records_hash": "779965e7d8a848b94d3af2777e7606022bdb9e4e5555d2c3038bc686ea46c29c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "34df12629065fd2a8425c86a554116c19bb98ab1709f606fbc235c7ee1a2afd1", + "source_records_hash": "c9a59369cc2dbbcda09f463beb66285beebbd4bab5f76eaf49b0c30d77d25be8", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1aaddbcbf0770372e0ef293bdac089b0a75eff3ee1088d02c31287f1c6fa8dc4", + "source_records_hash": "af1764d663fbee2f6b9e65b405ccda99fe2a62881a8904c76435eba82cf11077", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para public/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "145923390cac2ebc069c5e54a7bf671f5723e49ef68311817caa10a684a6cb20", + "source_records_hash": "a95935a90c962ccccbe9b67c14022e15e10de9c3f4d776fb5d53d442763e78e2", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.public.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9b7e6cc7755e7b19c1c152bb1f0fe5cdb6b71919b5bc86d7e7ccc6bd1b863b98", + "source_records_hash": "ee3397d8ff5a4abf03922af5e6c2178dbd291b98fb3fc533973581ec24951988", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "76e24c4e1a371f33fb068194641261f7ff3090de3682d08fd4142bf50da5d59d", + "source_records_hash": "48bc8080fed1fdf3eac120b58824c691f1fad8ee4e5d2443bc25071ed0508d73", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9ed068d0e95e027c8442bcb0879bcbac3adaf0610f0b19509936dbc72b3f9de2", + "source_records_hash": "68c60427e55085f726010e20ec54d2230655116183952df7b4a8d79c1ef3db6e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ab9ad476dda12d48569318a6d02dc072ee5325f8c57a08cadb25263a9b42c092", + "source_records_hash": "c4db0e3a392f7265a536cd13ad681d02a031ce641da0680896cc9f2e79262811", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "026805a291ea379d8b4fdeff01d7c32d7f5c34055eb4ebc3a574ed86a033bf64", + "source_records_hash": "58f49439a146dfbfab495c38e6c9b7f07af18ed55c356ddc853de83d005c5e2b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "02515c7324696d3ec9d9ea11a605f8f28dcc1588dea252a6fe95a939a704b9ef", + "source_records_hash": "aaadc580f6ebebb8d767705caa1389d45e6b314ffc164c3e29ecc46e701580d6", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e30d75a9e1d8725a38e5ac9f359d15a4400789d44d9957a112058008769fcd11", + "source_records_hash": "af8f56edea90fe2fa8cd1eee2fb4241728e447c867466b6f0d5b7611c242cbee", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "391eb0af09c83964b8af99ec646715100e0eac8aec9174629971b13040b977e6", + "source_records_hash": "9341ff6ab2127b7eff4f5003b9bc1c597a2204bdf17c3bd6233b34fa0dfe6148", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0453b8375b01bd3e64786ca539a27b1c1edf02060a8b1a123ead23c5350a729c", + "source_records_hash": "7feccfb4c8abe51e7ae0f591364a01ffca45a036ca692b37717c032f1a4d486a", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e4686551d4acfae883c4203c0728676b433f95422d1e081daff25b09a54b6e9a", + "source_records_hash": "bbaf2ed72d32b9a58253203c55459fceed306b0a8e08d9e8f2f11aa0e956bc2e", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f128b6ee0fea857d6bb559c33f5fadbce03b744b28d1a6dc425bce2a8f7bf593", + "source_records_hash": "331a3d7f92405589f2a14a399da2cce5c3a1b0d6f4c358698a0ba222106fc0dd", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0e237049cdfdc2b76710fd03f8c3f472b98c146703531957a1263bf7ad3a80fe", + "source_records_hash": "bbd5a34976fc8c02999d000e01ccee7c38999ed0bfa65893c0da603ff204c959", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para public/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5ea243f32727fd7124fd0fd196a0717b1a3fe926de202b4ca32cdee6914192ea", + "source_records_hash": "ea5e464841f01e795245a54bbf91481b25190a9c89b61e1c46c55dfe19b40467", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.landing.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela landing em public", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6eb55f701b979d56770d5c7dd691c31c5693e032bcca2495b529b20696141d15", + "source_records_hash": "0ee070dcc7a44b509940964cddbd8b0c57b8642ca31dafec0cdf076cb444f91d", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.onboarding.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela onboarding em public", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6dbf5f19073229e902dee2d99107d94463a566382cffed3a8998bfe4a413fc4b", + "source_records_hash": "d68cdd00e3946e89629f9131486abc046e8fcfb6175b1a7783128ff459f17a88", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.public-docs.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela public-docs em public", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "268f0e3ceb556d2d3ed492f7df900a4814ef854e5a87df7600fe8337f3c5f1db", + "source_records_hash": "af732a416daf1cf143e4763c4b2d3c2e22df892b8e5443baae0336240b92d5dc", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.status.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela status em public", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fa7e1d3d86a7ba8aeff4fdf90687a84f17cd477fdeddf30056f6e45ba6ab6450", + "source_records_hash": "88e3d82f596107e77755970b3d58c9c968a7b9f7d4220b90497948ec3d8c417e", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para public", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0c876f6017756132602231a71616461a988c000a3c86303b0c3dfefd81680a22", + "source_records_hash": "ee5076a84ae2053ef4eb22fbafc0e24426efa0f21b4e2dd2efb06322c68a1aac", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para public", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b09c67f1c91fc5106586b26d5ad1e7aa5a7861f3998faa7d296199428af05faf", + "source_records_hash": "e95e561377b292f5e64dcde8be1002c36b60cc7b9cafab8d439e88ea3f7a0976", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para public", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "209d286a2c8059d3f9050c2080814b21d51908198fa5b8447ee464c04743c7b6", + "source_records_hash": "913f7b2a679f5e05f608879d2bd27b711b228171b2c7e5813dd2834ead3b6a25", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para public", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "285b2e96612310c3d069b550c146e8b9fa5114247fee2276b47e36b0ea0d245b", + "source_records_hash": "af1e69724c1bbefb9eec6609556b8036e34742cfa99a106598a53d2177cf1744", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para public", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "50c4afca29e61fa67e5757d7347fda2267379df1d86ea81a249d5187858df7bc", + "source_records_hash": "823cf0ac17ecbb546c8a5e7350e80022862ad38b227713ac06fe6b228be5bfe7", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para public/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2b98e80028f5cf39118372802500fb21079d77c82e9156b3dc327ce20a6db3f3", + "source_records_hash": "f1e77315ae40a7101b7ad10e5f84d34dc877d7fa1a70556790a4a74456be98ac", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para public/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4c44bde5865c6032a70528079c420bd0b31dd8bfaa09d0886b577572b05c4074", + "source_records_hash": "d9bba3bdab61c40e3e80069ae67df512229b7b59bd580bad4ad759f3195052a3", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para public/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "de77f349c7ecb4778d929140e74bc535a8c2225407b9db9c6475235495bca656", + "source_records_hash": "ff572815b69775b6f565c7d8f1267e4229a84b4fa92a59be0a8c67de80f0b2b5", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "public.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para public/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "public", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e581fe55bf2a682633ab8d21bdb47cdf49eb0a8908c3f91bc4ba58ab794398c1", + "source_records_hash": "7b80c27f4fdcd554a922d4d7af53f3a66cda2d21593380cdadda0797ce1395c5", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "626b05853ef79ecdaca73a3ef3d726eea108a4a6d84d442d793e4c1d47f06681", + "source_records_hash": "ac5c626979183b329e6043bbe5c3f6f8a814ca408ac9ac94fbcd6344d871e425", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.administrador_empresa.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5f41ce5df3b96b67821c2dbf4af4a875c65dd41be507784e0772be3d0920f9b8", + "source_records_hash": "895a054e6f9cc21841fd1a2db9f285af9375748dae77e9a29a8094ab4446c76f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.ceo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c9c34998deee98b1e53c9319451e557d361d9e910c852477c6732ae8699422fd", + "source_records_hash": "a1ef4c2f61f286da29841bcebe038f8dcb1472bf3d11577cddbbd9da98a86cca", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.gestor_operacional.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "bb76b24ff38981c8c0f6b310cd78bacd2b56672c868a9a143341a82580c33f26", + "source_records_hash": "b5c9bfbe497d26ee87b18820f7132e73da76b1e08ba6eacde83b99f2af130938", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.suporte.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e39453578a5d3071d340ae811c617abcc27e43b7bba4190d52f8a25d0e670e33", + "source_records_hash": "ecbac697467dfd414cde84d5722a6673c6eb27c67f7539d58f1e98377d9c9c69", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.atendimento_cliente.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4ac27ec03b48645c94b997c0b634bdcab31e7bfb12b04f7ec3e6c71052f1c760", + "source_records_hash": "41792f62f0e116c658d12e2954acb7df643c4114ee1d059f9204caadae728f3c", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.financeiro.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cdd23b9318a3cd66439e25c7d84e97245a63e5e4f781849bdad9587216ecf006", + "source_records_hash": "c21caf856d6c3368d14b0b842103fab15c1f6d0742604949d06ccdf73dcdc5cc", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.contador.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "372b092493cf5061a97635a8ed597e44d5a29fac4c627983b48e30785cfff7c3", + "source_records_hash": "5eef2fa043a2f8687472a9c80517a0bff1246759a05c926a541b0d38eb4aa8a0", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.juridico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0504e09d876fde7662b1785d41e6fdec41feade09b3c6d46a708e785386c3c0a", + "source_records_hash": "9a0bed885179ae98730e103e3098563c5d8e09a85725e95055d573c684e17ac3", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.secretaria.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "735d7152247eee85a6a24f0297e3afb394f1349ff810537aa6666b4d3142f4ba", + "source_records_hash": "4a6a4888ade800cdae109ca49339e001fc06175f3dcfe29d3e31e1be8409da01", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.tecnico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5c8490bfc3c65e8bf94cc412595a436a62f365c814cc69fa04ca39d197960853", + "source_records_hash": "825c801c33b5f6cb0f2b96a4e47d2a16d264d4f53aec9a46c97fbadb4ee8d1fb", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.usuario_final.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "db1cce0229eb7906cfefc66ec7d4b23295af8b5e78c2c9e01f9b4b9a8491f67a", + "source_records_hash": "2d1a264d08b6cf431d41e0100ec02186d72f62d5daa01846f629315145003409", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.cliente_externo.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para stj/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "183387b4d6a954d2c8ad3b924ad624e89192d2a3c8c2dcefdb484453123e7f80", + "source_records_hash": "8a151fa1c4a71665717036a4f67fdd0c27ce18d7b0d58ef2064bef18e122d187", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.stj.planejamento_estrategico.explain", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8dca6c0197b57450b4a33847d705056b15a2d7b9da1aeb7e6483e210d4f455ab", + "source_records_hash": "20d547ae6ed8b8682e68e6bb936f65bb3db6b7172c800096aeaec116d64ec094", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fc034e423ceee1e91ee5d7d2771b289a113fcb6063e89ca0b16be977236fbef6", + "source_records_hash": "72e5aa8b813f424f1abeca305861bc9640c6296029662994acef8523c1524132", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "99578cab8658a698fbc309297f35d8814483dd7a3917238ed11d69c5554272c6", + "source_records_hash": "6f80b31176dcdf600a7585b23b1aff1931d8267c7f4d9d2a5c2b2ea3fbc58f03", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f9b94d9cccb8c40f56c7f94d321864ad24f16e5e25e1d3ac027d0fc2f928db65", + "source_records_hash": "d292ffc7e90f2e5d8577ae6463840c2c726c970850c4c3bd9b66939b5b8e8409", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "06214fe5e870535ee1b60095a456b6db096e2ab34429af4d73f6ececee08d38a", + "source_records_hash": "6cccf9b0e65782b34b90b4e4fcd69637c0fd9e1693ecf27bc29e4e4c7524f19a", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "887bfe7be360cdd041caf9c7350c7f13f37c2b091f6da20157b61b9a55777aa6", + "source_records_hash": "fcde0f9f85b5be6a1552e02ec9502386eca9ff8906e8441f70be8ac70b3ecf0d", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3efe536e6a03ba6d0932a12b604ce676f3070cc92baaa724b176eb8db67bb5cb", + "source_records_hash": "d3ba31a50a1bd46060ccd104bab59e7c6f8233d97618a84472cfbc0d847052e7", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2d6f260d001140d6dc8bdb08848f700554c4352e94ac160e0ee43160cac74501", + "source_records_hash": "6af886030b8201ed6c49d8275c42dff3d2e965380dd441cc3368c3e4aa4e9bc9", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4e4403889dbc2aa4eb00a4521cc58e1d617d2f1ec83f6fb2c69cee72362d093c", + "source_records_hash": "52484eb18820277e5e9aa32d92c5adad7d260dd3d0569c5439886cc78b1a226f", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "704941d76037e3c46fd0fe61034c40f16fa9c3a370084b296dd445de706bfd83", + "source_records_hash": "bde67a7efeeffe04936e1d1ed9f5b609a3b887bb4fe7e1de873d8336f851b1f3", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b9cffbc6733ad5ded685fda92b08ef0bd2e705d2f1fbc3aabe5c1510744e3d1b", + "source_records_hash": "8b9b3be8f9cabc2a806a980055ea9e20ac1d2a3d0e24bec9d3dab992a8326dd8", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "d2dc86e539e3f7e972db0b57af333b3ba9aa56f5916d9a6aa834e482d087110b", + "source_records_hash": "6743595a80409850fd899adac332c270be8998f4da72fe7ffdc5b72ffd587315", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para stj/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1f8cbed8bd89717bcb03f96d167a13e55b6eefa52154fe21a0e64a304a5cf188", + "source_records_hash": "4874898d4cfef14f9d37858c3825aaf1915cac5552be85b55ec0bdbfe4d6911d", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.process-query.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela process-query em stj", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "bde3edb41795a934eeb406fc6e53cf5a60dc22853e313f5684325d1bb3c6d9f8", + "source_records_hash": "e51c1419d8c616757a3c51c13d77b4c5a55b7244c7bf805c61a1c2ba574abc4b", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.monitoring.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela monitoring em stj", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1a9c69804df2e805866e2de28131c30e99537865c95fa7f3ae22ac58b7419fb3", + "source_records_hash": "ff51b52cd565d1945a12a0b19794ffec06f7f618aa2f298b336892b10706159a", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.public-documents.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela public-documents em stj", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "92d0416f321554944c218932dae7ecdad8315344f36a6a5df1949ec7fd03ece2", + "source_records_hash": "c8eb7e3b9b425342455ece6aa2425207efc143d7503938990a4c2a02d0fd24b4", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.legal-readiness.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela legal-readiness em stj", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5a85ac1471a25226b684ab9c278e0ad31cfdef0dc70e0af818d9508f8078f0e9", + "source_records_hash": "b0ab5394609a76bfac3fe363edb9274a1c10c43481aef5392213e91dabdd16de", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para stj", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ab307a4d13af9010934d11a2df02c66ceb8c9986afe278c3316591b5745f0904", + "source_records_hash": "5c89b359cbcc65c7c369c02e4252bba72ae0e259153b56eea31cdc8de4d70efe", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para stj", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c143bef59f00759afed9c69e8118b8131b044c290d59c2326ccd2d0473bbf81f", + "source_records_hash": "78b36ab73f511a2ce0934cc956924b982f416a93eebce1195fda4b94a3eb460d", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para stj", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7890d8f8507b8ea4a92764a23f0db4cdbb71bbb12961c2ac687020b79953d451", + "source_records_hash": "07162bb6d87131a9d6dd35fd25b074b80520d95da5c7a7c7f29658968c27b6ac", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para stj", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8c25d0cbf19317f08302cf9ea33b0dc6c1565be8447d3ed58a9816bc690b467e", + "source_records_hash": "4394a4cfd893d89eb4002ea064f8a175a31a869ff98e29042e26b80da5fc2cf4", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para stj", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1d3006fbb7c7a8690eb68edc04037658b6b86646c8a54e203f818adc93f8b606", + "source_records_hash": "2cc8ba4965f4e342d54187904622bc50ff00d0b5ee937d7b1c8e776032eb7e14", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para stj/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "09cd1df64c712973f6f7145c953729c02b7dfb86f635eb704e67401b6d877d01", + "source_records_hash": "00c1c878c8d02967f7f2608f4cdf23351ea0a2e18048439d51aafee4ab24f197", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para stj/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b19eb33390d3aadefee9474b778330806a7be7a17e2a8b467bc6ec052e8f2e72", + "source_records_hash": "c19501001ae33e22bae1025c8fb3ae943e5fdce7cdc34fa8db553def24d01851", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para stj/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "787cf3c1bff940846354d9c75d3af397799697839ac79488c2329f7ee3e7d887", + "source_records_hash": "0f0473ba414a35a6be495f6be9e67f21f7d34ae2073376c68af0c544169870b0", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "stj.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para stj/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "stj", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a26b851641ed3ae6f32bd7c0dc41286c80e6d2feae1ece2da9712928af99b64d", + "source_records_hash": "67d7d324c55ad5a876b4f53601b88997ffd1187c0da9488703e7c6164a887740", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "live_write" + }, + { + "blockers": [], + "contract_id": "ui.administrador_empresa.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/administrador_empresa", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8d5edeeedf30f7c177b0d19cadd8c9762b99b596b0b56afe10fe4f518d822cf5", + "source_records_hash": "778527d46bb3ddb8d65ab9b6236dc1512eb63245e23ce25736906f9c5d61bac5", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.administrador_empresa.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.ceo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/ceo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "c28645d6ec420720c91979e98acc18219084a0a4c0f69dc97591ba5d86a30f27", + "source_records_hash": "1e5e7dca95177599a1ee5bea934932ecfedd4fee47b4dc5abd16abeb377d4e53", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.ceo.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.gestor_operacional.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/gestor_operacional", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3c5bcdb27313ac9d4de83a61df8e86b1e4600929d4c1a480c6d4fffca6dd514b", + "source_records_hash": "5180fb5059770dde0d87dae2ada452140d6b9a8b36d7be1fe7c87995c523ea5a", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.gestor_operacional.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.suporte.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/suporte", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0092a82f83de22f6c08d819e638d1d753eb8b0f4a3c0d620cf8e752d08dbf426", + "source_records_hash": "93acb8f8be47561dbb43bee72d7241f23bb25c29f9011b6b514823886c202ebd", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.suporte.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.atendimento_cliente.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/atendimento_cliente", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "9d2dfe839d07b856e399982540e16b5e9f73be7ea96fd2cf91f9344cb43ecfbd", + "source_records_hash": "4276febe23449191481f77b228adbab10de3dd588ddb140786ece335369c7576", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.atendimento_cliente.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.financeiro.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/financeiro", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1dc0c6a1a4bee616c90e7ba2787da7f0d400b0a76a6f35362ce3587ecab8fe18", + "source_records_hash": "27177ba42502bdeb34cd45b723e439f56bb3be6fcc25200349176960199757f3", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.financeiro.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.contador.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/contador", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "97bb45b9bb86e61c47293fa2fd6ecda9b2f9515b98fa25f7dd53756a79ec5de3", + "source_records_hash": "e7d59ed93874d76d6534ac19f5acc43a7033043230a90d4ebb3404d3bf3abceb", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.contador.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.juridico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/juridico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "7ecafea19da0fe49959435f6b66b868d5c2a90155e0d287151e62ca93e4f7096", + "source_records_hash": "3b570755a849b7f676d061771c91baab996c18e849234af861b002d65f80ad30", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.juridico.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.secretaria.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/secretaria", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "cd3e3a0512a10e125620ddb43e9652f6a5cbe27b5245dea5795bedb158194b05", + "source_records_hash": "4c74cc52b32d1817e14abede4de921c7ca079c4733358fa1be334549a382146f", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.secretaria.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.tecnico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/tecnico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2c82cb95e60bd1cf9dcaf278ad49379df7906dd7f5bf8f6685632ded08009555", + "source_records_hash": "39c6827356f19129c560e9136218efcc282b646f68cf9f9fba894f7eb41a0269", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.tecnico.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.usuario_final.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/usuario_final", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "6dabe3a86f2aca990320ba30ee78533113b2b2692ac5ca51f8d3b7bd06508c12", + "source_records_hash": "cd7396d71161ae3ac0525fa0c7de01cbda270baad9251023ffd0f426a56bf0cd", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.usuario_final.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.cliente_externo.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/cliente_externo", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e65c4a5d2bddbc6592bc85b09d7d6a616e486aa0d928f29e62dd8d6aa81d2cd9", + "source_records_hash": "867d3b624164bedfc70fe4292490cd4b5a1952a2ec942c39519799e37f2a2d3b", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.cliente_externo.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.planejamento_estrategico.provider-tool", + "gpt_explainable": true, + "kind": "provider_tool", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "publicar e validar tool MCP para ui/planejamento_estrategico", + "order_ids": [ + "0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "fa1e98cf5529f472638b80ab70a05978d2c82e546e85cfb260db4783edb2b4d8", + "source_records_hash": "3c782752623352a41d92edf49afc2e7fe0bcd7143a46baf5f3b6ed05ad96e968", + "source_tool_id": "mais_humana.rulebook.compact", + "status": "ready", + "tool_id": "mais_humana.ui.planejamento_estrategico.explain", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.administrador_empresa.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/administrador_empresa", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "administrador_empresa", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ca7f11d7d59a6e731c416e93effd739d0a5d8b23a65cdcac07e089179ef720d1", + "source_records_hash": "21e953d387139b21636291851c177c1e3557258e1de400b077e50c53655cb1ac", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.ceo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/ceo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "ceo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "f010f301b5e26fe325dd7731a2fa7ae9ca85e42a42bdfea3a1e82fc5cd61475b", + "source_records_hash": "7d3affb12a23a045a3f1a5192c653413d8bf019a96b965e8e719aa267b991514", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.gestor_operacional.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/gestor_operacional", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "gestor_operacional", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "73c962287a601494c741056450a81c5b33b44d37dc9d2d01bef5114124240dd1", + "source_records_hash": "d0d359a6a523435e3abd69bef9f27b786f71821580d54135d805b910c79945d7", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.suporte.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/suporte", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "suporte", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "b9d39a10908efc15500ca86018401b62d620456eaf609287b240b2a0d31ad7aa", + "source_records_hash": "5bb09085719356875f4b5133c3edc8d06089e9212377865b240948dcadee83b0", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.atendimento_cliente.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/atendimento_cliente", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "atendimento_cliente", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1e56a2563a77d22333e48810c5581f5aadda670ddeb57b28dbd71e1d4343d6b9", + "source_records_hash": "9782903369c9544138e77c6f168308d1f9975d541af2a902aeacc43d09a78323", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.financeiro.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/financeiro", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "financeiro", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "5540d83426aba59d024d4faf129909485883b4ab205ace3206b06fad538a58ee", + "source_records_hash": "b03e5e22c6173d29a9706be90a441c76f1d13e31fb22d2f29078074baeb93b95", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.contador.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/contador", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "contador", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8d4f819873e88eb9176ad619460abc0050fa6aa315144a579e10f6c4d2f27f68", + "source_records_hash": "758e2df27f49495d81ec74d86f9369696cdd9e41abdf942bba436d87ae7ceefc", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.juridico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/juridico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "juridico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "2688197e18ee2a4a739dfcbf849e576a36d80cad75dbb16795b5e44bce7586eb", + "source_records_hash": "428fc2c7627d4ac96b16df498983d0cd70e4da87e7bb199cc06b93b2f9b4c6ad", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.secretaria.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/secretaria", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "secretaria", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "0320b1d1352e6e6c02daccaea0bdb06ac7fe1bbee7813f4147a50b97d690fffa", + "source_records_hash": "ea7e2b7170b6614e23099ca59d5c000b46e92116538dac1a5bbe01f96bdcbefa", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.tecnico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/tecnico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "tecnico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "24a61d3e184b6692a861db18426a88c24329cae8b56f3ad4312b568f7dc73b36", + "source_records_hash": "bb4daf251976d2fc335c0d435c3f5e729d884837f5a9b9e686c10f55a074083b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.usuario_final.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/usuario_final", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "usuario_final", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "934926dfe09e07a96bf4d8d22a961a2da38277c8d98b5b6aef165a9cd6674373", + "source_records_hash": "c35c32cc95f08d3e5d5c2a55066f119db38ec4650c28b3fcd4f166cf5012caab", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.cliente_externo.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/cliente_externo", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "cliente_externo", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "a47802db71126609583bc958808f101922c2d4832cc8ff72cfd6d34a77eac3e6", + "source_records_hash": "6a255985170ef8fb58f6235ec650af3958a69c8a0a20f9774ce860e3d856163d", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.planejamento_estrategico.report-model", + "gpt_explainable": true, + "kind": "report_model", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "homologar modelo oficial de relatorio para ui/planejamento_estrategico", + "order_ids": [ + "0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "planejamento_estrategico", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "ded861b07ee94ce0207db30f05bdc345a18cc0961caab437806ae6febd79e823", + "source_records_hash": "879e72eae2a15e46f4d6204571c1650676cf3bd90b22f1414f29f4d5ba581d4b", + "source_tool_id": "mais_humana.relatorios.modelos_oficiais", + "status": "ready", + "tool_id": "mais_humana.relatorios.modelos_oficiais", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.design-system.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela design-system em ui", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "208bfc99ed4495efff44c9fdec3b4bba799be2aaeb6f992296e418f49aa265e6", + "source_records_hash": "366e5c436ed1ff0d5ce93c304229dff3b97ca68d2cb35388692fc690856a5999", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.screen-contract.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela screen-contract em ui", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "8282cb69708f30c12fbd70161686f9cd3d90aead79ca437f274ed0697649f0f4", + "source_records_hash": "23a0f33fcf1b1f58fae569995ed7e09f3f165b6e5d84d92ed713e9c33daf379a", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.pwa.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela PWA em ui", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "3ad05265c84d245eedea0fb0b2446c382da8bfd9ed7af8042757d3960040601b", + "source_records_hash": "99189c0fbf4fdc4364c075ba70e2c2186b5307c23545a20342b5fc5ceef2c520", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.panelready.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela panelReady em ui", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "36ca0610f0b72392acc8b32ff783738fe76a8dc93e444c21d99df328e28a1818", + "source_records_hash": "00c04bb28dc1991d9a8cb7dd4d305e4d256dd0d3bdd28c21357db473a42f3a84", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.samesource.ui-screen", + "gpt_explainable": true, + "kind": "ui_screen", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar same-source da tela sameSource em ui", + "order_ids": [ + "0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", + "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "66e684aa7be00263abf8e010bcc186b53aaca0fceaba46a0695388bcd5ddf9fc", + "source_records_hash": "194ae88dcd83af8d396c5ddaa1de223d9e603e479f97f654b05e92859e9b9344", + "source_tool_id": "mais_humana.admin_ui.same_source", + "status": "ready", + "tool_id": "mais_humana.admin_ui.same_source", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.consulta.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de consulta para ui", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1815d89a7a5277c469753b59723a33ca6a07b17a10c90f9f66d06f7469d60848", + "source_records_hash": "094d859d43ea404eb3aafcf3375bf0fc20289b346ef52f807beeb01e802ca583", + "source_tool_id": "mais_humana.transito.consulta", + "status": "ready", + "tool_id": "mais_humana.transito.consulta", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.diagnostico.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de diagnostico para ui", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e296561113e781d024ff618afc22768ccf10e1e8f7a4e7a1a30f1106541ea27e", + "source_records_hash": "85e46fe32ae9c3a8da83466d2556c586e84c7596b6b1a6e7817bd939946b5631", + "source_tool_id": "mais_humana.transito.diagnostico", + "status": "ready", + "tool_id": "mais_humana.transito.diagnostico", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.acao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de acao para ui", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "38ec02c35d668ff547f1e08a80a8e2effa6729e9320822c05da6528887e56fcc", + "source_records_hash": "f77430934fb82e900fe5b48d0c075a5e410ca68f2b578578a4911bded4c34b42", + "source_tool_id": "mais_humana.transito.acao", + "status": "ready", + "tool_id": "mais_humana.transito.acao", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.auditoria.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de auditoria para ui", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "1facbab94fd9cd5e060ff8cf228ca629ac23ad916295aac5ee2cbabaab8af7cf", + "source_records_hash": "adce6e1c808b05692329b8ba86a8741e460ac7c647a596d9436da8f59ed8334a", + "source_tool_id": "mais_humana.transito.auditoria", + "status": "ready", + "tool_id": "mais_humana.transito.auditoria", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.explicacao.transit-policy", + "gpt_explainable": true, + "kind": "transit_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "validar politica MCP de explicacao para ui", + "order_ids": [ + "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "50caf603698c75b5975e2ce4a2550efc130fafdc64ce130a2da0c77fcda8853b", + "source_records_hash": "eec2fe1dc528ecf5c379833a4d949a41528913e3f18911a49a63a4bb64c4a901", + "source_tool_id": "mais_humana.transito.explicacao", + "status": "ready", + "tool_id": "mais_humana.transito.explicacao", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.credentialref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para ui/credentialRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "26ed737873a13f2143fbbd3c2c577694d792a38e70f7f232fd23b250fcf60946", + "source_records_hash": "9c0ad763c64bc26d123096655e91a4d5e9036b7568ce9024d8c06afccf07c0c6", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.tokenref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para ui/tokenRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "675da0a4968d0d435edc6ca7ee62770fcc0f7beb1c243d7f36543f4bfa282066", + "source_records_hash": "459d074ac5a7aad9b5a38210f77eb8d8380cd9401b3fe0a594f56f1eb9bb4c79", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.secretref.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para ui/secretRef", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "68942c334266a63b09e7c47504e1125085c9cf5a5e427f6f83e4d3bd780968c4", + "source_records_hash": "67a3bafd6f3f166096acfc354578ab8f5265f16a93f4ae7bcc182cdb33b7ae7c", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "ui.cfat.redaction-policy", + "gpt_explainable": true, + "kind": "redaction_policy", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "executar varredura redaction para ui/cfat", + "order_ids": [ + "0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos" + ], + "panel_ready": true, + "platform_id": "ui", + "profile_id": "todos", + "same_source": true, + "score": 100, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "e70e9f12d3a263882a935100eaff016563330823a06e986408dcbec39262cb4a", + "source_records_hash": "ea53910cc368fec571dd6218f0b153b55fe8ee8223c8d0b0bdca218c91bd17c7", + "source_tool_id": "mais_humana.redaction.guard", + "status": "ready", + "tool_id": "mais_humana.redaction.guard", + "truth_state": "same_source_ready" + }, + { + "blockers": [], + "contract_id": "docs.formal-exception.docs-catalogonly", + "gpt_explainable": true, + "kind": "docs_exception", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "registrar decisao institucional para docs.formal-exception.docs-catalogonly", + "order_ids": [ + "0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo" + ], + "panel_ready": true, + "platform_id": "docs", + "profile_id": "todos", + "same_source": true, + "score": 92, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "80b21a1c5151b46b6fabf25ce0b4f48e1e02b58ba2a35b024f95447021947b25", + "source_records_hash": "299637fab3fa11d002b1bede63536c06d6f2d1f2cd112f3fe9228fb41b066134", + "source_tool_id": "mais_humana.docs.formal_exception", + "status": "formal_exception", + "tool_id": "mais_humana.docs.formal_exception", + "truth_state": "formal_exception" + }, + { + "blockers": [ + "renome canonico depende de autorizacao institucional e janela segura" + ], + "contract_id": "mais-humana.canonical-rename.plataform", + "gpt_explainable": true, + "kind": "canonical_rename", + "missing_payload_fields": [], + "missing_transit_fields": [], + "next_action": "registrar decisao institucional para mais-humana.canonical-rename.plataform", + "order_ids": [ + "0027_GERENCIAL__nome-canonico-mcps-conect", + "0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform" + ], + "panel_ready": true, + "platform_id": "mais_humana", + "profile_id": "todos", + "same_source": false, + "score": 71, + "source_endpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "source_payload_hash": "4876e44ff56b44cacc3e469cbb8336b1c97cfdcbd27b8a0882d1d239a7c8178e", + "source_records_hash": "fc7a7b290e4d717b1f9979a4dff2d1a89d87ff28121703d944b439a9688eda9a", + "source_tool_id": "mais_humana.canonical.rename", + "status": "external_decision", + "tool_id": "mais_humana.canonical.rename", + "truth_state": "documented" + } + ], + "current_project_id": "tudo-para-ia-mais-humana", + "generated_at": "2026-04-30T11:35:06+00:00", + "official_report_models": [ + "report.business.administrador_empresa.oficial", + "report.business.ceo.oficial", + "report.business.gestor_operacional.oficial", + "report.business.suporte.oficial", + "report.business.atendimento_cliente.oficial", + "report.business.financeiro.oficial", + "report.business.contador.oficial", + "report.business.juridico.oficial", + "report.business.secretaria.oficial", + "report.business.tecnico.oficial", + "report.business.usuario_final.oficial", + "report.business.cliente_externo.oficial", + "report.business.planejamento_estrategico.oficial", + "report.compliance.administrador_empresa.oficial", + "report.compliance.ceo.oficial", + "report.compliance.gestor_operacional.oficial", + "report.compliance.suporte.oficial", + "report.compliance.atendimento_cliente.oficial", + "report.compliance.financeiro.oficial", + "report.compliance.contador.oficial", + "report.compliance.juridico.oficial", + "report.compliance.secretaria.oficial", + "report.compliance.tecnico.oficial", + "report.compliance.usuario_final.oficial", + "report.compliance.cliente_externo.oficial", + "report.compliance.planejamento_estrategico.oficial", + "report.customer_ops.administrador_empresa.oficial", + "report.customer_ops.ceo.oficial", + "report.customer_ops.gestor_operacional.oficial", + "report.customer_ops.suporte.oficial", + "report.customer_ops.atendimento_cliente.oficial", + "report.customer_ops.financeiro.oficial", + "report.customer_ops.contador.oficial", + "report.customer_ops.juridico.oficial", + "report.customer_ops.secretaria.oficial", + "report.customer_ops.tecnico.oficial", + "report.customer_ops.usuario_final.oficial", + "report.customer_ops.cliente_externo.oficial", + "report.customer_ops.planejamento_estrategico.oficial", + "report.docs.administrador_empresa.oficial", + "report.docs.ceo.oficial", + "report.docs.gestor_operacional.oficial", + "report.docs.suporte.oficial", + "report.docs.atendimento_cliente.oficial", + "report.docs.financeiro.oficial", + "report.docs.contador.oficial", + "report.docs.juridico.oficial", + "report.docs.secretaria.oficial", + "report.docs.tecnico.oficial", + "report.docs.usuario_final.oficial", + "report.docs.cliente_externo.oficial", + "report.docs.planejamento_estrategico.oficial", + "report.finance.administrador_empresa.oficial", + "report.finance.ceo.oficial", + "report.finance.gestor_operacional.oficial", + "report.finance.suporte.oficial", + "report.finance.atendimento_cliente.oficial", + "report.finance.financeiro.oficial", + "report.finance.contador.oficial", + "report.finance.juridico.oficial", + "report.finance.secretaria.oficial", + "report.finance.tecnico.oficial", + "report.finance.usuario_final.oficial", + "report.finance.cliente_externo.oficial", + "report.finance.planejamento_estrategico.oficial", + "report.gettys.administrador_empresa.oficial", + "report.gettys.ceo.oficial", + "report.gettys.gestor_operacional.oficial", + "report.gettys.suporte.oficial", + "report.gettys.atendimento_cliente.oficial", + "report.gettys.financeiro.oficial", + "report.gettys.contador.oficial", + "report.gettys.juridico.oficial", + "report.gettys.secretaria.oficial", + "report.gettys.tecnico.oficial", + "report.gettys.usuario_final.oficial", + "report.gettys.cliente_externo.oficial", + "report.gettys.planejamento_estrategico.oficial", + "report.identity.administrador_empresa.oficial", + "report.identity.ceo.oficial", + "report.identity.gestor_operacional.oficial", + "report.identity.suporte.oficial", + "report.identity.atendimento_cliente.oficial", + "report.identity.financeiro.oficial", + "report.identity.contador.oficial", + "report.identity.juridico.oficial", + "report.identity.secretaria.oficial", + "report.identity.tecnico.oficial", + "report.identity.usuario_final.oficial", + "report.identity.cliente_externo.oficial", + "report.identity.planejamento_estrategico.oficial", + "report.integracoes.administrador_empresa.oficial", + "report.integracoes.ceo.oficial", + "report.integracoes.gestor_operacional.oficial", + "report.integracoes.suporte.oficial", + "report.integracoes.atendimento_cliente.oficial", + "report.integracoes.financeiro.oficial", + "report.integracoes.contador.oficial", + "report.integracoes.juridico.oficial", + "report.integracoes.secretaria.oficial", + "report.integracoes.tecnico.oficial", + "report.integracoes.usuario_final.oficial", + "report.integracoes.cliente_externo.oficial", + "report.integracoes.planejamento_estrategico.oficial", + "report.intelligence.administrador_empresa.oficial", + "report.intelligence.ceo.oficial", + "report.intelligence.gestor_operacional.oficial", + "report.intelligence.suporte.oficial", + "report.intelligence.atendimento_cliente.oficial", + "report.intelligence.financeiro.oficial", + "report.intelligence.contador.oficial", + "report.intelligence.juridico.oficial", + "report.intelligence.secretaria.oficial", + "report.intelligence.tecnico.oficial", + "report.intelligence.usuario_final.oficial", + "report.intelligence.cliente_externo.oficial", + "report.intelligence.planejamento_estrategico.oficial", + "report.mcps.administrador_empresa.oficial", + "report.mcps.ceo.oficial", + "report.mcps.gestor_operacional.oficial", + "report.mcps.suporte.oficial", + "report.mcps.atendimento_cliente.oficial", + "report.mcps.financeiro.oficial", + "report.mcps.contador.oficial", + "report.mcps.juridico.oficial", + "report.mcps.secretaria.oficial", + "report.mcps.tecnico.oficial", + "report.mcps.usuario_final.oficial", + "report.mcps.cliente_externo.oficial", + "report.mcps.planejamento_estrategico.oficial", + "report.platform_base.administrador_empresa.oficial", + "report.platform_base.ceo.oficial", + "report.platform_base.gestor_operacional.oficial", + "report.platform_base.suporte.oficial", + "report.platform_base.atendimento_cliente.oficial", + "report.platform_base.financeiro.oficial", + "report.platform_base.contador.oficial", + "report.platform_base.juridico.oficial", + "report.platform_base.secretaria.oficial", + "report.platform_base.tecnico.oficial", + "report.platform_base.usuario_final.oficial", + "report.platform_base.cliente_externo.oficial", + "report.platform_base.planejamento_estrategico.oficial", + "report.public.administrador_empresa.oficial", + "report.public.ceo.oficial", + "report.public.gestor_operacional.oficial", + "report.public.suporte.oficial", + "report.public.atendimento_cliente.oficial", + "report.public.financeiro.oficial", + "report.public.contador.oficial", + "report.public.juridico.oficial", + "report.public.secretaria.oficial", + "report.public.tecnico.oficial", + "report.public.usuario_final.oficial", + "report.public.cliente_externo.oficial", + "report.public.planejamento_estrategico.oficial", + "report.stj.administrador_empresa.oficial", + "report.stj.ceo.oficial", + "report.stj.gestor_operacional.oficial", + "report.stj.suporte.oficial", + "report.stj.atendimento_cliente.oficial", + "report.stj.financeiro.oficial", + "report.stj.contador.oficial", + "report.stj.juridico.oficial", + "report.stj.secretaria.oficial", + "report.stj.tecnico.oficial", + "report.stj.usuario_final.oficial", + "report.stj.cliente_externo.oficial", + "report.stj.planejamento_estrategico.oficial", + "report.ui.administrador_empresa.oficial", + "report.ui.ceo.oficial", + "report.ui.gestor_operacional.oficial", + "report.ui.suporte.oficial", + "report.ui.atendimento_cliente.oficial", + "report.ui.financeiro.oficial", + "report.ui.contador.oficial", + "report.ui.juridico.oficial", + "report.ui.secretaria.oficial", + "report.ui.tecnico.oficial", + "report.ui.usuario_final.oficial", + "report.ui.cliente_externo.oficial", + "report.ui.planejamento_estrategico.oficial" + ], + "provider_envelope": { + "actor": "codex.service-order-round", + "auditId": "audit-919dee614cd28e80fdeaec4c", + "destination": "tudo-para-ia-mcps-internos-plataform", + "origin": "tudo-para-ia-mais-humana", + "payload": { + "averageScore": 74, + "blockedCount": 158, + "canonicalProjectId": "tudo-para-ia-mais-humana-plataform", + "contracts": [ + { + "contractId": "business.administrador_empresa.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/administrador_empresa", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "e688cbb09d8a2aa59509a29ab347723839c05483c44d828d4a02202e68a4c155", + "sourceRecordsHash": "af2bbd3ca13e16e3e65a1adadd1c428c498866499fe223178f0da95f36e7c266", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.atendimento_cliente.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/atendimento_cliente", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a57b18ba71dbd35047c6bef6b55b7f15ed922a3dd7531f3521925ecdb65a578b", + "sourceRecordsHash": "ee66b1ee468bcc0244bea9d4c1aeaa8fa4d882caa80a634cb4bb8043d69de463", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.ceo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/ceo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b3ca22e1f15666762d5a20ac3b21cff51a75271cba4e0463aade7c81ad49caad", + "sourceRecordsHash": "bbdaaf0e123d09a3517217222ab672819697c8eb451307c8b758fc016bd85601", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cliente_externo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/cliente_externo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ea13ce29b38ea235dc12077324ac9ca886d4f28b6490d204b0131132cf0d7d1a", + "sourceRecordsHash": "3fa497048404c1f8abb0d93ebb9ef532c93bd7e15e6820805fa2cd92ca52cca4", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.contador.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/contador", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2a29bcd704fac5f8e730f474b000fd097fb119d3152e2a440856dff70014d0c5", + "sourceRecordsHash": "14b1a6ba5dd0aa7aad7498fa780145128c686747fe60d3f45acffc441f63a958", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.financeiro.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/financeiro", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d368d24880a2a9f659761b48e9f8234664cc7e3eb920fba29ae45e0cf09ff0fd", + "sourceRecordsHash": "ba52cb85a7cb94cd70b6a0407a4c53f9d199a206af1e052b5fe194fd49782fad", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.gestor_operacional.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/gestor_operacional", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "c7d703ee8039723d25f83a821f6043bcf06ba1027b6f9d6d4a354caa48079bc2", + "sourceRecordsHash": "11c87d9d68cc2474dbfaaac55cdc28051e88e74c1a7359ebe84da6a0f21321cb", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.juridico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/juridico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6187d73898cb3061b2c66d430b6b8eeb1a4caf78efe0b29b7b387e08b9f32805", + "sourceRecordsHash": "da8aa99a39162b37169d16397382cfcd3995190f8536cc644f38e02a4922ad20", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.planejamento_estrategico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/planejamento_estrategico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "f7299c2361291fd08b0abf3b690f3623715b832c0aaa8a42a296c2bba96a2b16", + "sourceRecordsHash": "2dada112b9d82b37657578cc6bfddc05ca8366cdd1a3147399a40b1e5001f1c4", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretaria.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/secretaria", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ead35eb1a420ac0a2cd8c22d7ea265f519381abb88de4cdc4204fc1ebb289aea", + "sourceRecordsHash": "1abfa07a9755e6ba091cebf2bbd07bfb7e4ca201efc0dde7d113819fa84b93da", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.suporte.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/suporte", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2c64aa9e8678fa23e342d52934ee463a1fdd975244c1801e0c82b9a0d88c6add", + "sourceRecordsHash": "b2ce9ed7aa9f99ad93081c0a0acaed06e19d0683d9516e85088a60d50b5d91d0", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tecnico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/tecnico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "eba54bcdcb9e77d247709420bfa6dae41c0765e19465c8641b293a1e9343f149", + "sourceRecordsHash": "4e3885ee3b9c8a2a56dd239dc66b6e90ca680db9b5e5408598ff90ed18a5dea4", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.usuario_final.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/usuario_final", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6a4870992acee34947530c005c58ef917fa55d5b734d98b0d3ce0cc4f2399442", + "sourceRecordsHash": "711b2b330d7e4f6177b70487367ed16ccaff0302b0ab5bf246f61a16919454af", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cfat.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/cfat", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d8adb1eb75d43f058418d40fd533696142004b84ab06e7e123cf3cfd02bf6aac", + "sourceRecordsHash": "b273baadd4ff9671259b17607e9807d5fbc4619239b99f2e2e9757a097410a50", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.credentialref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/credentialRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "76939d5a6a3aeffc602e57ac1698d70319e692fcc805be4a96cef49fc240ad08", + "sourceRecordsHash": "17876bd30a943c201fe9f41ab9731d104eb2a7df10b3458c52fe5536b3a185fe", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/secretRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "1f6ef0f3191f796461fd6d1ba6519a61e0463e2e688ccb281f7c7bf193b86446", + "sourceRecordsHash": "6e4983d9467eea6210bca1cd6f7f295baca4f5170989bac6602e0b4f419c83ff", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tokenref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/tokenRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d2a39cedc71056499c8372e03bbbc605ab836bd2d945c1604b80fcd3471f16d4", + "sourceRecordsHash": "304939f9773ce3f1834fd378c55deebe64eec2133714e8d29ecd9070ec4c721c", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.administrador_empresa.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/administrador_empresa", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6a859028c69914e4674e31a9d69163b27f17c9a664207d1c23806a8a5fba1a4c", + "sourceRecordsHash": "85d83ec5be81680165ab29a1333caf3cb45b276c357395e73e8b24c138149327", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.atendimento_cliente.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/atendimento_cliente", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "fc5f03202ddb4d05e7e87d13cb252110f24ef738804cdd8cb071bd9ce5d99606", + "sourceRecordsHash": "2a476c57b9bcffe551ba8208411976d6d0e67acfb5d73245fb6dcb6edb65a28e", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.ceo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/ceo", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2a4c6f11c3c389eb899b7679cf64cada1577ea42c88ab2a7b0e57561bad93f65", + "sourceRecordsHash": "60e78c5b99d20012df7cf183b9fcb519a96d1a137fa3d2c81e4fb151f4319081", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cliente_externo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/cliente_externo", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "0f50d2d72ea08460e532c42b2bb846226b5a2d4fc2741dc6211c0c91fd43e1b3", + "sourceRecordsHash": "f516ddef991c7293747bc97110d0ab2449831594f1e1ca5958748e2f4796f40e", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.contador.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/contador", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "e0d78cc11f3b8c756043061ac4bf5c063a7ef3728983b32580713783453e4994", + "sourceRecordsHash": "82921b7cd91e45f13f0c82434c250df3953803a11da1896ef74d502539a4e57d", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.financeiro.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/financeiro", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a47c0ac060aee91afcafbbb4dfb419e59d9b3ef824c36ef07f948d9f3ca34950", + "sourceRecordsHash": "f13fa1e3c7720299f14e3fbdc387c4223382833899d2b3a2e98531480cdcc275", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.gestor_operacional.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/gestor_operacional", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "045d118ca7a92e2d5c97d9fa6f7407d34c76c96b2673a24e27abfbed5b78e52c", + "sourceRecordsHash": "eec17c1cb6e70314bd866690f0409e231f0263bc4dae2c9c53d82536f6cc4355", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.juridico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/juridico", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "8575cbbeb6f835f66353e93a26787139f40d8f4f8d98eb33ab0f938c0ee747ce", + "sourceRecordsHash": "fd72cd371b1fc086465387d06fb38648a065d07edc2d3c81adc5937881e906ec", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.planejamento_estrategico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/planejamento_estrategico", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2455487efe6de08db5facf2c99ce161b4b41ad120684726298b640bf3a4033ac", + "sourceRecordsHash": "172c097437885dccec3145b6c42def6524524b8d1a9f8820ddf730935536caf1", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretaria.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/secretaria", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "df51f07075142cfab0de8dc410c333739ae03bb99c569dc9032d4ab39377518e", + "sourceRecordsHash": "5a0b86d71e908689cc7c3e86682d1be54e9743f0d8fb1d302a0f01174ffb3a2b", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.suporte.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/suporte", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "8fff61678b08a6cc4e6e78e33cc245a5a232cee18ca32484b29931a634433942", + "sourceRecordsHash": "bf2e32b622082b93539523a2200b361d7ffcc3294a021d0747a8890f723bc94e", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tecnico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/tecnico", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "bf71b0e9f7087fc7b658b4a5d8a00054676993eba9066be97a1653e9d30342d7", + "sourceRecordsHash": "cad6b93a70baa6f8710e0ca0d0c61bc30741787cfd5dfb3f3fb41d48f21624fa", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.usuario_final.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/usuario_final", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a693e8eaed5a20387e014ac9e4cb93f5c1d260163d73a20557e43e737998323c", + "sourceRecordsHash": "7e275ab0fc470233d9ec54bfd4df498cd737a35959748928b5ce8d139ce76dcb", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.acao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de acao para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "19d76db924484cfa9c084c1cf51a901f9d3fdbcb276b11a48e00b400131e26b3", + "sourceRecordsHash": "ffded0c47cbabb7c7981f3f9517a3ae08a4a320d6ec8eaa71c52a605afb00092", + "sourceToolId": "mais_humana.transito.acao", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.auditoria.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de auditoria para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b264e04b69372b521d3be268fbd79bf5b12589a34d9fe7a0642f333bb0f59c8c", + "sourceRecordsHash": "e92dc4e00b86a5796dfec65dc9af74889efc1f10bcfa5b4e58090eed3616e96a", + "sourceToolId": "mais_humana.transito.auditoria", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.consulta.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de consulta para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "19250c93933ac1f0d36e4f29a5f781e58bebd581ce5c5983b293791b52c67fc4", + "sourceRecordsHash": "5b79291ffe378864cb19a13357b0916eb6e759ed8898aade8df99e044fde309e", + "sourceToolId": "mais_humana.transito.consulta", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.diagnostico.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de diagnostico para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "93ee88353075a5ce327c996933a78cce8e400080ceb6c000fe9f19949dd5cab0", + "sourceRecordsHash": "921c020ed6a42f77531f59b043d3fced2abca93137d58dd1dbf75373b4885af9", + "sourceToolId": "mais_humana.transito.diagnostico", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.explicacao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de explicacao para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "0834dcf87d607269fc1010ffddbca71bffa725cc8adabe279b5710c97b060c5c", + "sourceRecordsHash": "faf8b08dee6581f5c9c39d6c91f919b97ec3f8598ceaf11537a9165a11e7db8c", + "sourceToolId": "mais_humana.transito.explicacao", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.billing.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela billing em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "40c9006f2adf5d7759e9a62f6d99308aa1a944294957bc5b92706e2bea5c046e", + "sourceRecordsHash": "002046ffacc6b0e2a0b9efc93fed3166489adcfe1eb587e15a790dd8db948bb9", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.checkout.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela checkout em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "944eb00e3c3b45c41b78f08ee435e9d54e273d352856779d4df752b2db7540d1", + "sourceRecordsHash": "21d7da93042d1915c3c0b6795651fc0b5229ad8f7013e00bc7218ca2d9c3693e", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.commercial-readiness.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela commercial-readiness em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "8221accfda361b02ba948b59465e5f1aa3eb9cd20939177b558c791936191081", + "sourceRecordsHash": "1e48745608947787d1498e3727344ff551e1b13dd5ac8ea608f73b1d67414d6f", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.consumption.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela consumption em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "522326e8d5e5c3896590ce680a8be316471acf5ee2a4564d05982d3e59430e73", + "sourceRecordsHash": "2f02ede2079041caa0fb4148bfa679b4458d42677fd693f22639ac2625c2d67b", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.entitlements.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela entitlements em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "cc552b25bb0aedc336e057aba8526d1c1ae66c3e15df237b63865c9b2428b99d", + "sourceRecordsHash": "d45f5085316699750adc15ac00e65d3bb385a07c909e3aca156f5abf2f67ae86", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "docs.administrador_empresa.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/administrador_empresa", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "f381a4e38f300d518b8315902ef6b0a9908645d314358d9e8e623712fc08bf01", + "sourceRecordsHash": "fee66aed2081803c5bd8e313ee18f1ae6148ca7c747ee9bce76e634ae52c7823", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.atendimento_cliente.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/atendimento_cliente", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "172464972bee0afa438521a45d5ac62b0188f6d7849b19f472d409679846c9ec", + "sourceRecordsHash": "fae803908bb33c28b9bb9125874c2ec0253f82349b8ddd04c925df5eb7a7061c", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.ceo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/ceo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "83bc5d8a54fd906b0170256910c4d28c9709e180396896f9eec4dbc4e974b7b9", + "sourceRecordsHash": "0846a9358ce9201824250cec3ea71386445e6a110029034de09cbef7f8642b77", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.cliente_externo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/cliente_externo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "7ada48e718d6cb5f82f25a9bc7976bc12031987bd1bb8539bff74bb1ee2d68fc", + "sourceRecordsHash": "cc3d4834015a8e75fa47ba94bf57dd695c5888179af91e755806cf7929ab73b8", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.contador.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/contador", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "36b154e53739067173f4811ee2a0aa7e11d5e57ba29a8ca941687e90ec7eb7ca", + "sourceRecordsHash": "0a4ec9169ea107f559c7fbb2b344c37349bcd22687464b23d4342739708c4145", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.financeiro.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/financeiro", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b3e3f41da2ddfb71cafecb65ab9995b9916cc96e3dea48b4261da60a77ab275c", + "sourceRecordsHash": "3876ff668f2e1a615dbe93986c919ea8de1eb97072ba719cdf45f84d35f48aa3", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.gestor_operacional.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/gestor_operacional", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "5b37ac519d7ef726865c886ad588748a8998c66dc9c1be396681abb150ae8058", + "sourceRecordsHash": "564cb5d77809c2b91bf1a1a1a558098a50e3f458327f41937383ac8e52648507", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.juridico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/juridico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "00dd291b7d4a22d02348439091c9f0bfc20db4d7924367228ee4a9e21989d4d1", + "sourceRecordsHash": "45d7a1427828f14d9edd12976ccd9b08efc773921e6da6e5514b7dd717416196", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.planejamento_estrategico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/planejamento_estrategico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "3581d97a23d1d32fed87ad6cd39990500e9902a030832b4710816e9c85091a80", + "sourceRecordsHash": "7b65a3a1a62f7adda90b264dcd35022c377f944eedfc3fd0c5bf185a70f3e043", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.secretaria.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/secretaria", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "790c1e1379f2db08d59844729d8f4cc488dcbd41e08f39c39946dedeb900e35a", + "sourceRecordsHash": "e954eb65c4d0a96b9323984ce980a07cde2740a6270f1f0cb50bb83df1b00528", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.suporte.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/suporte", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b9328b6bb08336abb13f28861bce8c93e6b754ccea15c4a4a6413c32d9f76d38", + "sourceRecordsHash": "2baae45f3c4eb36626a464197d9343b004b570d2dc37334a062246ac03a6e798", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.tecnico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/tecnico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "c248136221599717ef1a16e962001420dfcb635ba3192934a2f85573a7467175", + "sourceRecordsHash": "e518ea8c6b9f8415e3e7d88ad1488430c03da505df071618681d007a05ceb3ff", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.usuario_final.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/usuario_final", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "0ec9ead827b6d3ce624d45ff3c4e984a42796d7311de1b518295d8a1178cfad0", + "sourceRecordsHash": "ec1a3dc2d5b813f6e105d3acde9564c3c1a227e2537c8b484dbf40c41ab46d03", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.cfat.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/cfat", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "02d9356476ccbf337f7fe2a83a04a859c704a71b205eb86e182079c3f78ca3fa", + "sourceRecordsHash": "a7197d9eebcf1a6e1735c3bdbae989a5066fb8c848bdfd2b77f907164d37a3ea", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.credentialref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/credentialRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "209a7be90427426c123b38895003dd1b0c48fb22a28a86b1fdfe0513b9236c3b", + "sourceRecordsHash": "a481e7ac2de2d85fcaba94b7d21fe7debc3f64f9d6c99b90021173394ebe5ed5", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.secretref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/secretRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "aaf9246a2439f8f7865b6f79ef094012a45029bf78f2390a24304cefb404ca67", + "sourceRecordsHash": "2dbf94099df226c111f01f9773e196cb11691acaaa4882eb93d06cc3a7e625d6", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.tokenref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/tokenRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "09ce31b915388a50b3aab0459f2bdf84e875bbeca3874cdd31c7f19f71ce8114", + "sourceRecordsHash": "abcb3ce79379de8bb7620001756d81dee512bfbff6e59ed7ddda3f85c269467a", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.administrador_empresa.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/administrador_empresa", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "80cfd73f4d9fb9a80a36028156ee434f58b3c819ac36847d31804ae6f6839ab4", + "sourceRecordsHash": "e080a05a4637001c1555f544a848fa0c5b01951c16d10efeaef5c74e9ea5d770", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.atendimento_cliente.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/atendimento_cliente", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "4b143d312ce6de493bea7a04b00d5f7c80aed325dcb48b67e19fc66d15aa71af", + "sourceRecordsHash": "77f6c2bb0ac0ae52cc76994313cbbca17255347228351eb42c87159356dbf9a5", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.ceo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/ceo", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "4d5aa52da15d693ee819366ac6c9d84cc579127868fcc418cc069c3c703d4f87", + "sourceRecordsHash": "0834ae42b5141914833c6c1a4eca5321543ad44f4820804f42935ea1eb4cbe1a", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.cliente_externo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/cliente_externo", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ff2be60b432f1894d60b77f666fbf885720db82a1d9cf4fe80c21ac2ba945633", + "sourceRecordsHash": "ec2a51ed31a966dc176f354a53241b2d5c598aa7453fe8e53d9fccf6cb68b073", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.contador.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/contador", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a4b921443ead6d1e2331bd9c765ab1646fdd23baa471b5bb2477d3d6e68ac666", + "sourceRecordsHash": "3891d17789121ee3163019fc3010f365c29fb0827d5d55f83bc10e02c149c2ad", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.financeiro.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/financeiro", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ce78e8b9487ea48ef15e1118b4c3ce8398251059d7caae91b7152040a8abe903", + "sourceRecordsHash": "cdb8f7ccdd85043f447d9f46e00a951e6c7ebbc0db908c51b4c2d5d9604fab20", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.gestor_operacional.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/gestor_operacional", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "9c37ceb03d881aa7089dfa72f643132ac5d6cf5b2eb84b829b2f2978150c24b5", + "sourceRecordsHash": "9007715cc6093d8f65b48898234c1be49d81c679896cc499d1a85795defd12f4", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.juridico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/juridico", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "30dce0ec5e85196bac8fcf678fcb983bb2a9325eaefb623abce1af3414f071c6", + "sourceRecordsHash": "e18a21f6e06ac4a276d6eaf96737ffe113652f49030a8a1e38ae8e42995319b7", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.planejamento_estrategico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/planejamento_estrategico", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "c0b855ddf612611ce634c3dd840d930d7fef3223a80379140a96966c38d66b7e", + "sourceRecordsHash": "0e2cf1ea0fc21cce30ec7532470577329f900ea0f4b331a5605aed803da787b5", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.secretaria.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/secretaria", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "caca4f64cc412cdc27d60006b750a7dd411092fd24632e36c42cc070f6a54015", + "sourceRecordsHash": "6395dadbfe3d81d634ef24a6e23474d31b8c7aca898d266dcc505cb9f3c53974", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.suporte.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/suporte", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "604836d52b2f67de9581971f01769ecdf902ce1c915cac19a3a4cfc95f9827dd", + "sourceRecordsHash": "78038f3bf1498a8b5013a876873f519663388c7ce56000baa0b89c6d3314e8d9", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.tecnico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/tecnico", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "438571dba792bdb449f8abf99fc36d497fb2a82a5b96386c59c77c54edf5be53", + "sourceRecordsHash": "9a148bededb2687d19ec887eb077c58c1b143fff1658b7a7c9f5ca7d9c259de8", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.usuario_final.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/usuario_final", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "78af1c17cd725be5f7bdc1d4efdb43125e70815c48bea6a9426218609c781822", + "sourceRecordsHash": "4537e219c4e668683a228ac588f95806360087925f6a0ae3b885804bee3264ba", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.acao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de acao para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "5d89c98585b324ce2f534b433eb9b52dae8ea45ed3dda17b6dd447bd23af721a", + "sourceRecordsHash": "d5f1d72b77357fab9bf5a85c3de8d3e8e50b12cff53807a37e4de6517f044621", + "sourceToolId": "mais_humana.transito.acao", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.auditoria.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de auditoria para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "f9c15b5fe4dd6b6e2aece479b8de1668dfbcaf57f5c00f718bf84835dbe51522", + "sourceRecordsHash": "37c805f26e8134bf07d3875b5ac6430d01532e1c5753ca04d4c8a9f1a05e699f", + "sourceToolId": "mais_humana.transito.auditoria", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.consulta.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de consulta para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "e9760fd906de0ed3ccee977297ba76b1266e7715602302b2dcfb9b3120527198", + "sourceRecordsHash": "e945057dfad7f49d0243d015f92e222b2f7c280721ac9095ccb3637f5ed27a0c", + "sourceToolId": "mais_humana.transito.consulta", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.diagnostico.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de diagnostico para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ce400c790217284cbfd69e3d1e3fc8af6fd75c20526d020569f46176a8f37e2a", + "sourceRecordsHash": "5d2ab64c3bc63707b55758f626c7d94a9a4ef9294f7301e623bb9ac358932147", + "sourceToolId": "mais_humana.transito.diagnostico", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.explicacao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de explicacao para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d6173775088179155da791faff328015a96829c0448a35bbf2ff4bb3f134a71f", + "sourceRecordsHash": "4a2ada38417ef8b3c99ee11930eab01e64d8cb77c1ba872642e2d7a57f8365bc", + "sourceToolId": "mais_humana.transito.explicacao", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.canonical-docs.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela canonical-docs em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "fb4aa2cf0224bae7a95cba3a53eb9e6168ef8a9dd8ed5a39d946728e3321a55c", + "sourceRecordsHash": "c2753b2533ae7ad688f37da1e35ec21d449212831bccfc1fcc2c338254372ca0", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.contracts.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela contracts em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d68ce4cd38b884bcc2b2b0d2f1567f299e3531c9d1c24ed1e43008efe288c8d8", + "sourceRecordsHash": "30401592417b7876ee4e9ee03d67346a922a60c1a2eed2e9e801befde41c4888", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.help.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela help em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b242c83eef48d063c28fc180e7bc87b08503c20a436a6f9e41df855bbb29090f", + "sourceRecordsHash": "54e46a2bfdba2770d476e7de44e011e7841769f7dc89212b3d92f587f7f6f517", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.proofs.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela proofs em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6c81f91dc2e3d599dc478e20d22161132419767f27abebc07355f2eb51343e66", + "sourceRecordsHash": "78c622670544276e5d0105fff2f1c56a5fcdcc061fe9c3712d5e46ae2e4d84f5", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.runbooks.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela runbooks em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "13f7ca150a8e60faccdf7a73630bf06f07fdb02c6a0f97403a0bd3596da3208f", + "sourceRecordsHash": "2791c6e726acb70915ad1728a31e19ab834886a26988cf8609cd206fc89626f0", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + } + ], + "contractsCount": 560, + "controlPlaneId": "tudo-para-ia-mcps-internos-plataform", + "currentProjectId": "tudo-para-ia-mais-humana", + "providerId": "mais_humana", + "readyCount": 400, + "returnedContracts": 80, + "sameSourceReadyCount": 401, + "toolId": "mais_humana.rulebook.compact" + }, + "permission": "mcp.admin.readonly", + "result": { + "credentialPolicy": "no raw token, only credentialRef/tokenRef/secretRef", + "ok": true, + "status": "provider_payload_ready" + }, + "timestamp": "2026-04-30T11:35:06+00:00", + "tool": "mais_humana.rulebook.compact", + "traceId": "trace-36e825a6e53db9f1ee7d4969" + }, + "provider_id": "mais_humana", + "provider_name": "Tudo Para IA Mais Humana", + "summary": [ + "Contratos avaliados: 560", + "Contratos prontos: 400", + "Same-source prontos: 401", + "Bloqueados: 158", + "Provider MCP minimo: mais_humana.rulebook.compact", + "Endpoint de execucao MCP: https://mcps-gateway.ami-app.workers.dev/v1/execute", + "Projeto canonico recomendado: tudo-para-ia-mais-humana-plataform" + ] +} \ No newline at end of file diff --git a/dados/mcp-provider-mais-humana-compacto.json b/dados/mcp-provider-mais-humana-compacto.json new file mode 100644 index 0000000..ba53e13 --- /dev/null +++ b/dados/mcp-provider-mais-humana-compacto.json @@ -0,0 +1,1075 @@ +{ + "averageScore": 74, + "blockedCount": 158, + "blockers": [ + "truthState bloqueado", + "catalogOnly ainda nao formalizado como excecao", + "renome canonico depende de autorizacao institucional e janela segura" + ], + "canonicalProjectId": "tudo-para-ia-mais-humana-plataform", + "contractsCount": 560, + "controlPlaneId": "tudo-para-ia-mcps-internos-plataform", + "coverage": [ + { + "contractId": "business.administrador_empresa.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/administrador_empresa", + "platformId": "business", + "profileId": "administrador_empresa", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "e688cbb09d8a2aa59509a29ab347723839c05483c44d828d4a02202e68a4c155", + "sourceRecordsHash": "af2bbd3ca13e16e3e65a1adadd1c428c498866499fe223178f0da95f36e7c266", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.atendimento_cliente.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/atendimento_cliente", + "platformId": "business", + "profileId": "atendimento_cliente", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "a57b18ba71dbd35047c6bef6b55b7f15ed922a3dd7531f3521925ecdb65a578b", + "sourceRecordsHash": "ee66b1ee468bcc0244bea9d4c1aeaa8fa4d882caa80a634cb4bb8043d69de463", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.ceo.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/ceo", + "platformId": "business", + "profileId": "ceo", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "b3ca22e1f15666762d5a20ac3b21cff51a75271cba4e0463aade7c81ad49caad", + "sourceRecordsHash": "bbdaaf0e123d09a3517217222ab672819697c8eb451307c8b758fc016bd85601", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cliente_externo.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/cliente_externo", + "platformId": "business", + "profileId": "cliente_externo", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "ea13ce29b38ea235dc12077324ac9ca886d4f28b6490d204b0131132cf0d7d1a", + "sourceRecordsHash": "3fa497048404c1f8abb0d93ebb9ef532c93bd7e15e6820805fa2cd92ca52cca4", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.contador.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/contador", + "platformId": "business", + "profileId": "contador", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "2a29bcd704fac5f8e730f474b000fd097fb119d3152e2a440856dff70014d0c5", + "sourceRecordsHash": "14b1a6ba5dd0aa7aad7498fa780145128c686747fe60d3f45acffc441f63a958", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.financeiro.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/financeiro", + "platformId": "business", + "profileId": "financeiro", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "d368d24880a2a9f659761b48e9f8234664cc7e3eb920fba29ae45e0cf09ff0fd", + "sourceRecordsHash": "ba52cb85a7cb94cd70b6a0407a4c53f9d199a206af1e052b5fe194fd49782fad", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.gestor_operacional.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/gestor_operacional", + "platformId": "business", + "profileId": "gestor_operacional", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "c7d703ee8039723d25f83a821f6043bcf06ba1027b6f9d6d4a354caa48079bc2", + "sourceRecordsHash": "11c87d9d68cc2474dbfaaac55cdc28051e88e74c1a7359ebe84da6a0f21321cb", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.juridico.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/juridico", + "platformId": "business", + "profileId": "juridico", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "6187d73898cb3061b2c66d430b6b8eeb1a4caf78efe0b29b7b387e08b9f32805", + "sourceRecordsHash": "da8aa99a39162b37169d16397382cfcd3995190f8536cc644f38e02a4922ad20", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.planejamento_estrategico.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/planejamento_estrategico", + "platformId": "business", + "profileId": "planejamento_estrategico", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "f7299c2361291fd08b0abf3b690f3623715b832c0aaa8a42a296c2bba96a2b16", + "sourceRecordsHash": "2dada112b9d82b37657578cc6bfddc05ca8366cdd1a3147399a40b1e5001f1c4", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretaria.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/secretaria", + "platformId": "business", + "profileId": "secretaria", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "ead35eb1a420ac0a2cd8c22d7ea265f519381abb88de4cdc4204fc1ebb289aea", + "sourceRecordsHash": "1abfa07a9755e6ba091cebf2bbd07bfb7e4ca201efc0dde7d113819fa84b93da", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.suporte.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/suporte", + "platformId": "business", + "profileId": "suporte", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "2c64aa9e8678fa23e342d52934ee463a1fdd975244c1801e0c82b9a0d88c6add", + "sourceRecordsHash": "b2ce9ed7aa9f99ad93081c0a0acaed06e19d0683d9516e85088a60d50b5d91d0", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tecnico.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/tecnico", + "platformId": "business", + "profileId": "tecnico", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "eba54bcdcb9e77d247709420bfa6dae41c0765e19465c8641b293a1e9343f149", + "sourceRecordsHash": "4e3885ee3b9c8a2a56dd239dc66b6e90ca680db9b5e5408598ff90ed18a5dea4", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.usuario_final.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para business/usuario_final", + "platformId": "business", + "profileId": "usuario_final", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "6a4870992acee34947530c005c58ef917fa55d5b734d98b0d3ce0cc4f2399442", + "sourceRecordsHash": "711b2b330d7e4f6177b70487367ed16ccaff0302b0ab5bf246f61a16919454af", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cfat.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para business/cfat", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "d8adb1eb75d43f058418d40fd533696142004b84ab06e7e123cf3cfd02bf6aac", + "sourceRecordsHash": "b273baadd4ff9671259b17607e9807d5fbc4619239b99f2e2e9757a097410a50", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.credentialref.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para business/credentialRef", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "76939d5a6a3aeffc602e57ac1698d70319e692fcc805be4a96cef49fc240ad08", + "sourceRecordsHash": "17876bd30a943c201fe9f41ab9731d104eb2a7df10b3458c52fe5536b3a185fe", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretref.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para business/secretRef", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "1f6ef0f3191f796461fd6d1ba6519a61e0463e2e688ccb281f7c7bf193b86446", + "sourceRecordsHash": "6e4983d9467eea6210bca1cd6f7f295baca4f5170989bac6602e0b4f419c83ff", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tokenref.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para business/tokenRef", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "d2a39cedc71056499c8372e03bbbc605ab836bd2d945c1604b80fcd3471f16d4", + "sourceRecordsHash": "304939f9773ce3f1834fd378c55deebe64eec2133714e8d29ecd9070ec4c721c", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.administrador_empresa.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/administrador_empresa", + "platformId": "business", + "profileId": "administrador_empresa", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "6a859028c69914e4674e31a9d69163b27f17c9a664207d1c23806a8a5fba1a4c", + "sourceRecordsHash": "85d83ec5be81680165ab29a1333caf3cb45b276c357395e73e8b24c138149327", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.atendimento_cliente.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/atendimento_cliente", + "platformId": "business", + "profileId": "atendimento_cliente", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "fc5f03202ddb4d05e7e87d13cb252110f24ef738804cdd8cb071bd9ce5d99606", + "sourceRecordsHash": "2a476c57b9bcffe551ba8208411976d6d0e67acfb5d73245fb6dcb6edb65a28e", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.ceo.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/ceo", + "platformId": "business", + "profileId": "ceo", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "2a4c6f11c3c389eb899b7679cf64cada1577ea42c88ab2a7b0e57561bad93f65", + "sourceRecordsHash": "60e78c5b99d20012df7cf183b9fcb519a96d1a137fa3d2c81e4fb151f4319081", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cliente_externo.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/cliente_externo", + "platformId": "business", + "profileId": "cliente_externo", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "0f50d2d72ea08460e532c42b2bb846226b5a2d4fc2741dc6211c0c91fd43e1b3", + "sourceRecordsHash": "f516ddef991c7293747bc97110d0ab2449831594f1e1ca5958748e2f4796f40e", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.contador.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/contador", + "platformId": "business", + "profileId": "contador", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "e0d78cc11f3b8c756043061ac4bf5c063a7ef3728983b32580713783453e4994", + "sourceRecordsHash": "82921b7cd91e45f13f0c82434c250df3953803a11da1896ef74d502539a4e57d", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.financeiro.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/financeiro", + "platformId": "business", + "profileId": "financeiro", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "a47c0ac060aee91afcafbbb4dfb419e59d9b3ef824c36ef07f948d9f3ca34950", + "sourceRecordsHash": "f13fa1e3c7720299f14e3fbdc387c4223382833899d2b3a2e98531480cdcc275", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.gestor_operacional.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/gestor_operacional", + "platformId": "business", + "profileId": "gestor_operacional", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "045d118ca7a92e2d5c97d9fa6f7407d34c76c96b2673a24e27abfbed5b78e52c", + "sourceRecordsHash": "eec17c1cb6e70314bd866690f0409e231f0263bc4dae2c9c53d82536f6cc4355", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.juridico.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/juridico", + "platformId": "business", + "profileId": "juridico", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "8575cbbeb6f835f66353e93a26787139f40d8f4f8d98eb33ab0f938c0ee747ce", + "sourceRecordsHash": "fd72cd371b1fc086465387d06fb38648a065d07edc2d3c81adc5937881e906ec", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.planejamento_estrategico.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/planejamento_estrategico", + "platformId": "business", + "profileId": "planejamento_estrategico", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "2455487efe6de08db5facf2c99ce161b4b41ad120684726298b640bf3a4033ac", + "sourceRecordsHash": "172c097437885dccec3145b6c42def6524524b8d1a9f8820ddf730935536caf1", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretaria.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/secretaria", + "platformId": "business", + "profileId": "secretaria", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "df51f07075142cfab0de8dc410c333739ae03bb99c569dc9032d4ab39377518e", + "sourceRecordsHash": "5a0b86d71e908689cc7c3e86682d1be54e9743f0d8fb1d302a0f01174ffb3a2b", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.suporte.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/suporte", + "platformId": "business", + "profileId": "suporte", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "8fff61678b08a6cc4e6e78e33cc245a5a232cee18ca32484b29931a634433942", + "sourceRecordsHash": "bf2e32b622082b93539523a2200b361d7ffcc3294a021d0747a8890f723bc94e", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tecnico.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/tecnico", + "platformId": "business", + "profileId": "tecnico", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "bf71b0e9f7087fc7b658b4a5d8a00054676993eba9066be97a1653e9d30342d7", + "sourceRecordsHash": "cad6b93a70baa6f8710e0ca0d0c61bc30741787cfd5dfb3f3fb41d48f21624fa", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.usuario_final.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para business/usuario_final", + "platformId": "business", + "profileId": "usuario_final", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "a693e8eaed5a20387e014ac9e4cb93f5c1d260163d73a20557e43e737998323c", + "sourceRecordsHash": "7e275ab0fc470233d9ec54bfd4df498cd737a35959748928b5ce8d139ce76dcb", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.acao.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de acao para business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "19d76db924484cfa9c084c1cf51a901f9d3fdbcb276b11a48e00b400131e26b3", + "sourceRecordsHash": "ffded0c47cbabb7c7981f3f9517a3ae08a4a320d6ec8eaa71c52a605afb00092", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.auditoria.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de auditoria para business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "b264e04b69372b521d3be268fbd79bf5b12589a34d9fe7a0642f333bb0f59c8c", + "sourceRecordsHash": "e92dc4e00b86a5796dfec65dc9af74889efc1f10bcfa5b4e58090eed3616e96a", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.consulta.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de consulta para business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "19250c93933ac1f0d36e4f29a5f781e58bebd581ce5c5983b293791b52c67fc4", + "sourceRecordsHash": "5b79291ffe378864cb19a13357b0916eb6e759ed8898aade8df99e044fde309e", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.diagnostico.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de diagnostico para business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "93ee88353075a5ce327c996933a78cce8e400080ceb6c000fe9f19949dd5cab0", + "sourceRecordsHash": "921c020ed6a42f77531f59b043d3fced2abca93137d58dd1dbf75373b4885af9", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.explicacao.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de explicacao para business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "0834dcf87d607269fc1010ffddbca71bffa725cc8adabe279b5710c97b060c5c", + "sourceRecordsHash": "faf8b08dee6581f5c9c39d6c91f919b97ec3f8598ceaf11537a9165a11e7db8c", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.billing.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela billing em business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "40c9006f2adf5d7759e9a62f6d99308aa1a944294957bc5b92706e2bea5c046e", + "sourceRecordsHash": "002046ffacc6b0e2a0b9efc93fed3166489adcfe1eb587e15a790dd8db948bb9", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.checkout.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela checkout em business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "944eb00e3c3b45c41b78f08ee435e9d54e273d352856779d4df752b2db7540d1", + "sourceRecordsHash": "21d7da93042d1915c3c0b6795651fc0b5229ad8f7013e00bc7218ca2d9c3693e", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.commercial-readiness.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela commercial-readiness em business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "8221accfda361b02ba948b59465e5f1aa3eb9cd20939177b558c791936191081", + "sourceRecordsHash": "1e48745608947787d1498e3727344ff551e1b13dd5ac8ea608f73b1d67414d6f", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.consumption.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela consumption em business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "522326e8d5e5c3896590ce680a8be316471acf5ee2a4564d05982d3e59430e73", + "sourceRecordsHash": "2f02ede2079041caa0fb4148bfa679b4458d42677fd693f22639ac2625c2d67b", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.entitlements.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela entitlements em business", + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "score": 9, + "sourcePayloadHash": "cc552b25bb0aedc336e057aba8526d1c1ae66c3e15df237b63865c9b2428b99d", + "sourceRecordsHash": "d45f5085316699750adc15ac00e65d3bb385a07c909e3aca156f5abf2f67ae86", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "compliance.administrador_empresa.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/administrador_empresa", + "platformId": "compliance", + "profileId": "administrador_empresa", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "d5581cb4b2f8e04c4daa1265ad15e4ccab0a3549ea5e2077bb6daf8f166f6692", + "sourceRecordsHash": "9595d19be7346e69f779802a6abf87c812e38166007a562c150edb4c8d0103fc", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.atendimento_cliente.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/atendimento_cliente", + "platformId": "compliance", + "profileId": "atendimento_cliente", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "5ca5cd37aab29c9e3bae9f2caf2a85819d2fb018a97a97d129d3759b1cdf968b", + "sourceRecordsHash": "badad890159eb39e9683ad7fadb764755a5f3fae15cbbccce67fe81bd802d984", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.ceo.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/ceo", + "platformId": "compliance", + "profileId": "ceo", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "06fc69170da7f478e5f80d852130cb7367f11b05684c59f7cdc42eadcf3bed1b", + "sourceRecordsHash": "c23dc28ae9f07abc933b7f94570008518e6d29ebc6ed38b264c3293251466f0a", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.cliente_externo.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/cliente_externo", + "platformId": "compliance", + "profileId": "cliente_externo", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "2218a632c4aaa22e24cd6c76edef9777b32ef91a44071fdf140ced78f88ff8a9", + "sourceRecordsHash": "cd14bd2049d2af1b95f65f67dfbb7c6617d5869ad12dd1be99006b838bca9967", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.contador.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/contador", + "platformId": "compliance", + "profileId": "contador", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "d00e20d587737d995c4dd4d3146de4b2ca1cb2b187da3ec1622635c766f01c92", + "sourceRecordsHash": "9023e8a93a3bb7b44f17336be24ee58aa68adef813ed5ffc22eb86824d298588", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.financeiro.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/financeiro", + "platformId": "compliance", + "profileId": "financeiro", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "6dbf1baec01ff39cd990645b423ec557626ba549af5726409ab9567d1619872e", + "sourceRecordsHash": "7355c9276cba6b5c4018e25d1b9d40ee0741a07dd37f2bfb64d25153f4d2973f", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.gestor_operacional.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/gestor_operacional", + "platformId": "compliance", + "profileId": "gestor_operacional", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "b9fa380c81e901887624c2714a4883212f6dd31ab756e739fc3bdbe6bad6754a", + "sourceRecordsHash": "b25d00db27cc64fc6f659844c7727aa96831a82ffd26d356edf1e19ca4faee2f", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.juridico.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/juridico", + "platformId": "compliance", + "profileId": "juridico", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "4c723eb98897fde427635692030af30f5ac51c75256c373536339c73f25c85cd", + "sourceRecordsHash": "7ecc94a422bb94b482879bcc158856b1a61f83ab00219080834b6dc9d225de3c", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.planejamento_estrategico.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/planejamento_estrategico", + "platformId": "compliance", + "profileId": "planejamento_estrategico", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "43d4740235d0c772fcb8a766fe0d5ea60bf35636cae107a26564f4d2b81d2f2f", + "sourceRecordsHash": "2dca5f0eee06702afd7be61c54c551364d023818b54f33d1ac2ee2eb111eee7d", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.secretaria.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/secretaria", + "platformId": "compliance", + "profileId": "secretaria", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "60afb1d570ce3fed904af68a1dbf43fd8b54667c2b7180f74fe0a60f1d301f14", + "sourceRecordsHash": "0dca0afce8580e28873147a379d9cac18718b99ec7b48cd46c20e4e444c07bf6", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.suporte.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/suporte", + "platformId": "compliance", + "profileId": "suporte", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "2112546a673c011349e9f739327ffe7dabac4cc116099444ec5eeb8d6ca5f7cd", + "sourceRecordsHash": "6c3cb1fc7fe128413df15eec51c3369b2bb1223eaee15d564f6bca0573cf10b2", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.tecnico.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/tecnico", + "platformId": "compliance", + "profileId": "tecnico", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "a18fe84f81b8318b26c421048d1988c321618f2cd6a2042e6468849f4185c6b9", + "sourceRecordsHash": "d88c9babcd7c9eb78143a9c0f19ff54753d69073c9bbd9a3d01578a3f94e10b8", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.usuario_final.provider-tool", + "kind": "provider_tool", + "nextAction": "publicar e validar tool MCP para compliance/usuario_final", + "platformId": "compliance", + "profileId": "usuario_final", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "c81dee2633b502ba4a2549e6ce0e26ea90c1366cfd76a74e96923f94b789561d", + "sourceRecordsHash": "bdd463a68ae24de0adc2bb868de07c56c8cf7884dd8b2fcf63a4d0368d4c9342", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.cfat.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para compliance/cfat", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "6b07c0279d30221b578657021952b588d5fcd97a19b4cf48dfe00b723d02f51f", + "sourceRecordsHash": "84324fc647874cc21d0bbf18e08d18b9f6a01b1c8dc5a3471e2eeaa801edd886", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.credentialref.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para compliance/credentialRef", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "44c216268d2936e7f533dafd8f1d26ee19d2348210be3135fad6efad3367600c", + "sourceRecordsHash": "1e8f970ee9cce238b0ce33d5da75c08ce4ff42a90e5ef4acef3407dc79099383", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.secretref.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para compliance/secretRef", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "db3adad75aa37fa117fccf2782b51f4633b46cab1c98a1fdb852879ba5548026", + "sourceRecordsHash": "ed0d6d35fa87a46978ffea9096aae304b5e2eb5f0321c353576fda5a2d25dcef", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.tokenref.redaction-policy", + "kind": "redaction_policy", + "nextAction": "executar varredura redaction para compliance/tokenRef", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "a5c560fc4edd9f61c416e2f9505e509ffc1c7643eb3cc80960b75d18f71b60b4", + "sourceRecordsHash": "acb43f555f5bbdf78729be7b7a26f58a45fdaab6b7623a9d576048b16e4c5d4d", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.administrador_empresa.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/administrador_empresa", + "platformId": "compliance", + "profileId": "administrador_empresa", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "68126e7c11c34b5d6b1b881297e7e401947b0b18035724bf6af18aac8b5faa95", + "sourceRecordsHash": "9d8f34d37e1c4c707d72878aef7ce7f6873aa897d291fa215c121a950f693567", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.atendimento_cliente.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/atendimento_cliente", + "platformId": "compliance", + "profileId": "atendimento_cliente", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "b9fb21561ef6f4c431b474b2b0819351ef7b6c80f94d117a7d80dbcfbbebe5a9", + "sourceRecordsHash": "ba61bde02a1c59b4ac9c6fc64dcb212dc28a537b647769af4caaccfa2db88681", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.ceo.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/ceo", + "platformId": "compliance", + "profileId": "ceo", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "92fec29d2eba44fcfa6795060b4aae210df860b0f067572987df6d85a8b9dbd0", + "sourceRecordsHash": "b3a637d06b4501ad434dd32d5fb17abe3410b2c166e736ad3d2eb18cb10687aa", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.cliente_externo.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/cliente_externo", + "platformId": "compliance", + "profileId": "cliente_externo", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "d90ac6d14db6cbb3e47197903bc41916a7c770448042385a4811cb018831062e", + "sourceRecordsHash": "2a834449913db8d41e98e3ee254fecca7abb6909f0f23b9c16c25a4f6fb25572", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.contador.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/contador", + "platformId": "compliance", + "profileId": "contador", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "b353448ab3f85cc861cac95131192146bcb6fd0b25e16e94bba755a7f6a39d6a", + "sourceRecordsHash": "6ba3f4b22d4d247142f3ba4a0cd68fd06e81f7ee349c86660bdb4e579318f21a", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.financeiro.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/financeiro", + "platformId": "compliance", + "profileId": "financeiro", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "444fe3ef69d9143972b2a718f66b126341c594cf47fca369e7e5e6bfe7027a11", + "sourceRecordsHash": "ae8f44327727bda5b1da73b199b8bb412cb5ee2245601bd56048f8952172e201", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.gestor_operacional.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/gestor_operacional", + "platformId": "compliance", + "profileId": "gestor_operacional", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "0a60a2cb852b3580703f1748252a349e4ab65e5a5ea030e07d7cbe87bce3068c", + "sourceRecordsHash": "d25ae15ead141cf9d1d504f23a4767993ef6fdf9b5c8e856159ac1bb727547f8", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.juridico.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/juridico", + "platformId": "compliance", + "profileId": "juridico", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "96db2cd0fd8fc47324c685fbf434f399386304abbedf556f8842b86a92e1cde3", + "sourceRecordsHash": "e63d3a02777838075fe375a50800081a9c7b41ab73a0a70955822d6ca3a3fe95", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.planejamento_estrategico.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/planejamento_estrategico", + "platformId": "compliance", + "profileId": "planejamento_estrategico", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "0bff039e00cedcf7649ac954e9e48f69f908ec66f2c882618163b67a172824cb", + "sourceRecordsHash": "86ab56f14eb22d4db24fb5bbeef5bf8deff4e7b6af0930c5598ca418fb88ec0a", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.secretaria.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/secretaria", + "platformId": "compliance", + "profileId": "secretaria", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "3566a0956463883b49fa2d746cd0177b6b04defc6ec2c0c7999455d2d06ba91c", + "sourceRecordsHash": "65ab0c251e2590062ad29226d0d95f28b006673b217a33e008767dca8e77ef9c", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.suporte.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/suporte", + "platformId": "compliance", + "profileId": "suporte", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "1a8b59449ce3c6057c124bc1e0b5ba34f183aa5b1302123908b2241780078aee", + "sourceRecordsHash": "6f8b9e4eecda594ea3cbcaebd18a5e4fc67a80b46940127138154a540d685207", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.tecnico.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/tecnico", + "platformId": "compliance", + "profileId": "tecnico", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "217b6a0daa4f6dc6a1d372525fbf3e024bac5bbadb1b081102a6ec91ad9ded22", + "sourceRecordsHash": "a0529bb1f12e1ae22ef899e66553e267cc44634047a2c56e70a69972b53cee53", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.usuario_final.report-model", + "kind": "report_model", + "nextAction": "homologar modelo oficial de relatorio para compliance/usuario_final", + "platformId": "compliance", + "profileId": "usuario_final", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "ebe64d108a7ecfd34d2087874bb07b0089da522823e62c9a6510a4b2dcd0c8ba", + "sourceRecordsHash": "521b17b0853e846abc4bed4dda6c1a576031aad2d58eb686177e55470e1c8035", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.acao.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de acao para compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "cb62ecab06555e1576a007ff8084e772908f86662f08952efd073717b8899437", + "sourceRecordsHash": "23ebb3ed86c85dda365ee1076d3aae0741bf95bfa4666f4642ee1db729914c23", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.auditoria.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de auditoria para compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "8ca07fc88a97680c8d33ffe80ec5c8966d5231455bd2d90fcb2801504b8aded5", + "sourceRecordsHash": "12b2531ebd62e9a4f519b4eba84ea9b94ade37c3006009422fc8d7c3e549261d", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.consulta.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de consulta para compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "55caf793d588e02bc10c25f8c82a6f551ade2b3cef65bbd2f30ef0d8ff026f04", + "sourceRecordsHash": "f1cfaf3e137ebedf9f1018910770fe233f352bd3ab79c6c9852fe532cda2ad4f", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.diagnostico.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de diagnostico para compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "43b9170b0c0f2575f3e28a1a1bfdf26bb990a7eefb16b5d26ac936d5871393df", + "sourceRecordsHash": "b3b4e8eb9dbfcc30c811517e71741ae7a82b13708acb4c9c7d52e163963a8de4", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.explicacao.transit-policy", + "kind": "transit_policy", + "nextAction": "validar politica MCP de explicacao para compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "67fc0e96200d45da3d82e644e1409ec274080256f52309f37be7f3ca17088f80", + "sourceRecordsHash": "27fd060577ff41d3ac66fb737ee41274f453e0616e2d26fe0514a3b8bad748b7", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.audit.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela audit em compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "95a89c1cad553ef8e077298cdd7746a80aa0b99997a9cb6017022b2d146ee04b", + "sourceRecordsHash": "81dbb5267dbe74ae61ee50eff8687e4012ae2f639412b8965cb8f29b548e0177", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.consent.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela consent em compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "af7d26a45d75d573afd5b832bf875d54ac50fb38e9eccde29247c93460fd004e", + "sourceRecordsHash": "6a9af3986bba946386da6a860aa4ad1360286cde987a910ccaa251f061002909", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.privacy.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela privacy em compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "52c9b25c7b7f1217aa78a5aa66b18a10ebb73f9f9af0fee7857b1fd50f143374", + "sourceRecordsHash": "8b1075ec606d0a36f445de86bc7c82def5df5e68bb2d156227ed5dbb3262cae2", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.retention.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela retention em compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "67bf96f32954e756c8dc4fd0f757ad4a9cc2be45bc3f2fd26bb1e03be4cf3b47", + "sourceRecordsHash": "edccea61255f0359e2f2f3bbe31d2091fa2219756116243839c79d8e6e0c7853", + "status": "ready", + "truthState": "live_write" + }, + { + "contractId": "compliance.risk.ui-screen", + "kind": "ui_screen", + "nextAction": "validar same-source da tela risk em compliance", + "platformId": "compliance", + "profileId": "todos", + "sameSource": true, + "score": 100, + "sourcePayloadHash": "7b5e9f17115a6df1b1d9670421f93a0ff5364a72ddcfaa41e1fcf03dafe97ee5", + "sourceRecordsHash": "7bfeea7ed4a7eec26bb82eb1090b8ae65e1b7f3b7794e3647ee9c95140c9e559", + "status": "ready", + "truthState": "live_write" + } + ], + "coverageCount": 560, + "currentProjectId": "tudo-para-ia-mais-humana", + "generatedAt": "2026-04-30T11:35:06+00:00", + "providerId": "mais_humana", + "providerName": "Tudo Para IA Mais Humana", + "readyCount": 400, + "sameSourceCount": 401, + "summary": [ + "Contratos avaliados: 560", + "Contratos prontos: 400", + "Same-source prontos: 401", + "Bloqueados: 158", + "Provider MCP minimo: mais_humana.rulebook.compact", + "Endpoint de execucao MCP: https://mcps-gateway.ami-app.workers.dev/v1/execute", + "Projeto canonico recomendado: tudo-para-ia-mais-humana-plataform" + ], + "toolIds": [ + "mais_humana.rulebook.compact", + "mais_humana.relatorios.modelos_oficiais", + "mais_humana.admin_ui.same_source" + ] +} \ No newline at end of file diff --git a/dados/mcp-provider-mais-humana.json b/dados/mcp-provider-mais-humana.json new file mode 100644 index 0000000..cec6bac --- /dev/null +++ b/dados/mcp-provider-mais-humana.json @@ -0,0 +1,1310 @@ +{ + "actor": "codex.service-order-round", + "auditId": "audit-919dee614cd28e80fdeaec4c", + "destination": "tudo-para-ia-mcps-internos-plataform", + "origin": "tudo-para-ia-mais-humana", + "payload": { + "averageScore": 74, + "blockedCount": 158, + "canonicalProjectId": "tudo-para-ia-mais-humana-plataform", + "contracts": [ + { + "contractId": "business.administrador_empresa.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/administrador_empresa", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "e688cbb09d8a2aa59509a29ab347723839c05483c44d828d4a02202e68a4c155", + "sourceRecordsHash": "af2bbd3ca13e16e3e65a1adadd1c428c498866499fe223178f0da95f36e7c266", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.atendimento_cliente.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/atendimento_cliente", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a57b18ba71dbd35047c6bef6b55b7f15ed922a3dd7531f3521925ecdb65a578b", + "sourceRecordsHash": "ee66b1ee468bcc0244bea9d4c1aeaa8fa4d882caa80a634cb4bb8043d69de463", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.ceo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/ceo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b3ca22e1f15666762d5a20ac3b21cff51a75271cba4e0463aade7c81ad49caad", + "sourceRecordsHash": "bbdaaf0e123d09a3517217222ab672819697c8eb451307c8b758fc016bd85601", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cliente_externo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/cliente_externo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ea13ce29b38ea235dc12077324ac9ca886d4f28b6490d204b0131132cf0d7d1a", + "sourceRecordsHash": "3fa497048404c1f8abb0d93ebb9ef532c93bd7e15e6820805fa2cd92ca52cca4", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.contador.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/contador", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2a29bcd704fac5f8e730f474b000fd097fb119d3152e2a440856dff70014d0c5", + "sourceRecordsHash": "14b1a6ba5dd0aa7aad7498fa780145128c686747fe60d3f45acffc441f63a958", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.financeiro.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/financeiro", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d368d24880a2a9f659761b48e9f8234664cc7e3eb920fba29ae45e0cf09ff0fd", + "sourceRecordsHash": "ba52cb85a7cb94cd70b6a0407a4c53f9d199a206af1e052b5fe194fd49782fad", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.gestor_operacional.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/gestor_operacional", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "c7d703ee8039723d25f83a821f6043bcf06ba1027b6f9d6d4a354caa48079bc2", + "sourceRecordsHash": "11c87d9d68cc2474dbfaaac55cdc28051e88e74c1a7359ebe84da6a0f21321cb", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.juridico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/juridico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6187d73898cb3061b2c66d430b6b8eeb1a4caf78efe0b29b7b387e08b9f32805", + "sourceRecordsHash": "da8aa99a39162b37169d16397382cfcd3995190f8536cc644f38e02a4922ad20", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.planejamento_estrategico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/planejamento_estrategico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "f7299c2361291fd08b0abf3b690f3623715b832c0aaa8a42a296c2bba96a2b16", + "sourceRecordsHash": "2dada112b9d82b37657578cc6bfddc05ca8366cdd1a3147399a40b1e5001f1c4", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretaria.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/secretaria", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ead35eb1a420ac0a2cd8c22d7ea265f519381abb88de4cdc4204fc1ebb289aea", + "sourceRecordsHash": "1abfa07a9755e6ba091cebf2bbd07bfb7e4ca201efc0dde7d113819fa84b93da", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.suporte.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/suporte", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2c64aa9e8678fa23e342d52934ee463a1fdd975244c1801e0c82b9a0d88c6add", + "sourceRecordsHash": "b2ce9ed7aa9f99ad93081c0a0acaed06e19d0683d9516e85088a60d50b5d91d0", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tecnico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/tecnico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "eba54bcdcb9e77d247709420bfa6dae41c0765e19465c8641b293a1e9343f149", + "sourceRecordsHash": "4e3885ee3b9c8a2a56dd239dc66b6e90ca680db9b5e5408598ff90ed18a5dea4", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.usuario_final.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para business/usuario_final", + "kind": "provider_tool", + "panelReady": true, + "platformId": "business", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6a4870992acee34947530c005c58ef917fa55d5b734d98b0d3ce0cc4f2399442", + "sourceRecordsHash": "711b2b330d7e4f6177b70487367ed16ccaff0302b0ab5bf246f61a16919454af", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cfat.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/cfat", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d8adb1eb75d43f058418d40fd533696142004b84ab06e7e123cf3cfd02bf6aac", + "sourceRecordsHash": "b273baadd4ff9671259b17607e9807d5fbc4619239b99f2e2e9757a097410a50", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.credentialref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/credentialRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "76939d5a6a3aeffc602e57ac1698d70319e692fcc805be4a96cef49fc240ad08", + "sourceRecordsHash": "17876bd30a943c201fe9f41ab9731d104eb2a7df10b3458c52fe5536b3a185fe", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/secretRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "1f6ef0f3191f796461fd6d1ba6519a61e0463e2e688ccb281f7c7bf193b86446", + "sourceRecordsHash": "6e4983d9467eea6210bca1cd6f7f295baca4f5170989bac6602e0b4f419c83ff", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tokenref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para business/tokenRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d2a39cedc71056499c8372e03bbbc605ab836bd2d945c1604b80fcd3471f16d4", + "sourceRecordsHash": "304939f9773ce3f1834fd378c55deebe64eec2133714e8d29ecd9070ec4c721c", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.administrador_empresa.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/administrador_empresa", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6a859028c69914e4674e31a9d69163b27f17c9a664207d1c23806a8a5fba1a4c", + "sourceRecordsHash": "85d83ec5be81680165ab29a1333caf3cb45b276c357395e73e8b24c138149327", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.atendimento_cliente.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/atendimento_cliente", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "fc5f03202ddb4d05e7e87d13cb252110f24ef738804cdd8cb071bd9ce5d99606", + "sourceRecordsHash": "2a476c57b9bcffe551ba8208411976d6d0e67acfb5d73245fb6dcb6edb65a28e", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.ceo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/ceo", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2a4c6f11c3c389eb899b7679cf64cada1577ea42c88ab2a7b0e57561bad93f65", + "sourceRecordsHash": "60e78c5b99d20012df7cf183b9fcb519a96d1a137fa3d2c81e4fb151f4319081", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.cliente_externo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/cliente_externo", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "0f50d2d72ea08460e532c42b2bb846226b5a2d4fc2741dc6211c0c91fd43e1b3", + "sourceRecordsHash": "f516ddef991c7293747bc97110d0ab2449831594f1e1ca5958748e2f4796f40e", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.contador.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/contador", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "e0d78cc11f3b8c756043061ac4bf5c063a7ef3728983b32580713783453e4994", + "sourceRecordsHash": "82921b7cd91e45f13f0c82434c250df3953803a11da1896ef74d502539a4e57d", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.financeiro.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/financeiro", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a47c0ac060aee91afcafbbb4dfb419e59d9b3ef824c36ef07f948d9f3ca34950", + "sourceRecordsHash": "f13fa1e3c7720299f14e3fbdc387c4223382833899d2b3a2e98531480cdcc275", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.gestor_operacional.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/gestor_operacional", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "045d118ca7a92e2d5c97d9fa6f7407d34c76c96b2673a24e27abfbed5b78e52c", + "sourceRecordsHash": "eec17c1cb6e70314bd866690f0409e231f0263bc4dae2c9c53d82536f6cc4355", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.juridico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/juridico", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "8575cbbeb6f835f66353e93a26787139f40d8f4f8d98eb33ab0f938c0ee747ce", + "sourceRecordsHash": "fd72cd371b1fc086465387d06fb38648a065d07edc2d3c81adc5937881e906ec", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.planejamento_estrategico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/planejamento_estrategico", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "2455487efe6de08db5facf2c99ce161b4b41ad120684726298b640bf3a4033ac", + "sourceRecordsHash": "172c097437885dccec3145b6c42def6524524b8d1a9f8820ddf730935536caf1", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.secretaria.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/secretaria", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "df51f07075142cfab0de8dc410c333739ae03bb99c569dc9032d4ab39377518e", + "sourceRecordsHash": "5a0b86d71e908689cc7c3e86682d1be54e9743f0d8fb1d302a0f01174ffb3a2b", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.suporte.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/suporte", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "8fff61678b08a6cc4e6e78e33cc245a5a232cee18ca32484b29931a634433942", + "sourceRecordsHash": "bf2e32b622082b93539523a2200b361d7ffcc3294a021d0747a8890f723bc94e", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.tecnico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/tecnico", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "bf71b0e9f7087fc7b658b4a5d8a00054676993eba9066be97a1653e9d30342d7", + "sourceRecordsHash": "cad6b93a70baa6f8710e0ca0d0c61bc30741787cfd5dfb3f3fb41d48f21624fa", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.usuario_final.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para business/usuario_final", + "kind": "report_model", + "panelReady": true, + "platformId": "business", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a693e8eaed5a20387e014ac9e4cb93f5c1d260163d73a20557e43e737998323c", + "sourceRecordsHash": "7e275ab0fc470233d9ec54bfd4df498cd737a35959748928b5ce8d139ce76dcb", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.acao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de acao para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "19d76db924484cfa9c084c1cf51a901f9d3fdbcb276b11a48e00b400131e26b3", + "sourceRecordsHash": "ffded0c47cbabb7c7981f3f9517a3ae08a4a320d6ec8eaa71c52a605afb00092", + "sourceToolId": "mais_humana.transito.acao", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.auditoria.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de auditoria para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b264e04b69372b521d3be268fbd79bf5b12589a34d9fe7a0642f333bb0f59c8c", + "sourceRecordsHash": "e92dc4e00b86a5796dfec65dc9af74889efc1f10bcfa5b4e58090eed3616e96a", + "sourceToolId": "mais_humana.transito.auditoria", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.consulta.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de consulta para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "19250c93933ac1f0d36e4f29a5f781e58bebd581ce5c5983b293791b52c67fc4", + "sourceRecordsHash": "5b79291ffe378864cb19a13357b0916eb6e759ed8898aade8df99e044fde309e", + "sourceToolId": "mais_humana.transito.consulta", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.diagnostico.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de diagnostico para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "93ee88353075a5ce327c996933a78cce8e400080ceb6c000fe9f19949dd5cab0", + "sourceRecordsHash": "921c020ed6a42f77531f59b043d3fced2abca93137d58dd1dbf75373b4885af9", + "sourceToolId": "mais_humana.transito.diagnostico", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.explicacao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de explicacao para business", + "kind": "transit_policy", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "0834dcf87d607269fc1010ffddbca71bffa725cc8adabe279b5710c97b060c5c", + "sourceRecordsHash": "faf8b08dee6581f5c9c39d6c91f919b97ec3f8598ceaf11537a9165a11e7db8c", + "sourceToolId": "mais_humana.transito.explicacao", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.billing.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela billing em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "40c9006f2adf5d7759e9a62f6d99308aa1a944294957bc5b92706e2bea5c046e", + "sourceRecordsHash": "002046ffacc6b0e2a0b9efc93fed3166489adcfe1eb587e15a790dd8db948bb9", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.checkout.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela checkout em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "944eb00e3c3b45c41b78f08ee435e9d54e273d352856779d4df752b2db7540d1", + "sourceRecordsHash": "21d7da93042d1915c3c0b6795651fc0b5229ad8f7013e00bc7218ca2d9c3693e", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.commercial-readiness.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela commercial-readiness em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "8221accfda361b02ba948b59465e5f1aa3eb9cd20939177b558c791936191081", + "sourceRecordsHash": "1e48745608947787d1498e3727344ff551e1b13dd5ac8ea608f73b1d67414d6f", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.consumption.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela consumption em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "522326e8d5e5c3896590ce680a8be316471acf5ee2a4564d05982d3e59430e73", + "sourceRecordsHash": "2f02ede2079041caa0fb4148bfa679b4458d42677fd693f22639ac2625c2d67b", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "business.entitlements.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela entitlements em business", + "kind": "ui_screen", + "panelReady": true, + "platformId": "business", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "cc552b25bb0aedc336e057aba8526d1c1ae66c3e15df237b63865c9b2428b99d", + "sourceRecordsHash": "d45f5085316699750adc15ac00e65d3bb385a07c909e3aca156f5abf2f67ae86", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "blocked" + }, + { + "contractId": "docs.administrador_empresa.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/administrador_empresa", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "f381a4e38f300d518b8315902ef6b0a9908645d314358d9e8e623712fc08bf01", + "sourceRecordsHash": "fee66aed2081803c5bd8e313ee18f1ae6148ca7c747ee9bce76e634ae52c7823", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.atendimento_cliente.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/atendimento_cliente", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "172464972bee0afa438521a45d5ac62b0188f6d7849b19f472d409679846c9ec", + "sourceRecordsHash": "fae803908bb33c28b9bb9125874c2ec0253f82349b8ddd04c925df5eb7a7061c", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.ceo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/ceo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "83bc5d8a54fd906b0170256910c4d28c9709e180396896f9eec4dbc4e974b7b9", + "sourceRecordsHash": "0846a9358ce9201824250cec3ea71386445e6a110029034de09cbef7f8642b77", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.cliente_externo.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/cliente_externo", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "7ada48e718d6cb5f82f25a9bc7976bc12031987bd1bb8539bff74bb1ee2d68fc", + "sourceRecordsHash": "cc3d4834015a8e75fa47ba94bf57dd695c5888179af91e755806cf7929ab73b8", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.contador.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/contador", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "36b154e53739067173f4811ee2a0aa7e11d5e57ba29a8ca941687e90ec7eb7ca", + "sourceRecordsHash": "0a4ec9169ea107f559c7fbb2b344c37349bcd22687464b23d4342739708c4145", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.financeiro.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/financeiro", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b3e3f41da2ddfb71cafecb65ab9995b9916cc96e3dea48b4261da60a77ab275c", + "sourceRecordsHash": "3876ff668f2e1a615dbe93986c919ea8de1eb97072ba719cdf45f84d35f48aa3", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.gestor_operacional.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/gestor_operacional", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "5b37ac519d7ef726865c886ad588748a8998c66dc9c1be396681abb150ae8058", + "sourceRecordsHash": "564cb5d77809c2b91bf1a1a1a558098a50e3f458327f41937383ac8e52648507", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.juridico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/juridico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "00dd291b7d4a22d02348439091c9f0bfc20db4d7924367228ee4a9e21989d4d1", + "sourceRecordsHash": "45d7a1427828f14d9edd12976ccd9b08efc773921e6da6e5514b7dd717416196", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.planejamento_estrategico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/planejamento_estrategico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "3581d97a23d1d32fed87ad6cd39990500e9902a030832b4710816e9c85091a80", + "sourceRecordsHash": "7b65a3a1a62f7adda90b264dcd35022c377f944eedfc3fd0c5bf185a70f3e043", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.secretaria.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/secretaria", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "790c1e1379f2db08d59844729d8f4cc488dcbd41e08f39c39946dedeb900e35a", + "sourceRecordsHash": "e954eb65c4d0a96b9323984ce980a07cde2740a6270f1f0cb50bb83df1b00528", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.suporte.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/suporte", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b9328b6bb08336abb13f28861bce8c93e6b754ccea15c4a4a6413c32d9f76d38", + "sourceRecordsHash": "2baae45f3c4eb36626a464197d9343b004b570d2dc37334a062246ac03a6e798", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.tecnico.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/tecnico", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "c248136221599717ef1a16e962001420dfcb635ba3192934a2f85573a7467175", + "sourceRecordsHash": "e518ea8c6b9f8415e3e7d88ad1488430c03da505df071618681d007a05ceb3ff", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.usuario_final.provider-tool", + "gptExplainable": true, + "humanNextAction": "publicar e validar tool MCP para docs/usuario_final", + "kind": "provider_tool", + "panelReady": true, + "platformId": "docs", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "0ec9ead827b6d3ce624d45ff3c4e984a42796d7311de1b518295d8a1178cfad0", + "sourceRecordsHash": "ec1a3dc2d5b813f6e105d3acde9564c3c1a227e2537c8b484dbf40c41ab46d03", + "sourceToolId": "mais_humana.rulebook.compact", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.cfat.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/cfat", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "02d9356476ccbf337f7fe2a83a04a859c704a71b205eb86e182079c3f78ca3fa", + "sourceRecordsHash": "a7197d9eebcf1a6e1735c3bdbae989a5066fb8c848bdfd2b77f907164d37a3ea", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.credentialref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/credentialRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "209a7be90427426c123b38895003dd1b0c48fb22a28a86b1fdfe0513b9236c3b", + "sourceRecordsHash": "a481e7ac2de2d85fcaba94b7d21fe7debc3f64f9d6c99b90021173394ebe5ed5", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.secretref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/secretRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "aaf9246a2439f8f7865b6f79ef094012a45029bf78f2390a24304cefb404ca67", + "sourceRecordsHash": "2dbf94099df226c111f01f9773e196cb11691acaaa4882eb93d06cc3a7e625d6", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.tokenref.redaction-policy", + "gptExplainable": true, + "humanNextAction": "executar varredura redaction para docs/tokenRef", + "kind": "redaction_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "09ce31b915388a50b3aab0459f2bdf84e875bbeca3874cdd31c7f19f71ce8114", + "sourceRecordsHash": "abcb3ce79379de8bb7620001756d81dee512bfbff6e59ed7ddda3f85c269467a", + "sourceToolId": "mais_humana.redaction.guard", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.administrador_empresa.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/administrador_empresa", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "administrador_empresa", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "80cfd73f4d9fb9a80a36028156ee434f58b3c819ac36847d31804ae6f6839ab4", + "sourceRecordsHash": "e080a05a4637001c1555f544a848fa0c5b01951c16d10efeaef5c74e9ea5d770", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.atendimento_cliente.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/atendimento_cliente", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "atendimento_cliente", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "4b143d312ce6de493bea7a04b00d5f7c80aed325dcb48b67e19fc66d15aa71af", + "sourceRecordsHash": "77f6c2bb0ac0ae52cc76994313cbbca17255347228351eb42c87159356dbf9a5", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.ceo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/ceo", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "ceo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "4d5aa52da15d693ee819366ac6c9d84cc579127868fcc418cc069c3c703d4f87", + "sourceRecordsHash": "0834ae42b5141914833c6c1a4eca5321543ad44f4820804f42935ea1eb4cbe1a", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.cliente_externo.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/cliente_externo", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "cliente_externo", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ff2be60b432f1894d60b77f666fbf885720db82a1d9cf4fe80c21ac2ba945633", + "sourceRecordsHash": "ec2a51ed31a966dc176f354a53241b2d5c598aa7453fe8e53d9fccf6cb68b073", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.contador.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/contador", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "contador", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "a4b921443ead6d1e2331bd9c765ab1646fdd23baa471b5bb2477d3d6e68ac666", + "sourceRecordsHash": "3891d17789121ee3163019fc3010f365c29fb0827d5d55f83bc10e02c149c2ad", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.financeiro.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/financeiro", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "financeiro", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ce78e8b9487ea48ef15e1118b4c3ce8398251059d7caae91b7152040a8abe903", + "sourceRecordsHash": "cdb8f7ccdd85043f447d9f46e00a951e6c7ebbc0db908c51b4c2d5d9604fab20", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.gestor_operacional.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/gestor_operacional", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "gestor_operacional", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "9c37ceb03d881aa7089dfa72f643132ac5d6cf5b2eb84b829b2f2978150c24b5", + "sourceRecordsHash": "9007715cc6093d8f65b48898234c1be49d81c679896cc499d1a85795defd12f4", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.juridico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/juridico", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "juridico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "30dce0ec5e85196bac8fcf678fcb983bb2a9325eaefb623abce1af3414f071c6", + "sourceRecordsHash": "e18a21f6e06ac4a276d6eaf96737ffe113652f49030a8a1e38ae8e42995319b7", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.planejamento_estrategico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/planejamento_estrategico", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "planejamento_estrategico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "c0b855ddf612611ce634c3dd840d930d7fef3223a80379140a96966c38d66b7e", + "sourceRecordsHash": "0e2cf1ea0fc21cce30ec7532470577329f900ea0f4b331a5605aed803da787b5", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.secretaria.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/secretaria", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "secretaria", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "caca4f64cc412cdc27d60006b750a7dd411092fd24632e36c42cc070f6a54015", + "sourceRecordsHash": "6395dadbfe3d81d634ef24a6e23474d31b8c7aca898d266dcc505cb9f3c53974", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.suporte.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/suporte", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "suporte", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "604836d52b2f67de9581971f01769ecdf902ce1c915cac19a3a4cfc95f9827dd", + "sourceRecordsHash": "78038f3bf1498a8b5013a876873f519663388c7ce56000baa0b89c6d3314e8d9", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.tecnico.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/tecnico", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "tecnico", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "438571dba792bdb449f8abf99fc36d497fb2a82a5b96386c59c77c54edf5be53", + "sourceRecordsHash": "9a148bededb2687d19ec887eb077c58c1b143fff1658b7a7c9f5ca7d9c259de8", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.usuario_final.report-model", + "gptExplainable": true, + "humanNextAction": "homologar modelo oficial de relatorio para docs/usuario_final", + "kind": "report_model", + "panelReady": true, + "platformId": "docs", + "profileId": "usuario_final", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "78af1c17cd725be5f7bdc1d4efdb43125e70815c48bea6a9426218609c781822", + "sourceRecordsHash": "4537e219c4e668683a228ac588f95806360087925f6a0ae3b885804bee3264ba", + "sourceToolId": "mais_humana.relatorios.modelos_oficiais", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.acao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de acao para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "5d89c98585b324ce2f534b433eb9b52dae8ea45ed3dda17b6dd447bd23af721a", + "sourceRecordsHash": "d5f1d72b77357fab9bf5a85c3de8d3e8e50b12cff53807a37e4de6517f044621", + "sourceToolId": "mais_humana.transito.acao", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.auditoria.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de auditoria para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "f9c15b5fe4dd6b6e2aece479b8de1668dfbcaf57f5c00f718bf84835dbe51522", + "sourceRecordsHash": "37c805f26e8134bf07d3875b5ac6430d01532e1c5753ca04d4c8a9f1a05e699f", + "sourceToolId": "mais_humana.transito.auditoria", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.consulta.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de consulta para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "e9760fd906de0ed3ccee977297ba76b1266e7715602302b2dcfb9b3120527198", + "sourceRecordsHash": "e945057dfad7f49d0243d015f92e222b2f7c280721ac9095ccb3637f5ed27a0c", + "sourceToolId": "mais_humana.transito.consulta", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.diagnostico.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de diagnostico para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "ce400c790217284cbfd69e3d1e3fc8af6fd75c20526d020569f46176a8f37e2a", + "sourceRecordsHash": "5d2ab64c3bc63707b55758f626c7d94a9a4ef9294f7301e623bb9ac358932147", + "sourceToolId": "mais_humana.transito.diagnostico", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.explicacao.transit-policy", + "gptExplainable": true, + "humanNextAction": "validar politica MCP de explicacao para docs", + "kind": "transit_policy", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d6173775088179155da791faff328015a96829c0448a35bbf2ff4bb3f134a71f", + "sourceRecordsHash": "4a2ada38417ef8b3c99ee11930eab01e64d8cb77c1ba872642e2d7a57f8365bc", + "sourceToolId": "mais_humana.transito.explicacao", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.canonical-docs.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela canonical-docs em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "fb4aa2cf0224bae7a95cba3a53eb9e6168ef8a9dd8ed5a39d946728e3321a55c", + "sourceRecordsHash": "c2753b2533ae7ad688f37da1e35ec21d449212831bccfc1fcc2c338254372ca0", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.contracts.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela contracts em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "d68ce4cd38b884bcc2b2b0d2f1567f299e3531c9d1c24ed1e43008efe288c8d8", + "sourceRecordsHash": "30401592417b7876ee4e9ee03d67346a922a60c1a2eed2e9e801befde41c4888", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.help.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela help em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "b242c83eef48d063c28fc180e7bc87b08503c20a436a6f9e41df855bbb29090f", + "sourceRecordsHash": "54e46a2bfdba2770d476e7de44e011e7841769f7dc89212b3d92f587f7f6f517", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.proofs.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela proofs em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "6c81f91dc2e3d599dc478e20d22161132419767f27abebc07355f2eb51343e66", + "sourceRecordsHash": "78c622670544276e5d0105fff2f1c56a5fcdcc061fe9c3712d5e46ae2e4d84f5", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + }, + { + "contractId": "docs.runbooks.ui-screen", + "gptExplainable": true, + "humanNextAction": "validar same-source da tela runbooks em docs", + "kind": "ui_screen", + "panelReady": true, + "platformId": "docs", + "profileId": "todos", + "sameSource": false, + "sourceEndpoint": "https://mcps-gateway.ami-app.workers.dev/v1/execute", + "sourcePayloadHash": "13f7ca150a8e60faccdf7a73630bf06f07fdb02c6a0f97403a0bd3596da3208f", + "sourceRecordsHash": "2791c6e726acb70915ad1728a31e19ab834886a26988cf8609cd206fc89626f0", + "sourceToolId": "mais_humana.admin_ui.same_source", + "status": "blocked", + "truthState": "catalog_only" + } + ], + "contractsCount": 560, + "controlPlaneId": "tudo-para-ia-mcps-internos-plataform", + "currentProjectId": "tudo-para-ia-mais-humana", + "providerId": "mais_humana", + "readyCount": 400, + "returnedContracts": 80, + "sameSourceReadyCount": 401, + "toolId": "mais_humana.rulebook.compact" + }, + "permission": "mcp.admin.readonly", + "result": { + "credentialPolicy": "no raw token, only credentialRef/tokenRef/secretRef", + "ok": true, + "status": "provider_payload_ready" + }, + "timestamp": "2026-04-30T11:35:08+00:00", + "tool": "mais_humana.rulebook.compact", + "traceId": "trace-36e825a6e53db9f1ee7d4969" +} \ No newline at end of file diff --git a/dados/ordens-governanca-compiladas.json b/dados/ordens-governanca-compiladas.json index 0cbbf98..96a4786 100644 --- a/dados/ordens-governanca-compiladas.json +++ b/dados/ordens-governanca-compiladas.json @@ -271,7 +271,7 @@ ], "candidate_id": "0058_EXECUTIVA__blindar-redaction-e-referencias-de-credencial", "expected_result": "executar varredura de segredo, mascaramento e politica de campos proibidos", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "business", "priority": "alta", @@ -294,7 +294,7 @@ ], "candidate_id": "0059_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "business", "priority": "alta", @@ -317,7 +317,7 @@ ], "candidate_id": "0050_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "compliance", "priority": "alta", @@ -340,7 +340,7 @@ ], "candidate_id": "0051_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal", "expected_result": "promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "compliance", "priority": "alta", @@ -363,7 +363,7 @@ ], "candidate_id": "0001_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados", "expected_result": "classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "executiva", "platform_id": "customer_ops", "priority": "alta", @@ -386,7 +386,7 @@ ], "candidate_id": "0060_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "business", "priority": "alta", @@ -409,7 +409,7 @@ ], "candidate_id": "0041_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "finance", "priority": "alta", @@ -432,7 +432,7 @@ ], "candidate_id": "0007_GERENCIAL__consolidar-mcp-como-backend-oficial-do-painel-humano", "expected_result": "formalizar admin_ui, screenData, screenAction, diagnostics e evidence no MCP", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "integracoes", "priority": "alta", @@ -455,7 +455,7 @@ ], "candidate_id": "0010_GERENCIAL__normalizar-maturidade-comercial-por-provider", "expected_result": "classificar cada provider em lifecycle comercial e tecnico unico", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "integracoes", "priority": "alta", @@ -478,7 +478,7 @@ ], "candidate_id": "0009_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto", "expected_result": "criar regua catalog-ready, credential-ready, smoke-ready, pilot-controlled e sellable", - "generated_at": "2026-04-30T10:32:39+00:00", + "generated_at": "2026-04-30T11:34:56+00:00", "order_type": "gerencial", "platform_id": "integracoes", "priority": "alta", diff --git a/dados/perguntas-humanas.json b/dados/perguntas-humanas.json index 177c81b..30dc735 100644 --- a/dados/perguntas-humanas.json +++ b/dados/perguntas-humanas.json @@ -2980,7 +2980,7 @@ "confidence": "alta", "evidence": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64" @@ -2996,7 +2996,7 @@ "confidence": "alta", "evidence": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64" @@ -3012,7 +3012,7 @@ "confidence": "alta", "evidence": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64" @@ -3028,7 +3028,7 @@ "confidence": "alta", "evidence": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64" @@ -3044,7 +3044,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -3060,7 +3060,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -3140,7 +3140,7 @@ "confidence": "alta", "evidence": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64" @@ -3156,7 +3156,7 @@ "confidence": "alta", "evidence": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64" @@ -3172,7 +3172,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -3188,7 +3188,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -3204,7 +3204,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -3220,7 +3220,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -3236,7 +3236,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -3252,7 +3252,7 @@ "confidence": "alta", "evidence": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254" @@ -4291,11 +4291,11 @@ "answer": "Para Atendimento ao cliente, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Atendimento ao cliente em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", @@ -4307,11 +4307,11 @@ "answer": "Para Atendimento ao cliente, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Atendimento ao cliente em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", @@ -4419,11 +4419,11 @@ "answer": "Para Secretaria, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Secretaria em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", @@ -4435,11 +4435,11 @@ "answer": "Para Secretaria, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Secretaria em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", @@ -4451,11 +4451,11 @@ "answer": "Para Tecnico, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Tecnico em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", @@ -4467,11 +4467,11 @@ "answer": "Para Tecnico, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Tecnico em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", @@ -4483,11 +4483,11 @@ "answer": "Para Usuario final, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Usuario final em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", @@ -4499,11 +4499,11 @@ "answer": "Para Usuario final, Platform Base ja mostra atendimento excelente. A leitura atual e: Platform Base atende Usuario final em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "confidence": "alta", "evidence": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", - "tools/cli/commands/new-os.ts", - "tools/cli/commands/validate-platform.ts" + "tools/cli/commands/new-os.ts" ], "next_action": "Manter evidencia e revalidar periodicamente.", "platform_id": "platform_base", diff --git a/dados/quality-gates.json b/dados/quality-gates.json index 9539aac..49459ad 100644 --- a/dados/quality-gates.json +++ b/dados/quality-gates.json @@ -796,8 +796,8 @@ "evidence": [ "package-lock.json:639", "package-lock.json:639", - "package.json:27", - "package.json:27", + "package.json:29", + "package.json:29", "README.md:10", "packages/shared-integration-channel-contracts/src/central-contract.ts", "packages/shared-integration-channel-contracts/src/central-contract.ts", diff --git a/dados/registro-prontidao-humana.json b/dados/registro-prontidao-humana.json index 57d5131..36f07ba 100644 --- a/dados/registro-prontidao-humana.json +++ b/dados/registro-prontidao-humana.json @@ -3290,7 +3290,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "gaps": [ @@ -3324,7 +3324,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "gaps": [ @@ -3353,7 +3353,7 @@ "entry_id": "integracoes.gestor_operacional", "evidence_refs": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64", @@ -3385,7 +3385,7 @@ "entry_id": "integracoes.suporte", "evidence_refs": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64", @@ -3416,7 +3416,7 @@ "entry_id": "integracoes.atendimento_cliente", "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -3454,7 +3454,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "gaps": [ @@ -3488,7 +3488,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "gaps": [ @@ -3516,7 +3516,7 @@ "entry_id": "integracoes.juridico", "evidence_refs": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64", @@ -3548,7 +3548,7 @@ "entry_id": "integracoes.secretaria", "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -3581,7 +3581,7 @@ "entry_id": "integracoes.tecnico", "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -3615,7 +3615,7 @@ "entry_id": "integracoes.usuario_final", "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -3653,7 +3653,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "gaps": [ @@ -3687,7 +3687,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "gaps": [ @@ -4682,14 +4682,14 @@ { "entry_id": "platform_base.atendimento_cliente", "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "gaps": [], "governance_score": 78, @@ -4808,14 +4808,14 @@ { "entry_id": "platform_base.secretaria", "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "gaps": [], "governance_score": 78, @@ -4840,14 +4840,14 @@ { "entry_id": "platform_base.tecnico", "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "gaps": [], "governance_score": 78, @@ -4872,14 +4872,14 @@ { "entry_id": "platform_base.usuario_final", "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "gaps": [], "governance_score": 78, diff --git a/dados/repository-mesh-central-write-status.json b/dados/repository-mesh-central-write-status.json new file mode 100644 index 0000000..04d1d4f --- /dev/null +++ b/dados/repository-mesh-central-write-status.json @@ -0,0 +1,7 @@ +{ + "error": "PermissionError: [WinError 5] Acesso negado: 'G:\\\\_codex-git\\\\nucleo-gestao-operacional\\\\central-de-ordem-de-servico\\\\projects\\\\sincronizacao-de-repositorios\\\\indexes'", + "requested": "G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\sincronizacao-de-repositorios", + "semanticError": "OperationalError: unable to open database file", + "semanticPath": "G:\\_codex-git\\tudo-para-ia-mais-humana\\controle-semantico.sqlite", + "used": "" +} \ No newline at end of file diff --git a/dados/repository-mesh-derived-orders.json b/dados/repository-mesh-derived-orders.json new file mode 100644 index 0000000..3239c71 --- /dev/null +++ b/dados/repository-mesh-derived-orders.json @@ -0,0 +1,302 @@ +[ + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-intelligence-platform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-intelligence-platform`, espelho local `tudo-para-ia-intelligence-platform`, recibo `mesh-receipt-286eb398adae` e plano `dirty_blocked`.", + "order_id": "0100_EXECUTIVA__reconciliar-espelho-tudo-para-ia-intelligence-platform", + "order_type": "executiva", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo", + "status": "planejada", + "title": "Reconciliar espelho tudo-para-ia-intelligence-platform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-mais-humana-plataform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-mais-humana`, espelho local `tudo-para-ia-mais-humana-plataform`, recibo `mesh-receipt-aba57158afb9` e plano `dirty_blocked`.", + "order_id": "0101_EXECUTIVA__reconciliar-espelho-tudo-para-ia-mais-humana-plataform", + "order_type": "executiva", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo", + "status": "planejada", + "title": "Reconciliar espelho tudo-para-ia-mais-humana-plataform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-platform-base", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-platform-base`, espelho local `tudo-para-ia-platform-base`, recibo `mesh-receipt-432e0adc6f8b` e plano `dirty_blocked`.", + "order_id": "0102_EXECUTIVA__reconciliar-espelho-tudo-para-ia-platform-base", + "order_type": "executiva", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; windows-primary possui working tree sujo; windows-secondary possui working tree sujo", + "status": "planejada", + "title": "Reconciliar espelho tudo-para-ia-platform-base", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-ui-platform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-ui-platform`, espelho local `tudo-para-ia-ui-platform`, recibo `mesh-receipt-b9242d750d57` e plano `dirty_blocked`.", + "order_id": "0103_EXECUTIVA__reconciliar-espelho-tudo-para-ia-ui-platform", + "order_type": "executiva", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo", + "status": "planejada", + "title": "Reconciliar espelho tudo-para-ia-ui-platform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-business-platform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-business-platform`, espelho local `tudo-para-ia-business-platform`, recibo `mesh-receipt-a49d74c8be8d` e plano `environment_blocked`.", + "order_id": "0104_EXECUTIVA__reconciliar-espelho-tudo-para-ia-business-platform", + "order_type": "executiva", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao; push exige credencial e validacao de remoto antes de convergir", + "status": "planejada", + "title": "Reconciliar espelho tudo-para-ia-business-platform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-intelligence-platform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-intelligence-platform`, espelho local `tudo-para-ia-intelligence-platform`, recibo `mesh-receipt-286eb398adae` e plano `dirty_blocked`.", + "order_id": "0100_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-intelligence-platform", + "order_type": "gerencial", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo", + "status": "planejada", + "title": "Governar sincronizacao de tudo-para-ia-intelligence-platform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-mais-humana-plataform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-mais-humana`, espelho local `tudo-para-ia-mais-humana-plataform`, recibo `mesh-receipt-aba57158afb9` e plano `dirty_blocked`.", + "order_id": "0101_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-mais-humana-plataform", + "order_type": "gerencial", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo", + "status": "planejada", + "title": "Governar sincronizacao de tudo-para-ia-mais-humana-plataform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-platform-base", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-platform-base`, espelho local `tudo-para-ia-platform-base`, recibo `mesh-receipt-432e0adc6f8b` e plano `dirty_blocked`.", + "order_id": "0102_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-platform-base", + "order_type": "gerencial", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; windows-primary possui working tree sujo; windows-secondary possui working tree sujo", + "status": "planejada", + "title": "Governar sincronizacao de tudo-para-ia-platform-base", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-ui-platform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-ui-platform`, espelho local `tudo-para-ia-ui-platform`, recibo `mesh-receipt-b9242d750d57` e plano `dirty_blocked`.", + "order_id": "0103_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-ui-platform", + "order_type": "gerencial", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo", + "status": "planejada", + "title": "Governar sincronizacao de tudo-para-ia-ui-platform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + }, + { + "affected_paths": [ + "G:/_codex-git/tudo-para-ia-business-platform", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git" + ], + "expected_result": "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, e sincronizacao automatica mantida apenas quando segura.", + "object_scope": "Repositorio `admin/tudo-para-ia-business-platform`, espelho local `tudo-para-ia-business-platform`, recibo `mesh-receipt-a49d74c8be8d` e plano `environment_blocked`.", + "order_id": "0104_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-business-platform", + "order_type": "gerencial", + "priority": "alta", + "project_id": "tudo-para-ia-mais-humana", + "purpose": "Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + "ready_criteria": [ + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao; push exige credencial e validacao de remoto antes de convergir", + "status": "planejada", + "title": "Governar sincronizacao de tudo-para-ia-business-platform", + "validations": [ + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico" + ] + } +] \ No newline at end of file diff --git a/dados/repository-mesh-gitea-plan.json b/dados/repository-mesh-gitea-plan.json new file mode 100644 index 0000000..b922d5d --- /dev/null +++ b/dados/repository-mesh-gitea-plan.json @@ -0,0 +1,331 @@ +{ + "authenticated_as": "none", + "base_url": "https://git.ami.app.br", + "generated_at": "2026-04-30T13:46:41+00:00", + "mesh_plan_id": "gitea-mesh-plan-fb07fa55e9d8", + "repositories": [ + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-business-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-business-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git" + ], + "expected_local_name": "tudo-para-ia-business-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-017318b8e193", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-business-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-compliance-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-compliance-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git" + ], + "expected_local_name": "tudo-para-ia-compliance-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-f337d2c716b8", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-compliance-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-customer-ops-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-customer-ops-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "expected_local_name": "tudo-para-ia-customer-ops-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-462b3d5d9bdf", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-customer-ops-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-docs-plataform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git", + "commands": [], + "declared_name": "tudo-para-ia-docs-plataform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git" + ], + "expected_local_name": "tudo-para-ia-docs-plataform", + "owner": "admin", + "plan_id": "gitea-repo-plan-a6f84edafece", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-docs-plataform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-finance-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-finance-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git" + ], + "expected_local_name": "tudo-para-ia-finance-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-02d49b24d714", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-finance-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-gettys-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-gettys-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git" + ], + "expected_local_name": "tudo-para-ia-gettys-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-fab7c27e006f", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-gettys-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-identity-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-identity-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git" + ], + "expected_local_name": "tudo-para-ia-identity-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-2d83b11b728c", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-identity-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository", + "require_owner_decision", + "rename_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-integracoes-platform", + "PATCH /api/v1/repos/admin/tudo-para-ia-integracoes-platform name=tudo-para-ia-integracoes-plataform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-integracoes-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "ordem declarou platform, espelho local conhecido usa plataform" + ], + "expected_local_name": "tudo-para-ia-integracoes-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-6f46a26ec024", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota; renome remoto depende de decisao institucional", + "repo": "tudo-para-ia-integracoes-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-intelligence-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-intelligence-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git" + ], + "expected_local_name": "tudo-para-ia-intelligence-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-035e5be4e560", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-intelligence-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository", + "require_owner_decision", + "rename_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-mais-humana", + "PATCH /api/v1/repos/admin/tudo-para-ia-mais-humana name=tudo-para-ia-mais-humana-plataform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git", + "commands": [], + "declared_name": "tudo-para-ia-mais-humana-plataform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git", + "renome local autorizado nesta rodada; remoto legado segue admin/tudo-para-ia-mais-humana ate decisao Gitea" + ], + "expected_local_name": "tudo-para-ia-mais-humana-plataform", + "owner": "admin", + "plan_id": "gitea-repo-plan-57120d2c9f90", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota; renome remoto depende de decisao institucional", + "repo": "tudo-para-ia-mais-humana", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-mcps-internos-plataform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git", + "commands": [], + "declared_name": "tudo-para-ia-mcps-internos-plataform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git" + ], + "expected_local_name": "tudo-para-ia-mcps-internos-plataform", + "owner": "admin", + "plan_id": "gitea-repo-plan-196815ae94c4", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-mcps-internos-plataform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-platform-base" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git", + "commands": [], + "declared_name": "tudo-para-ia-platform-base", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git" + ], + "expected_local_name": "tudo-para-ia-platform-base", + "owner": "admin", + "plan_id": "gitea-repo-plan-6717588d1113", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-platform-base", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-public-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-public-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-public-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-public-platform.git" + ], + "expected_local_name": "tudo-para-ia-public-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-66f61d9ae8cd", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-public-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-stj-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-stj-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git" + ], + "expected_local_name": "tudo-para-ia-stj-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-c9eedc15f51f", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-stj-platform", + "status": "exists" + }, + { + "actions": [ + "require_token", + "verify_repository" + ], + "api_requests": [ + "GET /api/v1/repos/admin/tudo-para-ia-ui-platform" + ], + "clone_url": "https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git", + "commands": [], + "declared_name": "tudo-para-ia-ui-platform", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git" + ], + "expected_local_name": "tudo-para-ia-ui-platform", + "owner": "admin", + "plan_id": "gitea-repo-plan-988e8df1f9b3", + "reason": "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota", + "repo": "tudo-para-ia-ui-platform", + "status": "exists" + } + ] +} \ No newline at end of file diff --git a/dados/repository-mesh-inventory.json b/dados/repository-mesh-inventory.json new file mode 100644 index 0000000..83a1e99 --- /dev/null +++ b/dados/repository-mesh-inventory.json @@ -0,0 +1,5193 @@ +{ + "central_root": null, + "ecosystem_root": "G:\\_codex-git", + "environments": [ + { + "environment_id": "windows-primary", + "expected": true, + "kind": "windows_primary", + "local": true, + "role": "espelho local Windows principal", + "root": "G:\\_codex-git" + }, + { + "environment_id": "windows-secondary", + "expected": true, + "kind": "windows_secondary", + "local": true, + "role": "espelho local Windows secundario", + "root": "G:/codex_vm/_codex-git" + }, + { + "environment_id": "codex-server", + "expected": true, + "kind": "codex_server", + "local": false, + "role": "repositorios no servidor Codex", + "root": "/root/__gpt-codex" + }, + { + "environment_id": "gitlab-server", + "expected": true, + "kind": "gitlab_server", + "local": false, + "role": "repositorios no ambiente GitLab", + "root": "/root/_codex-git" + } + ], + "fetch_enabled": true, + "generated_at": "2026-04-30T13:46:41+00:00", + "plugin_auth_attempt": "user rejected MCP tool call", + "report_id": "repository-mesh-25823a78b901", + "summaries": [ + { + "actions": [ + { + "action_id": "mesh-action-d74173010dba", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=9;behind=0;upstream=origin/main", + "cee7e824559832f3e36492dfadf0777d605afee8" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-61bb08f62bc5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-a6131408e2be", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-d2727fbc94ef", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-e331b3e4c497", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-business-platform" + } + ], + "aligned_hash": null, + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "cee7e824559832f3e36492dfadf0777d605afee8", + "3eae5dd9a54263c668a347e4f10bb45a707515ac" + ], + "missing_count": 2, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-business-platform", + "git_state": { + "ahead_behind": { + "ahead": 9, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-business-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-business-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "cee7e824559832f3e36492dfadf0777d605afee8", + "head_summary": "cee7e82 auto-sync: tudo-para-ia-business-platform 2026-04-30 07:33:23", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-business-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-business-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:22+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-business-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform", + "git_state": { + "ahead_behind": { + "ahead": 0, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "3eae5dd9a54263c668a347e4f10bb45a707515ac", + "head_summary": "3eae5dd auto-sync: tudo-para-ia-business-platform 2026-04-29 22:34:12", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-business-platform", + "matched_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:23+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-business-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-business-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:23+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-business-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-business-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:23+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-business-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "01_repo_tudo-para-ia-business-platform", + "declared_name": "tudo-para-ia-business-platform", + "expected_local_name": "tudo-para-ia-business-platform", + "gitea_repo": "admin/tudo-para-ia-business-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-7d8f74aaca89", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=7;behind=0;upstream=origin/main", + "7e88a2beb57ecb4a07534733638110b999dce561" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-cf83302e51c3", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-a53a11cbd26e", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-6903dd01bc1f", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-6e50d3c37aeb", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-compliance-platform" + } + ], + "aligned_hash": "7e88a2beb57ecb4a07534733638110b999dce561", + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "7e88a2beb57ecb4a07534733638110b999dce561" + ], + "missing_count": 3, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "git_state": { + "ahead_behind": { + "ahead": 7, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "7e88a2beb57ecb4a07534733638110b999dce561", + "head_summary": "7e88a2b auto-sync: tudo-para-ia-compliance-platform 2026-04-30 06:44:17", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-compliance-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-compliance-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-compliance-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-compliance-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "hash unico 7e88a2beb57e; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "02_repo_tudo-para-ia-compliance-platform", + "declared_name": "tudo-para-ia-compliance-platform", + "expected_local_name": "tudo-para-ia-compliance-platform", + "gitea_repo": "admin/tudo-para-ia-compliance-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-9dc31ae75f1a", + "can_execute_automatically": false, + "command_preview": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git", + "https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "kind": "fix_remote_url", + "reason": "remote origin nao corresponde ao Gitea esperado", + "required_before": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-742544266379", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=7;behind=0;upstream=origin/main", + "ef83587577f93ed6df086db39975c83e1216edac" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-9c34fd44f893", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-2e66e9903b00", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-d681ca4be32c", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-a2aae3a00161", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-customer-ops-platform" + } + ], + "aligned_hash": "ef83587577f93ed6df086db39975c83e1216edac", + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "ef83587577f93ed6df086db39975c83e1216edac" + ], + "missing_count": 3, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "git_state": { + "ahead_behind": { + "ahead": 7, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "ef83587577f93ed6df086db39975c83e1216edac", + "head_summary": "ef83587 auto-sync: tudo-para-ia-customer-ops-platform 2026-04-30 06:44:24", + "remote_origin": "https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-customer-ops-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-customer-ops-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-customer-ops-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:24+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-customer-ops-platform" + } + ], + "remote_mismatch_count": 1, + "risk": "blocked", + "summary": "hash unico ef83587577f9; 3 materializacoes ausentes/inacessiveis; 1 remotes divergentes; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "03_repo_tudo-para-ia-customer-ops-platform", + "declared_name": "tudo-para-ia-customer-ops-platform", + "expected_local_name": "tudo-para-ia-customer-ops-platform", + "gitea_repo": "admin/tudo-para-ia-customer-ops-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-c074a7454c85", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=11;behind=0;upstream=origin/main", + "80095cd75b612ce09b704bc00bf54dbdc59ccdf3" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-604e958b1ab4", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-c22d79c0aa76", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-9be03dcb6263", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-258528af32fb", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-docs-plataform" + } + ], + "aligned_hash": null, + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "80095cd75b612ce09b704bc00bf54dbdc59ccdf3", + "ef25192b7c4169027aa296ce3450e1a94b4f5912" + ], + "missing_count": 2, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "git_state": { + "ahead_behind": { + "ahead": 11, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "80095cd75b612ce09b704bc00bf54dbdc59ccdf3", + "head_summary": "80095cd auto-sync: tudo-para-ia-docs-plataform 2026-04-30 06:43:27", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-docs-plataform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:25+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform", + "git_state": { + "ahead_behind": { + "ahead": 0, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "ef25192b7c4169027aa296ce3450e1a94b4f5912", + "head_summary": "ef25192 auto-sync: tudo-para-ia-docs-plataform 2026-04-30 04:23:25", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-docs-plataform", + "matched_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:26+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-docs-plataform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:26+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-docs-plataform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:26+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-docs-plataform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "04_repo_tudo-para-ia-docs-plataform", + "declared_name": "tudo-para-ia-docs-plataform", + "expected_local_name": "tudo-para-ia-docs-plataform", + "gitea_repo": "admin/tudo-para-ia-docs-plataform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-de5a018ad5cc", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=2;behind=0;upstream=origin/main", + "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-9acb48b0d9c1", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-54a43adcdbd5", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-fdf8583a2010", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-04ed792cb988", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-finance-platform" + } + ], + "aligned_hash": "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884", + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884" + ], + "missing_count": 3, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-finance-platform", + "git_state": { + "ahead_behind": { + "ahead": 2, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-finance-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-finance-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884", + "head_summary": "81eb44e auto-sync: tudo-para-ia-finance-platform 2026-04-30 06:39:38", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-finance-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-finance-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:27+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:27+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-finance-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:27+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-finance-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:27+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-finance-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "hash unico 81eb44e3cdeb; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "05_repo_tudo-para-ia-finance-platform", + "declared_name": "tudo-para-ia-finance-platform", + "expected_local_name": "tudo-para-ia-finance-platform", + "gitea_repo": "admin/tudo-para-ia-finance-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-24d6e2c4fde2", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=9;behind=0;upstream=origin/main", + "9d0c4c2594d019e70568f21c23b04e4693225ce1" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-8a4690c9c29d", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-9e56eaf27ed5", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-2a2fb7bc0dab", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-d794140f218c", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-gettys-platform" + } + ], + "aligned_hash": "9d0c4c2594d019e70568f21c23b04e4693225ce1", + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "9d0c4c2594d019e70568f21c23b04e4693225ce1" + ], + "missing_count": 3, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "git_state": { + "ahead_behind": { + "ahead": 9, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "9d0c4c2594d019e70568f21c23b04e4693225ce1", + "head_summary": "9d0c4c2 auto-sync: tudo-para-ia-gettys-platform 2026-04-30 06:44:36", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-gettys-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:28+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:28+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-gettys-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:28+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-gettys-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:28+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-gettys-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "hash unico 9d0c4c2594d0; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "06_repo_tudo-para-ia-gettys-platform", + "declared_name": "tudo-para-ia-gettys-platform", + "expected_local_name": "tudo-para-ia-gettys-platform", + "gitea_repo": "admin/tudo-para-ia-gettys-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-7459c55a5946", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=12;behind=0;upstream=origin/main", + "cdfe78714d61bf36793d38bdadf2fcd736ae08c1" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-bf839e1eb7da", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-ddc7a0df464a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-3fa1024c9e04", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-434fa6be1041", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-identity-platform" + } + ], + "aligned_hash": null, + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "cdfe78714d61bf36793d38bdadf2fcd736ae08c1", + "ecc93e089819958d25325334d6aacae943245644" + ], + "missing_count": 2, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-identity-platform", + "git_state": { + "ahead_behind": { + "ahead": 12, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-identity-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-identity-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "cdfe78714d61bf36793d38bdadf2fcd736ae08c1", + "head_summary": "cdfe787 auto-sync: tudo-para-ia-identity-platform 2026-04-30 07:28:39", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-identity-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-identity-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:29+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform", + "git_state": { + "ahead_behind": { + "ahead": 0, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "ecc93e089819958d25325334d6aacae943245644", + "head_summary": "ecc93e0 auto-sync: tudo-para-ia-identity-platform 2026-04-30 04:23:37", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-identity-platform", + "matched_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:30+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-identity-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:30+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-identity-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:30+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-identity-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "07_repo_tudo-para-ia-identity-platform", + "declared_name": "tudo-para-ia-identity-platform", + "expected_local_name": "tudo-para-ia-identity-platform", + "gitea_repo": "admin/tudo-para-ia-identity-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-2c3c0959aa7f", + "can_execute_automatically": true, + "command_preview": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\_codex-git\\tudo-para-ia-integracoes-platform", + "6371413be59b2d4dbea347b7305db0f15c8f0c28" + ], + "kind": "rename_local_folder", + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "required_before": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-8af64b1a2f4d", + "can_execute_automatically": false, + "command_preview": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "kind": "fix_remote_url", + "reason": "remote origin nao corresponde ao Gitea esperado", + "required_before": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-5675b953c348", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=24;behind=0;upstream=origin/main", + "6371413be59b2d4dbea347b7305db0f15c8f0c28" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-9d7038836e52", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-c9373212b179", + "can_execute_automatically": true, + "command_preview": [ + "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-platform", + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "kind": "rename_local_folder", + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "required_before": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-dea83db8f4af", + "can_execute_automatically": false, + "command_preview": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "kind": "fix_remote_url", + "reason": "remote origin nao corresponde ao Gitea esperado", + "required_before": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-a26163e6be59", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-3db4026be62c", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-110e2ce0a0e4", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-integracoes-platform" + } + ], + "aligned_hash": null, + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "6371413be59b2d4dbea347b7305db0f15c8f0c28", + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "missing_count": 2, + "nominal_mismatch_count": 4, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-integracoes-platform", + "git_state": { + "ahead_behind": { + "ahead": 24, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "6371413be59b2d4dbea347b7305db0f15c8f0c28", + "head_summary": "6371413 auto-sync: tudo-para-ia-integracoes-plataform 2026-04-30 07:53:48", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-integracoes-plataform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "nomenclature_note": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "observed_at": "2026-04-30T13:46:31+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-platform", + "git_state": { + "ahead_behind": { + "ahead": 0, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4", + "head_summary": "5b015a1 auto-sync: tudo-para-ia-integracoes-plataform 2026-04-29 21:54:37", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-integracoes-plataform", + "matched_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "nomenclature_note": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "observed_at": "2026-04-30T13:46:32+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-integracoes-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:32+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-integracoes-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:32+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-integracoes-platform" + } + ], + "remote_mismatch_count": 2, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 remotes divergentes; 4 divergencias nominais", + "target": { + "aliases": [ + "tudo-para-ia-integracoes-plataform" + ], + "canonical_name": "tudo-para-ia-integracoes-plataform", + "central_folder": "08_repo_tudo-para-ia-integracoes-plataform", + "declared_name": "tudo-para-ia-integracoes-platform", + "expected_local_name": "tudo-para-ia-integracoes-platform", + "gitea_repo": "admin/tudo-para-ia-integracoes-platform", + "notes": [ + "ordem declarou platform, espelho local conhecido usa plataform" + ], + "requires_nominal_reconciliation": true + } + }, + { + "actions": [ + { + "action_id": "mesh-action-ac5c851fb706", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M .gitignore", + " M README.md", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", + " M apps/intelligence-worker/package.json", + " M apps/intelligence-worker/schema.sql", + " M apps/intelligence-worker/src/index.js", + " M apps/intelligence-worker/src/intelligence-core.js" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-93207ce20f3a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-942654e26e71", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-343284eab795", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-f82ec42b3d5d", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-intelligence-platform" + } + ], + "aligned_hash": "0ebe258ed33ea019236515697aaa370337569603", + "credential_error_count": 0, + "destructive_block_count": 1, + "dirty_count": 1, + "hash_set": [ + "0ebe258ed33ea019236515697aaa370337569603" + ], + "missing_count": 3, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "git_state": { + "ahead_behind": { + "ahead": null, + "behind": null, + "error": "fatal: no upstream configured for branch 'main'", + "upstream": null + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "rev-parse", + "--abbrev-ref", + "--symbolic-full-name", + "@{u}" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 128, + "stderr": "fatal: no upstream configured for branch 'main'\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "0ebe258ed33ea019236515697aaa370337569603", + "head_summary": "0ebe258 Materialize intelligence platform", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git", + "status_short": [ + "M .gitignore", + " M README.md", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", + " M apps/intelligence-worker/package.json", + " M apps/intelligence-worker/schema.sql", + " M apps/intelligence-worker/src/index.js", + " M apps/intelligence-worker/src/intelligence-core.js", + " M apps/intelligence-worker/src/read-models.js", + " M apps/intelligence-worker/tests/intelligence-worker.test.mjs", + " M apps/intelligence-worker/wrangler.toml", + " M docs/data-read-models.md", + " M docs/governance-security.md", + " M docs/maturity-roadmap.md", + " M docs/mcp-control-plane-integration.md", + " M docs/operational-contract.md", + " M status/summary.md", + "?? apps/intelligence-worker/scripts/generate-live-admin-instance.mjs", + "?? apps/intelligence-worker/scripts/run-http-smoke.mjs", + "?? apps/intelligence-worker/src/admin-instances.js", + "?? apps/intelligence-worker/src/cloudflare-operations.js", + "?? apps/intelligence-worker/src/ecosystem-governance.js", + "?? apps/intelligence-worker/src/evidence.js", + "?? apps/intelligence-worker/src/gate-orchestrator.js", + "?? apps/intelligence-worker/src/git-sync-governance.js", + "?? apps/intelligence-worker/src/live-storage-readback.js", + "?? apps/intelligence-worker/src/mcp-runtime-registration.js", + "?? apps/intelligence-worker/src/operational-closeout.js", + "?? apps/intelligence-worker/src/owner-gate-receipts.js", + "?? apps/intelligence-worker/src/public-smoke.js", + "?? apps/intelligence-worker/src/release-dossier.js", + "?? apps/intelligence-worker/src/release-governance.js", + "?? apps/intelligence-worker/src/release-readiness-board.js", + "?? apps/intelligence-worker/src/round-documentation-export.js", + "?? apps/intelligence-worker/src/runner-qualification.js", + "?? apps/intelligence-worker/src/runtime-promotion.js", + "?? apps/intelligence-worker/src/service-order-governance.js", + "?? apps/intelligence-worker/src/storage-adapters.js" + ], + "upstream": null + }, + "matched_name": "tudo-para-ia-intelligence-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:33+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:33+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-intelligence-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:33+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-intelligence-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:33+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-intelligence-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "hash unico 0ebe258ed33e; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "09_repo_tudo-para-ia-intelligence-platform", + "declared_name": "tudo-para-ia-intelligence-platform", + "expected_local_name": "tudo-para-ia-intelligence-platform", + "gitea_repo": "admin/tudo-para-ia-intelligence-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-e192f87b36dd", + "can_execute_automatically": false, + "command_preview": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "G:\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "kind": "rename_local_folder", + "reason": "materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform", + "required_before": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-e2c2d471cf6d", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M dados/budget-linhas-rodada.json", + " M dados/dossie-operacional-humano.json", + " M dados/governanca-operacional-compacta.json", + " M dados/governanca-operacional.json", + " M dados/grafo-evidencias.json", + " M dados/indice-evidencias.json", + " M dados/lifecycle-ordens-ativas.json", + " M dados/ordens-governanca-compiladas.json" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-6a6eaffcbdfa", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-20aa91944451", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-93f6afb07054", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-15516f4541ca", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + } + ], + "aligned_hash": "3d2748adf5e011a7aa796fc2a5aed8e815dcb092", + "credential_error_count": 0, + "destructive_block_count": 1, + "dirty_count": 1, + "hash_set": [ + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "missing_count": 3, + "nominal_mismatch_count": 3, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "git_state": { + "ahead_behind": { + "ahead": null, + "behind": null, + "error": "fatal: no upstream configured for branch 'main'", + "upstream": null + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "rev-parse", + "--abbrev-ref", + "--symbolic-full-name", + "@{u}" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 128, + "stderr": "fatal: no upstream configured for branch 'main'\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "3d2748adf5e011a7aa796fc2a5aed8e815dcb092", + "head_summary": "3d2748a Implement human operational rulebook", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git", + "status_short": [ + "M dados/budget-linhas-rodada.json", + " M dados/dossie-operacional-humano.json", + " M dados/governanca-operacional-compacta.json", + " M dados/governanca-operacional.json", + " M dados/grafo-evidencias.json", + " M dados/indice-evidencias.json", + " M dados/lifecycle-ordens-ativas.json", + " M dados/ordens-governanca-compiladas.json", + " M dados/perguntas-humanas.json", + " M dados/quality-gates.json", + " M dados/registro-prontidao-humana.json", + " M dados/rulebook-humano-operacional-compacto.json", + " M dados/rulebook-humano-operacional.json", + " M dados/snapshot-ecossistema.json", + " M dados/snapshot-governanca-atual.json", + " M ecossistema/AUDITORIA-LIFECYCLE-ORDENS.md", + " M ecossistema/BUDGET-LINHAS-RODADA.md", + " M ecossistema/DOSSIE-OPERACIONAL-HUMANO.md", + " M ecossistema/GOVERNANCA-OPERACIONAL-MAIS-HUMANA.md", + " M ecossistema/GRAFO-EVIDENCIAS-MAIS-HUMANA.md", + " M ecossistema/INDICE-DE-EVIDENCIAS-HUMANAS.md", + " M ecossistema/LIFECYCLE-ORDENS-ATIVAS.md", + " M ecossistema/PENDENCIAS-LIFECYCLE-ORDENS.md", + " M ecossistema/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.md", + " M ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md", + " M ecossistema/index.html", + " M graficos/grafo-evidencias.dot", + " M matrizes/budget-linhas-rodada.csv", + " M matrizes/grafo-evidencias.csv", + " M matrizes/rulebook-humano-operacional.csv", + " M pessoas-e-papeis/perguntas-humanas-respondidas.md", + " M plataformas/integracoes.md", + " M plataformas/intelligence.md", + " M plataformas/mcps.md", + " M plataformas/platform_base.md", + " M plataformas/public.md", + " M relatorios-docx/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.docx", + " M relatorios-docx/plataformas/business.docx", + " M relatorios-docx/plataformas/compliance.docx", + " M relatorios-docx/plataformas/customer_ops.docx", + " M relatorios-docx/plataformas/docs.docx", + " M relatorios-docx/plataformas/finance.docx", + " M relatorios-docx/plataformas/gettys.docx", + " M relatorios-docx/plataformas/identity.docx", + " M relatorios-docx/plataformas/integracoes.docx", + " M relatorios-docx/plataformas/intelligence.docx", + " M relatorios-docx/plataformas/mcps.docx", + " M relatorios-docx/plataformas/platform_base.docx", + " M relatorios-docx/plataformas/public.docx", + " M relatorios-docx/plataformas/stj.docx", + " M relatorios-docx/plataformas/ui.docx", + " M src/mais_humana/cli.py", + " M src/mais_humana/evidence_graph.py", + " M src/mais_humana/governance_storage.py", + " M src/mais_humana/redaction.py", + " M src/mais_humana/reports.py", + " M tests/test_full_generation.py", + " M tests/test_redaction_acceptance.py", + "?? controle-semantico.sqlite", + "?? dados/mcp-admin-ui-same-source-validation.json", + "?? dados/mcp-contratos-humanos.json", + "?? dados/mcp-provider-mais-humana-compacto.json", + "?? dados/mcp-provider-mais-humana.json", + "?? dados/repository-mesh-central-write-status.json", + "?? dados/repository-mesh-derived-orders.json", + "?? dados/repository-mesh-gitea-plan.json", + "?? dados/repository-mesh-inventory.json", + "?? dados/repository-mesh-orders.json", + "?? dados/repository-mesh-readiness.json", + "?? dados/repository-mesh-reconciliation-summary.json", + "?? dados/repository-mesh-reconciliation.json", + "?? dados/repository-mesh-runtime-cycle.json", + "?? dados/repository-mesh-runtime.jsonl", + "?? dados/repository-mesh-schedulers.json", + "?? dados/repository-mesh-summary.json", + "?? dados/repository-mesh.lock.json", + "?? ecossistema/MCP-PROVIDER-MAIS-HUMANA.md", + "?? ecossistema/MODELOS-OFICIAIS-RELATORIO-HUMANO.md", + "?? ecossistema/REPOSITORY-MESH-AUTOMATION.md", + "?? ecossistema/REPOSITORY-MESH-GITEA.md", + "?? ecossistema/REPOSITORY-MESH-ORDERS.md", + "?? ecossistema/REPOSITORY-MESH-READINESS.md", + "?? ecossistema/REPOSITORY-MESH-RECONCILIATION.md", + "?? ecossistema/REPOSITORY-MESH-RUNTIME.md", + "?? ecossistema/REPOSITORY-MESH-SCHEDULERS.md", + "?? ecossistema/REPOSITORY-MESH-SYNC.md", + "?? ecossistema/UI-RENDERER-SAME-SOURCE-POLICY.md", + "?? matrizes/mcp-contratos-humanos.csv", + "?? matrizes/repository-mesh-actions.csv", + "?? matrizes/repository-mesh-gitea-plan.csv", + "?? matrizes/repository-mesh-inventory.csv", + "?? matrizes/repository-mesh-operations.csv", + "?? matrizes/repository-mesh-readiness.csv", + "?? matrizes/repository-mesh-reconciliation.csv", + "?? matrizes/repository-mesh-runtime.csv", + "?? os-orientadoras/repository-mesh-derived-orders.md", + "?? src/mais_humana/generated_mcp_control_contracts.py", + "?? src/mais_humana/mcp_contract.py", + "?? src/mais_humana/repository_mesh.py", + "?? src/mais_humana/repository_mesh_gitea.py", + "?? src/mais_humana/repository_mesh_naming.py", + "?? src/mais_humana/repository_mesh_readiness.py", + "?? src/mais_humana/repository_mesh_reconciliation.py", + "?? src/mais_humana/repository_mesh_runtime.py", + "?? src/mais_humana/repository_mesh_semantic.py", + "?? tests/test_mcp_provider_contract.py", + "?? tests/test_repository_mesh.py", + "?? tests/test_repository_mesh_gitea.py", + "?? tests/test_repository_mesh_naming.py", + "?? tests/test_repository_mesh_readiness.py", + "?? tests/test_repository_mesh_reconciliation.py", + "?? tests/test_repository_mesh_runtime.py", + "?? tests/test_repository_mesh_semantic.py", + "?? tools/generate_mcp_control_contracts.py" + ], + "upstream": null + }, + "matched_name": "tudo-para-ia-mais-humana", + "matched_path": "G:\\_codex-git\\tudo-para-ia-mais-humana", + "nomenclature_note": "materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform", + "observed_at": "2026-04-30T13:46:34+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:34+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-mais-humana-plataform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:34+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:34+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-mais-humana-plataform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "hash unico 3d2748adf5e0; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 3 divergencias nominais; 1 bloqueios contra sync destrutiva", + "target": { + "aliases": [ + "tudo-para-ia-mais-humana" + ], + "canonical_name": "tudo-para-ia-mais-humana-plataform", + "central_folder": "15_repo_tudo-para-ia-mais-humana", + "declared_name": "tudo-para-ia-mais-humana-plataform", + "expected_local_name": "tudo-para-ia-mais-humana-plataform", + "gitea_repo": "admin/tudo-para-ia-mais-humana", + "notes": [ + "renome local autorizado nesta rodada; remoto legado segue admin/tudo-para-ia-mais-humana ate decisao Gitea" + ], + "requires_nominal_reconciliation": true + } + }, + { + "actions": [ + { + "action_id": "mesh-action-85067efca878", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=23;behind=0;upstream=origin/main", + "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-09c924f2d891", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-5b157361e3ee", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-d9abe9c7fbe5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-b15f913f3744", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform" + } + ], + "aligned_hash": null, + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2", + "e47192610f41ba20511b8eea1ee7187959860f1e" + ], + "missing_count": 2, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "git_state": { + "ahead_behind": { + "ahead": 23, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2", + "head_summary": "5dfaedd auto-sync: tudo-para-ia-mcps-internos-plataform 2026-04-30 08:29:10", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-mcps-internos-plataform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:35+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "git_state": { + "ahead_behind": { + "ahead": 0, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "e47192610f41ba20511b8eea1ee7187959860f1e", + "head_summary": "e471926 auto-sync: tudo-para-ia-mcps-internos-plataform 2026-04-29 22:14:39", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-mcps-internos-plataform", + "matched_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:36+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-mcps-internos-plataform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:36+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:36+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-mcps-internos-plataform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "10_repo_tudo-para-ia-mcps-internos-plataform", + "declared_name": "tudo-para-ia-mcps-internos-plataform", + "expected_local_name": "tudo-para-ia-mcps-internos-plataform", + "gitea_repo": "admin/tudo-para-ia-mcps-internos-plataform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-37f9a53424f8", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M apps/platform-shell/src/shell/manifest.ts", + " M apps/platform-shell/src/shell/router.ts", + " M contracts/platform-derivation.contract.json" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-22ba67fa8757", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "ahead=2;behind=2;upstream=origin/main" + ], + "kind": "block_destructive_sync", + "reason": "branch divergente ahead/behind; reconciliacao automatica poderia escolher versao antiga", + "required_before": [ + "comparar commits", + "decidir fonte valida mais recente", + "fazer merge/rebase apenas com operador" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-e16f250cddb5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-971fc22703f5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-secondary", + "evidence": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-5ef117e15bae", + "can_execute_automatically": false, + "command_preview": [ + "git fetch --all --prune", + "git merge --ff-only @{u}" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "ahead=0;behind=2;upstream=origin/main" + ], + "kind": "block_destructive_sync", + "reason": "ha commits remotos nao aplicados; pull automatico so e seguro com working tree limpo e comparacao de hash", + "required_before": [ + "confirmar working tree limpo", + "usar somente fast-forward", + "bloquear se nao for fast-forward" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-75f9e9dfb259", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-0f86f1adcf16", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-6bfd95e48bda", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + } + ], + "aligned_hash": null, + "credential_error_count": 0, + "destructive_block_count": 4, + "dirty_count": 2, + "hash_set": [ + "086d86a8ac06fc6b05677a2a26d35d081bcbfc39", + "4f6e1590ddafd990da4fb07c50e97a545a05aa36" + ], + "missing_count": 2, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "git_state": { + "ahead_behind": { + "ahead": 2, + "behind": 2, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-platform-base", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-platform-base", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "086d86a8ac06fc6b05677a2a26d35d081bcbfc39", + "head_summary": "086d86a Materialize IA STJ function-major orders 001-069", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git", + "status_short": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M apps/platform-shell/src/shell/manifest.ts", + " M apps/platform-shell/src/shell/router.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md", + " M docs/governance/operating-model.md", + " M docs/legacy/policy.md", + " M docs/memory/handoff.md", + " M docs/observability/baseline.md", + " M manifest/platform-base.manifest.json", + " M package-lock.json", + " M package.json", + " M packages/core-audit/README.md", + " M packages/core-audit/package.json", + " M packages/core-audit/src/index.ts", + " M packages/core-memory/README.md", + " M packages/core-memory/package.json", + " M packages/core-memory/src/index.ts", + " M packages/core-platform-manifest/README.md", + " M packages/core-platform-manifest/package.json", + " M packages/core-platform-manifest/src/index.ts", + " M packages/core-serialization/README.md", + " M packages/core-serialization/package.json", + " M packages/core-serialization/src/index.ts", + " M packages/core-service-orders/README.md", + " M packages/core-service-orders/package.json", + " M packages/core-service-orders/src/index.ts", + " D pipeline-os-bases/stj_semantica_v9_autonoma/INDICE_EXECUCAO_STJ_SEMANTICA_V9_AUTONOMA.md", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_001/lote_001.csv", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_001/lote_001.sqlite", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_001/resumo_lote_001.md", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_002/lote_002.csv", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_002/lote_002.sqlite", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_002/resumo_lote_002.md", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_003/lote_003.csv", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_003/lote_003.sqlite", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_003/resumo_lote_003.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_004/lote_004.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_004/lote_004.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_004/resumo_lote_004.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_005/lote_005.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_005/lote_005.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_005/resumo_lote_005.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_006/lote_006.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_006/lote_006.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_006/resumo_lote_006.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_007/lote_007.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_007/lote_007.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_007/resumo_lote_007.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_008/lote_008.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_008/lote_008.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_008/resumo_lote_008.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_009/lote_009.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_009/lote_009.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_009/resumo_lote_009.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_010/lote_010.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_010/lote_010.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_010/resumo_lote_010.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_011/lote_011.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_011/lote_011.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_011/resumo_lote_011.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_012/lote_012.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_012/lote_012.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_012/resumo_lote_012.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_013/lote_013.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_013/lote_013.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_013/resumo_lote_013.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_014/lote_014.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_014/lote_014.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_014/resumo_lote_014.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_015/lote_015.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_015/lote_015.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_015/resumo_lote_015.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_016/lote_016.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_016/lote_016.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_016/resumo_lote_016.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_017/lote_017.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_017/lote_017.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_017/resumo_lote_017.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_018/lote_018.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_018/lote_018.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_018/resumo_lote_018.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_019/lote_019.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_019/lote_019.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_019/resumo_lote_019.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_020/lote_020.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_020/lote_020.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_020/resumo_lote_020.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_021/lote_021.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_021/lote_021.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_021/resumo_lote_021.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_022/lote_022.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_022/lote_022.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_022/resumo_lote_022.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_023/lote_023.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_023/lote_023.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_023/resumo_lote_023.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_024/lote_024.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_024/lote_024.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_024/resumo_lote_024.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_025/lote_025.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_025/lote_025.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_025/resumo_lote_025.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_026/lote_026.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_026/lote_026.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_026/resumo_lote_026.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_027/lote_027.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_027/lote_027.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_027/resumo_lote_027.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_028/lote_028.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_028/lote_028.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_028/resumo_lote_028.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_029/lote_029.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_029/lote_029.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_029/resumo_lote_029.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_030/lote_030.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_030/lote_030.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_030/resumo_lote_030.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_031/lote_031.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_031/lote_031.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_031/resumo_lote_031.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_032/lote_032.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_032/lote_032.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_032/resumo_lote_032.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_033/lote_033.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_033/lote_033.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_033/resumo_lote_033.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_034/lote_034.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_034/lote_034.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_034/resumo_lote_034.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_035/lote_035.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_035/lote_035.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_035/resumo_lote_035.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_036/lote_036.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_036/lote_036.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_036/resumo_lote_036.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_037/lote_037.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_037/lote_037.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_037/resumo_lote_037.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_038/lote_038.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_038/lote_038.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_038/resumo_lote_038.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_039/lote_039.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_039/lote_039.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_039/resumo_lote_039.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_040/lote_040.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_040/lote_040.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_040/resumo_lote_040.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_041/lote_041.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_041/lote_041.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_041/resumo_lote_041.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_042/lote_042.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_042/lote_042.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_042/resumo_lote_042.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_043/lote_043.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_043/lote_043.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_043/resumo_lote_043.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_044/lote_044.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_044/lote_044.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_044/resumo_lote_044.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_045/lote_045.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_045/lote_045.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_045/resumo_lote_045.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_046/lote_046.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_046/lote_046.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_046/resumo_lote_046.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_047/lote_047.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_047/lote_047.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_047/resumo_lote_047.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_048/lote_048.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_048/lote_048.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_048/resumo_lote_048.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_049/lote_049.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_049/lote_049.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_049/resumo_lote_049.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_050/lote_050.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_050/lote_050.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_050/resumo_lote_050.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_051/lote_051.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_051/lote_051.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_051/resumo_lote_051.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_052/lote_052.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_052/lote_052.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_052/resumo_lote_052.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_053/lote_053.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_053/lote_053.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_053/resumo_lote_053.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_054/lote_054.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_054/lote_054.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_054/resumo_lote_054.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_055/lote_055.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_055/lote_055.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_055/resumo_lote_055.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_056/lote_056.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_056/lote_056.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_056/resumo_lote_056.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_057/lote_057.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_057/lote_057.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_057/resumo_lote_057.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_058/lote_058.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_058/lote_058.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_058/resumo_lote_058.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_059/lote_059.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_059/lote_059.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_059/resumo_lote_059.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_060/lote_060.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_060/lote_060.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_060/resumo_lote_060.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_061/lote_061.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_061/lote_061.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_061/resumo_lote_061.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_062/lote_062.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_062/lote_062.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_062/resumo_lote_062.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_063/lote_063.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_063/lote_063.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_063/resumo_lote_063.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_064/lote_064.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_064/lote_064.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_064/resumo_lote_064.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_065/lote_065.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_065/lote_065.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_065/resumo_lote_065.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_066/lote_066.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_066/lote_066.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_066/resumo_lote_066.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_067/lote_067.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_067/lote_067.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_067/resumo_lote_067.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_068/lote_068.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_068/lote_068.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_068/resumo_lote_068.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_069/lote_069.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_069/lote_069.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_069/resumo_lote_069.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_070/lote_070.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_070/lote_070.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_070/resumo_lote_070.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_071/lote_071.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_071/lote_071.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_071/resumo_lote_071.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_072/lote_072.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_072/lote_072.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_072/resumo_lote_072.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_073/lote_073.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_073/lote_073.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_073/resumo_lote_073.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_074/lote_074.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_074/lote_074.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_074/resumo_lote_074.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_075/lote_075.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_075/lote_075.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_075/resumo_lote_075.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_076/lote_076.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_076/lote_076.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_076/resumo_lote_076.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_077/lote_077.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_077/lote_077.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_077/resumo_lote_077.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_078/lote_078.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_078/lote_078.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_078/resumo_lote_078.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_079/lote_079.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_079/lote_079.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_079/resumo_lote_079.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_080/lote_080.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_080/lote_080.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_080/resumo_lote_080.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_081/lote_081.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_081/lote_081.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_081/resumo_lote_081.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_082/lote_082.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_082/lote_082.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_082/resumo_lote_082.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_083/lote_083.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_083/lote_083.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_083/resumo_lote_083.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_084/lote_084.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_084/lote_084.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_084/resumo_lote_084.md", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_085/lote_085.csv", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_085/lote_085.sqlite", + " M pipeline-os-bases/stj_semantica_v9_autonoma/lote_085/resumo_lote_085.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_086/lote_086.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_086/lote_086.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_086/resumo_lote_086.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_087/lote_087.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_087/lote_087.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_087/resumo_lote_087.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_088/lote_088.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_088/lote_088.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_088/resumo_lote_088.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_089/lote_089.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_089/lote_089.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_089/resumo_lote_089.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_090/lote_090.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_090/lote_090.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_090/resumo_lote_090.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_091/lote_091.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_091/lote_091.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_091/resumo_lote_091.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_092/lote_092.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_092/lote_092.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_092/resumo_lote_092.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_093/lote_093.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_093/lote_093.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_093/resumo_lote_093.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_094/lote_094.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_094/lote_094.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_094/resumo_lote_094.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_095/lote_095.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_095/lote_095.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_095/resumo_lote_095.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_096/lote_096.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_096/lote_096.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_096/resumo_lote_096.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_097/lote_097.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_097/lote_097.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_097/resumo_lote_097.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_098/lote_098.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_098/lote_098.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_098/resumo_lote_098.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_099/lote_099.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_099/lote_099.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_099/resumo_lote_099.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_100/lote_100.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_100/lote_100.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_100/resumo_lote_100.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_101/lote_101.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_101/lote_101.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_101/resumo_lote_101.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_102/lote_102.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_102/lote_102.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_102/resumo_lote_102.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_103/lote_103.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_103/lote_103.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_103/resumo_lote_103.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_104/lote_104.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_104/lote_104.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_104/resumo_lote_104.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_105/lote_105.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_105/lote_105.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_105/resumo_lote_105.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_106/lote_106.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_106/lote_106.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_106/resumo_lote_106.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_107/lote_107.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_107/lote_107.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_107/resumo_lote_107.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_108/lote_108.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_108/lote_108.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_108/resumo_lote_108.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_109/lote_109.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_109/lote_109.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_109/resumo_lote_109.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_110/lote_110.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_110/lote_110.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_110/resumo_lote_110.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_111/lote_111.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_111/lote_111.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_111/resumo_lote_111.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_112/lote_112.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_112/lote_112.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_112/resumo_lote_112.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_113/lote_113.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_113/lote_113.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_113/resumo_lote_113.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_114/lote_114.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_114/lote_114.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_114/resumo_lote_114.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_115/lote_115.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_115/lote_115.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_115/resumo_lote_115.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_116/lote_116.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_116/lote_116.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_116/resumo_lote_116.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_117/lote_117.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_117/lote_117.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_117/resumo_lote_117.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_118/lote_118.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_118/lote_118.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_118/resumo_lote_118.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_119/lote_119.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_119/lote_119.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_119/resumo_lote_119.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_120/lote_120.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_120/lote_120.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_120/resumo_lote_120.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_121/lote_121.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_121/lote_121.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_121/resumo_lote_121.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_122/lote_122.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_122/lote_122.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_122/resumo_lote_122.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_123/lote_123.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_123/lote_123.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_123/resumo_lote_123.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_124/lote_124.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_124/lote_124.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_124/resumo_lote_124.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_125/lote_125.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_125/lote_125.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_125/resumo_lote_125.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_126/lote_126.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_126/lote_126.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_126/resumo_lote_126.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_127/lote_127.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_127/lote_127.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_127/resumo_lote_127.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_128/lote_128.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_128/lote_128.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_128/resumo_lote_128.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_129/lote_129.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_129/lote_129.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_129/resumo_lote_129.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_130/lote_130.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_130/lote_130.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_130/resumo_lote_130.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_131/lote_131.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_131/lote_131.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_131/resumo_lote_131.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_132/lote_132.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_132/lote_132.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_132/resumo_lote_132.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_133/lote_133.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_133/lote_133.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_133/resumo_lote_133.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_134/lote_134.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_134/lote_134.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_134/resumo_lote_134.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_135/lote_135.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_135/lote_135.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_135/resumo_lote_135.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_136/lote_136.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_136/lote_136.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_136/resumo_lote_136.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_137/lote_137.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_137/lote_137.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_137/resumo_lote_137.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_138/lote_138.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_138/lote_138.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_138/resumo_lote_138.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_139/lote_139.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_139/lote_139.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_139/resumo_lote_139.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_140/lote_140.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_140/lote_140.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_140/resumo_lote_140.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_141/lote_141.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_141/lote_141.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_141/resumo_lote_141.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_142/lote_142.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_142/lote_142.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_142/resumo_lote_142.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_143/lote_143.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_143/lote_143.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_143/resumo_lote_143.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_144/lote_144.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_144/lote_144.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_144/resumo_lote_144.md", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_145/lote_145.csv", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_145/lote_145.sqlite", + " D pipeline-os-bases/stj_semantica_v9_autonoma/lote_145/resumo_lote_145.md", + " M registry/modules-registry.json", + " M reports/structural-report.md", + " M schemas/manifest.schema.json", + " M scripts/docs/build-doc-index.ts", + " M scripts/docs/validate-docs.ts", + " D scripts/gerar_stj_semantica_v9_autonoma.py", + " M scripts/round/materialize-platform-base.ts", + " M scripts/scaffold/create-platform.ts", + " M scripts/sync/check-sync.ts", + " M scripts/sync/shared.ts", + " M scripts/sync/validate-paths.ts", + " M scripts/validate/validate-foundation.ts", + " M tests/app-shell.test.ts", + " M tests/final-battery/institutional-battery.test.ts", + " M tests/foundation.test.ts", + " M tests/scaffold.test.ts", + " M tests/serialization.test.ts", + " M tsconfig.base.json", + " M tsconfig.build.json", + " M tsconfig.json", + "?? .editorconfig", + "?? .env.example", + "?? .env.schema.json", + "?? .gitattributes", + "?? CHANGELOG.md", + "?? CODEOWNERS", + "?? CONTRIBUTING.md", + "?? LICENSE", + "?? ROADMAP.md", + "?? adapters/", + "?? apps/admin-console/", + "?? apps/demo-platform/", + "?? apps/docs-portal/", + "?? apps/platform-shell/src/app.ts", + "?? apps/platform-shell/src/bootstrap/", + "?? apps/platform-shell/src/composition/", + "?? apps/platform-shell/src/config/", + "?? apps/platform-shell/src/main.ts", + "?? apps/platform-shell/src/routes/", + "?? apps/platform-shell/src/shared/", + "?? architecture/", + "?? audits/initial-structure-audit.md", + "?? audits/os-0002-corrective-audit.md", + "?? audits/reusability-audit.md", + "?? audits/template-consistency-audit.md", + "?? biome.json", + "?? contracts/adapters/", + "?? contracts/api/", + "?? contracts/app/", + "?? contracts/events/", + "?? contracts/integrations/", + "?? contracts/packages/", + "?? data/", + "?? decisions/", + "?? deployment/", + "?? docs/checklists/", + "?? docs/faq/", + "?? docs/glossaries/", + "?? docs/governance/contract-versioning-policy.md", + "?? docs/governance/isolated-verify-policy.md", + "?? docs/governance/node-tsx-validation-policy.md", + "?? docs/governance/pipeline-os-bases-artifact-policy.md", + "?? docs/governance/sync-release-dirty-worktree.md", + "?? docs/governance/workspace-lock-policy.md", + "?? docs/index.generated.md", + "?? docs/observability/diagnostics-contract.md", + "?? docs/onboarding/", + "?? docs/overview/", + "?? docs/platform-derivation/", + "?? docs/references/", + "?? docs/workflows/", + "?? examples/", + "?? fixtures/", + "?? governance/approvals/", + "?? governance/cadences/", + "?? governance/policies/", + "?? governance/review-model/", + "?? governance/roles/", + "?? governance/workflows/", + "?? integrations/", + "?? inventario_modelo/", + "?? legacy/adaptation/", + "?? legacy/compatibility/", + "?? legacy/extraction/", + "?? legacy/inventory/legacy-sources.md", + "?? legacy/mapping/module-to-legacy-map.md", + "?? legacy/notes/", + "?? legacy/replacements/", + "?? memory/assumptions/", + "?? memory/constraints/", + "?? memory/execution-context/", + "?? memory/handoffs/", + "?? memory/open-loops/", + "?? memory/project-state/", + "?? observability/", + "?? ops/", + "?? packages/core-auth-contracts/", + "?? packages/core-config/", + "?? packages/core-docs/", + "?? packages/core-errors/", + "?? packages/core-feature-flags/", + "?? packages/core-health/", + "?? packages/core-logging/", + "?? packages/core-metadata/", + "?? packages/core-observability/", + "?? packages/core-operational-readiness/", + "?? pipeline-os-bases/classificacao_semantica_base_limpa/", + "?? pipeline-os-bases/mcps_internos_semantica_v1_autonoma/", + "?? pipeline-os-bases/stj_semantica_v9_autonoma/CONTROLE_EXECUCAO_LEITURA_REAL.md", + "?? pipeline-os-bases/stj_semantica_v9_autonoma/classificacao_semantica_manual.tsv", + "?? qa/", + "?? reports/operational-readiness/", + "?? reports/os-0002-validation-report.md", + "?? reports/os-004-mcps-funcao-maior-progress-2026-04-23_1141.md", + "?? reports/os-004-mcps-funcao-maior-progress-2026-04-23_1226.md", + "?? reports/os-004-mcps-funcao-maior-progress-2026-04-23_1338.md", + "?? reports/os-009-consolidacao-funcao-maior-por-pasta-2026-04-23_1243.md", + "?? reports/os-079-funcao-maior-por-pasta-progress-2026-04-22_2306.md", + "?? reports/os-079-funcao-maior-por-pasta-progress-2026-04-23_1017.md", + "?? reports/os-079-funcao-maior-por-pasta-progress-2026-04-23_1030.md", + "?? reports/os-079-funcao-maior-por-pasta-progress-2026-04-23_1258.md", + "?? reports/pipeline-os-bases-classification-2026-04-29.md", + "?? reports/stj-v9-reconciliation-2026-04-29.md", + "?? schemas/env/", + "?? schemas/integrations/", + "?? schemas/modules/", + "?? schemas/platform/", + "?? schemas/serialization/", + "?? schemas/service-orders/", + "?? scripts/bootstrap/", + "?? scripts/git/", + "?? scripts/maintenance/", + "?? scripts/materializar_mcps_semantica_v1_autonoma.py", + "?? scripts/materializar_stj_funcao_maior_por_pasta.py", + "?? scripts/materializar_stj_semantica_v9_autonoma.py", + "?? scripts/pipeline-os-bases/", + "?? scripts/release/", + "?? scripts/reports/", + "?? scripts/round/consolidate-funcao-maior-por-pasta.mjs", + "?? scripts/round/materialize-funcao-maior-por-pasta.mjs", + "?? scripts/round/materialize-mcps-funcao-maior.mjs", + "?? scripts/scaffolding/", + "?? scripts/serialization/", + "?? scripts/tooling/", + "?? scripts/validation/", + "?? security/", + "?? seeds/", + "?? serialization/", + "?? service-orders/_indexes/", + "?? service-orders/_policies/", + "?? service-orders/_states/", + "?? service-orders/_templates/", + "?? standards/", + "?? templates/apps/", + "?? templates/configs/", + "?? templates/documentation/", + "?? templates/modules/", + "?? templates/packages/", + "?? templates/releases/", + "?? templates/repositories/", + "?? templates/service-orders/os.template.md", + "?? tests/contract-governance.test.ts", + "?? tests/contract/", + "?? tests/core-config.test.ts", + "?? tests/coverage-baseline.test.ts", + "?? tests/external-retention-governance.test.ts", + "?? tests/git-evidence.test.ts", + "?? tests/git-sync-governance.test.ts", + "?? tests/lockfile-coherence.test.ts", + "?? tests/mcp-administration.test.ts", + "?? tests/operational-readiness.test.ts", + "?? tests/release-governance.test.ts", + "?? tests/retention-executor-and-adoption.test.ts", + "?? tests/round-closeout-evidence.test.ts", + "?? tests/round-execution-ledger.test.ts", + "?? tests/round-governance.test.ts", + "?? tests/round-readiness.test.ts", + "?? tests/service-order-closure.test.ts", + "?? tests/smoke/", + "?? tests/structure/", + "?? tests/sync-anchors.test.ts", + "?? tests/verify-command-policy.test.ts", + "?? tests/verify-evidence.test.ts", + "?? tests/workspace-hygiene.test.ts", + "?? tools/", + "?? turbo.json" + ], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-platform-base", + "matched_path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:36+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-platform-base" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "git_state": { + "ahead_behind": { + "ahead": 0, + "behind": 2, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "4f6e1590ddafd990da4fb07c50e97a545a05aa36", + "head_summary": "4f6e159 chore: materialize platform round", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git", + "status_short": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md", + " M docs/governance/operating-model.md", + " M docs/legacy/policy.md", + " M docs/memory/handoff.md", + " M docs/observability/baseline.md", + " M manifest/platform-base.manifest.json", + " M package-lock.json", + " M package.json", + " M packages/core-audit/README.md", + " M packages/core-audit/package.json", + " M packages/core-audit/src/index.ts", + " M packages/core-memory/README.md", + " M packages/core-memory/package.json", + " M packages/core-memory/src/index.ts", + " M packages/core-platform-manifest/README.md", + " M packages/core-platform-manifest/package.json", + " M packages/core-platform-manifest/src/index.ts", + " M packages/core-serialization/README.md", + " M packages/core-serialization/package.json", + " M packages/core-serialization/src/index.ts", + " M packages/core-service-orders/README.md", + " M packages/core-service-orders/package.json", + " M packages/core-service-orders/src/index.ts", + " M registry/modules-registry.json", + " M reports/structural-report.md", + " M schemas/manifest.schema.json", + " M scripts/docs/build-doc-index.ts", + " M scripts/docs/validate-docs.ts", + " M scripts/round/materialize-platform-base.ts", + " M scripts/validate/validate-foundation.ts", + " M tests/final-battery/institutional-battery.test.ts", + " M tests/foundation.test.ts", + " M tsconfig.build.json", + " M tsconfig.json", + "?? .editorconfig", + "?? .env.example", + "?? .env.schema.json", + "?? .gitattributes", + "?? CHANGELOG.md", + "?? CODEOWNERS", + "?? CONTRIBUTING.md", + "?? LICENSE", + "?? ROADMAP.md", + "?? adapters/", + "?? apps/admin-console/", + "?? apps/demo-platform/", + "?? apps/docs-portal/", + "?? apps/platform-shell/src/app.ts", + "?? apps/platform-shell/src/bootstrap/", + "?? apps/platform-shell/src/composition/", + "?? apps/platform-shell/src/config/", + "?? apps/platform-shell/src/main.ts", + "?? apps/platform-shell/src/routes/", + "?? apps/platform-shell/src/shared/", + "?? architecture/", + "?? audits/initial-structure-audit.md", + "?? audits/os-0002-corrective-audit.md", + "?? audits/os-0002-corrective-gap-audit.md", + "?? audits/reusability-audit.md", + "?? audits/template-consistency-audit.md", + "?? biome.json", + "?? contracts/adapters/", + "?? contracts/api/", + "?? contracts/app/", + "?? contracts/events/", + "?? contracts/integrations/", + "?? contracts/packages/", + "?? data/", + "?? decisions/", + "?? deployment/", + "?? docs/checklists/", + "?? docs/faq/", + "?? docs/glossaries/", + "?? docs/index.generated.md", + "?? docs/onboarding/", + "?? docs/overview/", + "?? docs/platform-derivation/", + "?? docs/references/", + "?? docs/workflows/", + "?? examples/", + "?? fixtures/", + "?? governance/approvals/", + "?? governance/cadences/", + "?? governance/policies/", + "?? governance/review-model/", + "?? governance/roles/", + "?? governance/workflows/", + "?? integrations/", + "?? legacy/adaptation/", + "?? legacy/compatibility/", + "?? legacy/extraction/", + "?? legacy/inventory/legacy-sources.md", + "?? legacy/mapping/module-to-legacy-map.md", + "?? legacy/notes/", + "?? legacy/replacements/", + "?? memory/assumptions/", + "?? memory/constraints/", + "?? memory/execution-context/", + "?? memory/handoffs/", + "?? memory/open-loops/", + "?? memory/project-state/", + "?? observability/", + "?? ops/", + "?? packages/core-auth-contracts/", + "?? packages/core-config/", + "?? packages/core-docs/", + "?? packages/core-errors/", + "?? packages/core-feature-flags/", + "?? packages/core-health/", + "?? packages/core-logging/", + "?? packages/core-metadata/", + "?? packages/core-observability/", + "?? qa/", + "?? reports/os-0002-completion-report.md", + "?? reports/os-0002-validation-report.md", + "?? schemas/env/", + "?? schemas/integrations/", + "?? schemas/modules/", + "?? schemas/platform/", + "?? schemas/serialization/", + "?? schemas/service-orders/", + "?? scripts/bootstrap/", + "?? scripts/maintenance/", + "?? scripts/release/", + "?? scripts/reports/", + "?? scripts/scaffolding/", + "?? scripts/serialization/", + "?? scripts/validation/", + "?? security/", + "?? seeds/", + "?? serialization/", + "?? service-orders/_indexes/", + "?? service-orders/_policies/", + "?? service-orders/_states/", + "?? service-orders/_templates/", + "?? standards/", + "?? templates/apps/", + "?? templates/configs/", + "?? templates/documentation/", + "?? templates/modules/", + "?? templates/packages/", + "?? templates/releases/", + "?? templates/repositories/", + "?? templates/service-orders/os.template.md", + "?? tests/contract/", + "?? tests/smoke/", + "?? tests/structure/", + "?? tools/", + "?? turbo.json" + ], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-platform-base", + "matched_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:37+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-platform-base" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-platform-base", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:37+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-platform-base" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-platform-base", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:37+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-platform-base" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 worktrees sujos; 2 divergencias nominais; 4 bloqueios contra sync destrutiva", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "11_repo_tudo-para-ia-platform-base", + "declared_name": "tudo-para-ia-platform-base", + "expected_local_name": "tudo-para-ia-platform-base", + "gitea_repo": "admin/tudo-para-ia-platform-base", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-529d66b23bb2", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=9;behind=0;upstream=origin/main", + "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-917cb9437e58", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-50b573a8a933", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-9f5e32a23747", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-b6eacc950f4a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-public-platform" + } + ], + "aligned_hash": "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42", + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42" + ], + "missing_count": 3, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-public-platform", + "git_state": { + "ahead_behind": { + "ahead": 9, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-public-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-public-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42", + "head_summary": "b1bad49 auto-sync: tudo-para-ia-public-platform 2026-04-30 07:40:36", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-public-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-public-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-public-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:38+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-public-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:38+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-public-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-public-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:38+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-public-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-public-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:38+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-public-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "hash unico b1bad49c12a4; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "12_repo_tudo-para-ia-public-platform", + "declared_name": "tudo-para-ia-public-platform", + "expected_local_name": "tudo-para-ia-public-platform", + "gitea_repo": "admin/tudo-para-ia-public-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-37ac595b246b", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=7;behind=0;upstream=origin/main", + "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-d0bbf9052ed8", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-2a5a6ae13064", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-78a22f74add8", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-999e2c9f4df6", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-stj-platform" + } + ], + "aligned_hash": null, + "credential_error_count": 0, + "destructive_block_count": 0, + "dirty_count": 0, + "hash_set": [ + "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7", + "b13e6c9464661885d31d2ae7d295ec5667927056" + ], + "missing_count": 2, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-stj-platform", + "git_state": { + "ahead_behind": { + "ahead": 7, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-stj-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-stj-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7", + "head_summary": "006bd08 auto-sync: tudo-para-ia-stj-platform 2026-04-30 07:29:16", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-stj-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-stj-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:39+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform", + "git_state": { + "ahead_behind": { + "ahead": 0, + "behind": 0, + "error": null, + "upstream": "origin/main" + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "b13e6c9464661885d31d2ae7d295ec5667927056", + "head_summary": "b13e6c9 auto-sync: tudo-para-ia-stj-platform 2026-04-30 04:24:07", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git", + "status_short": [], + "upstream": "origin/main" + }, + "matched_name": "tudo-para-ia-stj-platform", + "matched_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:40+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-stj-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:40+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-stj-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:40+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-stj-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "13_repo_tudo-para-ia-stj-platform", + "declared_name": "tudo-para-ia-stj-platform", + "expected_local_name": "tudo-para-ia-stj-platform", + "gitea_repo": "admin/tudo-para-ia-stj-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + }, + { + "actions": [ + { + "action_id": "mesh-action-22557e2b043e", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M apps/ui-platform/index.html", + " M apps/ui-platform/src/app.js", + " M apps/ui-platform/src/contract-data.js", + " M apps/ui-platform/src/styles.css", + " M package.json", + " M packages/mcp-ready/src/index.mjs", + " M packages/ui-governance/src/index.mjs", + " M packages/ui-governance/src/semantic-registry.mjs" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-59ea5ecc1144", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-a4f095a0431b", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-dae55776e43a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-ff4124206ec5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "aligned_hash": "64e52f8949ebb2dee28e14ac0316a596d6fe77e9", + "credential_error_count": 0, + "destructive_block_count": 1, + "dirty_count": 1, + "hash_set": [ + "64e52f8949ebb2dee28e14ac0316a596d6fe77e9" + ], + "missing_count": 3, + "nominal_mismatch_count": 2, + "observations": [ + { + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "expected_path": "G:\\_codex-git\\tudo-para-ia-ui-platform", + "git_state": { + "ahead_behind": { + "ahead": null, + "behind": null, + "error": "fatal: no upstream configured for branch 'main'", + "upstream": null + }, + "branch": "main", + "command_errors": [ + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-ui-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-ui-platform", + "rev-parse", + "--abbrev-ref", + "--symbolic-full-name", + "@{u}" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 128, + "stderr": "fatal: no upstream configured for branch 'main'\n", + "stdout": "" + } + ], + "fetch_result": { + "argv": [ + "git", + "-c", + "safe.directory=*", + "-C", + "G:\\_codex-git\\tudo-para-ia-ui-platform", + "fetch", + "--all", + "--prune" + ], + "cwd": null, + "error_kind": "unknown", + "returncode": 255, + "stderr": "error: cannot open '.git/FETCH_HEAD': Permission denied\n", + "stdout": "" + }, + "head": "64e52f8949ebb2dee28e14ac0316a596d6fe77e9", + "head_summary": "64e52f8 feat: add UI operational governance gates", + "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git", + "status_short": [ + "M apps/ui-platform/index.html", + " M apps/ui-platform/src/app.js", + " M apps/ui-platform/src/contract-data.js", + " M apps/ui-platform/src/styles.css", + " M package.json", + " M packages/mcp-ready/src/index.mjs", + " M packages/ui-governance/src/index.mjs", + " M packages/ui-governance/src/semantic-registry.mjs", + " M reports/browser-validations/index.json", + " M reports/governance/index.json", + " M reports/latest-cloudflare-preview-plan.json", + " M reports/latest-operational-gates.json", + " M reports/latest-release-control.json", + " M reports/latest-release-manifest.json", + " M reports/latest-static-browser-validation.json", + " M reports/latest-ui-governance.json", + " M reports/latest-unit-tests.json", + " M reports/latest-visual-contract-docs-summary.json", + " M reports/releases/index.json", + " M scripts/cloudflare-preview-plan.mjs", + " M scripts/generate-static-contract.mjs", + " M scripts/generate-ui-governance.mjs", + " M scripts/run-local-validation.mjs", + " M scripts/validate-static-app-browser.mjs", + " M tests/mcp-ready.test.mjs", + " M tests/run-all.mjs", + " M tests/semantic-registry.test.mjs", + " M tests/static-app.test.mjs", + " M tests/ui-governance.test.mjs", + "?? packages/mcp-transit/", + "?? packages/ui-governance/src/round-014-readiness.mjs", + "?? packages/ui-governance/src/round-015-execution-readiness.mjs", + "?? packages/ui-governance/src/round-016-continuity-readiness.mjs", + "?? packages/ui-governance/src/round-016-execution-readiness.mjs", + "?? reports/browser-validations/static-browser-validation-20260430013642.json", + "?? reports/browser-validations/static-browser-validation-20260430014415.json", + "?? reports/browser-validations/static-browser-validation-20260430072430.json", + "?? reports/browser-validations/static-browser-validation-20260430083133.json", + "?? reports/browser-validations/static-browser-validation-20260430083402.json", + "?? reports/browser-validations/static-browser-validation-20260430102523.json", + "?? reports/governance/ui-governance-20260430014430-8a276333.json", + "?? reports/governance/ui-governance-20260430014445-0c920fd3.json", + "?? reports/governance/ui-governance-20260430072423-3a1efc5b.json", + "?? reports/governance/ui-governance-20260430072440-38e73aab.json", + "?? reports/governance/ui-governance-20260430073400-6adf92fa.json", + "?? reports/governance/ui-governance-20260430073419-6a7b89f1.json", + "?? reports/governance/ui-governance-20260430073808-aad36af7.json", + "?? reports/governance/ui-governance-20260430083108-fbb1003f.json", + "?? reports/governance/ui-governance-20260430083247-aa2d929f.json", + "?? reports/governance/ui-governance-20260430083418-a0ec4635.json", + "?? reports/governance/ui-governance-20260430102453-ea4c2d91.json", + "?? reports/governance/ui-governance-20260430102539-fb9dee8a.json", + "?? reports/latest-mcp-transit.json", + "?? reports/latest-round-014-readiness.json", + "?? reports/latest-round-015-execution-readiness.json", + "?? reports/latest-round-016-continuity-readiness.json", + "?? reports/latest-round-016-execution-readiness.json", + "?? reports/mcp-transit/", + "?? reports/operational-gates/operational-gates-20260430014425-7cb15cb0.json", + "?? reports/operational-gates/operational-gates-20260430072411-638be713.json", + "?? reports/operational-gates/operational-gates-20260430072439-b9ed1ae9.json", + "?? reports/operational-gates/operational-gates-20260430073353-2150960f.json", + "?? reports/operational-gates/operational-gates-20260430083101-97d9cb6b.json", + "?? reports/operational-gates/operational-gates-20260430083242-92e197b9.json", + "?? reports/operational-gates/operational-gates-20260430083414-8c832a97.json", + "?? reports/operational-gates/operational-gates-20260430102506-a3ad07d7.json", + "?? reports/operational-gates/operational-gates-20260430102552-eb701bb0.json", + "?? reports/releases/release-manifest-20260430014408-1a7db68436.json", + "?? reports/releases/release-manifest-20260430072354-1a7db68436.json", + "?? reports/releases/release-manifest-20260430083412-1a7db68436.json", + "?? reports/releases/release-manifest-20260430102459-1a7db68436.json", + "?? reports/releases/release-manifest-20260430102545-1a7db68436.json", + "?? reports/round-014-readiness/", + "?? reports/round-015-execution-readiness/", + "?? reports/round-016-continuity-readiness/", + "?? reports/round-016-execution-readiness/", + "?? scripts/generate-mcp-transit-report.mjs", + "?? scripts/generate-round-014-readiness-report.mjs", + "?? scripts/generate-round-015-execution-report.mjs", + "?? scripts/generate-round-016-continuity-report.mjs", + "?? scripts/generate-round-016-execution-report.mjs", + "?? scripts/round/close-service-order-015-ui-platform-20260430.mjs", + "?? scripts/round/close-service-order-016-ui-platform-20260430.mjs", + "?? scripts/round/close-service-order-016-ui-platform-20260430.ps1", + "?? scripts/round/close_round014_readiness.py", + "?? scripts/round/materialize-mcp-transit-routes.mjs", + "?? scripts/round/materialize-round-014-readiness.mjs", + "?? scripts/round/materialize-round-015-execution-readiness.mjs", + "?? scripts/round/materialize-round-016-continuity-readiness.mjs", + "?? scripts/round/materialize-round-016-execution-readiness.mjs", + "?? scripts/round/update-management-sqlite-20260430-round015.py", + "?? scripts/round/update-management-sqlite-20260430-round016.py", + "?? tests/mcp-transit.test.mjs", + "?? tests/round-014-readiness.test.mjs", + "?? tests/round-015-execution.test.mjs", + "?? tests/round-016-continuity.test.mjs", + "?? tests/round-016-execution.test.mjs" + ], + "upstream": null + }, + "matched_name": "tudo-para-ia-ui-platform", + "matched_path": "G:\\_codex-git\\tudo-para-ia-ui-platform", + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:41+00:00", + "presence": "present_git", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "expected_path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": null, + "observed_at": "2026-04-30T13:46:41+00:00", + "presence": "missing", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "environment_id": "codex-server", + "environment_kind": "codex_server", + "expected_path": "\\root\\__gpt-codex\\tudo-para-ia-ui-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex", + "observed_at": "2026-04-30T13:46:41+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "environment_id": "gitlab-server", + "environment_kind": "gitlab_server", + "expected_path": "\\root\\_codex-git\\tudo-para-ia-ui-platform", + "git_state": null, + "matched_name": null, + "matched_path": null, + "nomenclature_note": "ambiente nao acessivel a partir desta sessao: /root/_codex-git", + "observed_at": "2026-04-30T13:46:41+00:00", + "presence": "unreachable_environment", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "remote_mismatch_count": 0, + "risk": "blocked", + "summary": "hash unico 64e52f8949eb; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva", + "target": { + "aliases": [], + "canonical_name": null, + "central_folder": "14_repo_tudo-para-ia-ui-platform", + "declared_name": "tudo-para-ia-ui-platform", + "expected_local_name": "tudo-para-ia-ui-platform", + "gitea_repo": "admin/tudo-para-ia-ui-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + } + ], + "targets": [ + { + "aliases": [], + "canonical_name": null, + "central_folder": "01_repo_tudo-para-ia-business-platform", + "declared_name": "tudo-para-ia-business-platform", + "expected_local_name": "tudo-para-ia-business-platform", + "gitea_repo": "admin/tudo-para-ia-business-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "02_repo_tudo-para-ia-compliance-platform", + "declared_name": "tudo-para-ia-compliance-platform", + "expected_local_name": "tudo-para-ia-compliance-platform", + "gitea_repo": "admin/tudo-para-ia-compliance-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "03_repo_tudo-para-ia-customer-ops-platform", + "declared_name": "tudo-para-ia-customer-ops-platform", + "expected_local_name": "tudo-para-ia-customer-ops-platform", + "gitea_repo": "admin/tudo-para-ia-customer-ops-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "04_repo_tudo-para-ia-docs-plataform", + "declared_name": "tudo-para-ia-docs-plataform", + "expected_local_name": "tudo-para-ia-docs-plataform", + "gitea_repo": "admin/tudo-para-ia-docs-plataform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "05_repo_tudo-para-ia-finance-platform", + "declared_name": "tudo-para-ia-finance-platform", + "expected_local_name": "tudo-para-ia-finance-platform", + "gitea_repo": "admin/tudo-para-ia-finance-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "06_repo_tudo-para-ia-gettys-platform", + "declared_name": "tudo-para-ia-gettys-platform", + "expected_local_name": "tudo-para-ia-gettys-platform", + "gitea_repo": "admin/tudo-para-ia-gettys-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "07_repo_tudo-para-ia-identity-platform", + "declared_name": "tudo-para-ia-identity-platform", + "expected_local_name": "tudo-para-ia-identity-platform", + "gitea_repo": "admin/tudo-para-ia-identity-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [ + "tudo-para-ia-integracoes-plataform" + ], + "canonical_name": "tudo-para-ia-integracoes-plataform", + "central_folder": "08_repo_tudo-para-ia-integracoes-plataform", + "declared_name": "tudo-para-ia-integracoes-platform", + "expected_local_name": "tudo-para-ia-integracoes-platform", + "gitea_repo": "admin/tudo-para-ia-integracoes-platform", + "notes": [ + "ordem declarou platform, espelho local conhecido usa plataform" + ], + "requires_nominal_reconciliation": true + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "09_repo_tudo-para-ia-intelligence-platform", + "declared_name": "tudo-para-ia-intelligence-platform", + "expected_local_name": "tudo-para-ia-intelligence-platform", + "gitea_repo": "admin/tudo-para-ia-intelligence-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [ + "tudo-para-ia-mais-humana" + ], + "canonical_name": "tudo-para-ia-mais-humana-plataform", + "central_folder": "15_repo_tudo-para-ia-mais-humana", + "declared_name": "tudo-para-ia-mais-humana-plataform", + "expected_local_name": "tudo-para-ia-mais-humana-plataform", + "gitea_repo": "admin/tudo-para-ia-mais-humana", + "notes": [ + "renome local autorizado nesta rodada; remoto legado segue admin/tudo-para-ia-mais-humana ate decisao Gitea" + ], + "requires_nominal_reconciliation": true + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "10_repo_tudo-para-ia-mcps-internos-plataform", + "declared_name": "tudo-para-ia-mcps-internos-plataform", + "expected_local_name": "tudo-para-ia-mcps-internos-plataform", + "gitea_repo": "admin/tudo-para-ia-mcps-internos-plataform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "11_repo_tudo-para-ia-platform-base", + "declared_name": "tudo-para-ia-platform-base", + "expected_local_name": "tudo-para-ia-platform-base", + "gitea_repo": "admin/tudo-para-ia-platform-base", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "12_repo_tudo-para-ia-public-platform", + "declared_name": "tudo-para-ia-public-platform", + "expected_local_name": "tudo-para-ia-public-platform", + "gitea_repo": "admin/tudo-para-ia-public-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "13_repo_tudo-para-ia-stj-platform", + "declared_name": "tudo-para-ia-stj-platform", + "expected_local_name": "tudo-para-ia-stj-platform", + "gitea_repo": "admin/tudo-para-ia-stj-platform", + "notes": [], + "requires_nominal_reconciliation": false + }, + { + "aliases": [], + "canonical_name": null, + "central_folder": "14_repo_tudo-para-ia-ui-platform", + "declared_name": "tudo-para-ia-ui-platform", + "expected_local_name": "tudo-para-ia-ui-platform", + "gitea_repo": "admin/tudo-para-ia-ui-platform", + "notes": [], + "requires_nominal_reconciliation": false + } + ] +} \ No newline at end of file diff --git a/dados/repository-mesh-orders.json b/dados/repository-mesh-orders.json new file mode 100644 index 0000000..2c7d379 --- /dev/null +++ b/dados/repository-mesh-orders.json @@ -0,0 +1,1779 @@ +{ + "generatedAt": "2026-04-30T13:46:41+00:00", + "reportId": "repository-mesh-25823a78b901", + "repositories": [ + { + "actions": [ + { + "action_id": "mesh-action-d74173010dba", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=9;behind=0;upstream=origin/main", + "cee7e824559832f3e36492dfadf0777d605afee8" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-61bb08f62bc5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-a6131408e2be", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-d2727fbc94ef", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-business-platform" + }, + { + "action_id": "mesh-action-e331b3e4c497", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-business-platform" + } + ], + "activeOrders": [], + "centralFolder": "01_repo_tudo-para-ia-business-platform", + "declaredName": "tudo-para-ia-business-platform", + "expectedLocalName": "tudo-para-ia-business-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-7d8f74aaca89", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=7;behind=0;upstream=origin/main", + "7e88a2beb57ecb4a07534733638110b999dce561" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-cf83302e51c3", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-a53a11cbd26e", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-6903dd01bc1f", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "action_id": "mesh-action-6e50d3c37aeb", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-compliance-platform" + } + ], + "activeOrders": [], + "centralFolder": "02_repo_tudo-para-ia-compliance-platform", + "declaredName": "tudo-para-ia-compliance-platform", + "expectedLocalName": "tudo-para-ia-compliance-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-9dc31ae75f1a", + "can_execute_automatically": false, + "command_preview": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git", + "https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "kind": "fix_remote_url", + "reason": "remote origin nao corresponde ao Gitea esperado", + "required_before": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-742544266379", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=7;behind=0;upstream=origin/main", + "ef83587577f93ed6df086db39975c83e1216edac" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-9c34fd44f893", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-2e66e9903b00", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-d681ca4be32c", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "action_id": "mesh-action-a2aae3a00161", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-customer-ops-platform" + } + ], + "activeOrders": [], + "centralFolder": "03_repo_tudo-para-ia-customer-ops-platform", + "declaredName": "tudo-para-ia-customer-ops-platform", + "expectedLocalName": "tudo-para-ia-customer-ops-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-c074a7454c85", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=11;behind=0;upstream=origin/main", + "80095cd75b612ce09b704bc00bf54dbdc59ccdf3" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-604e958b1ab4", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-c22d79c0aa76", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-9be03dcb6263", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "action_id": "mesh-action-258528af32fb", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-docs-plataform" + } + ], + "activeOrders": [], + "centralFolder": "04_repo_tudo-para-ia-docs-plataform", + "declaredName": "tudo-para-ia-docs-plataform", + "expectedLocalName": "tudo-para-ia-docs-plataform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-de5a018ad5cc", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=2;behind=0;upstream=origin/main", + "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-9acb48b0d9c1", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-54a43adcdbd5", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-fdf8583a2010", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "action_id": "mesh-action-04ed792cb988", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-finance-platform" + } + ], + "activeOrders": [], + "centralFolder": "05_repo_tudo-para-ia-finance-platform", + "declaredName": "tudo-para-ia-finance-platform", + "expectedLocalName": "tudo-para-ia-finance-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-24d6e2c4fde2", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=9;behind=0;upstream=origin/main", + "9d0c4c2594d019e70568f21c23b04e4693225ce1" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-8a4690c9c29d", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-9e56eaf27ed5", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-2a2fb7bc0dab", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "action_id": "mesh-action-d794140f218c", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-gettys-platform" + } + ], + "activeOrders": [], + "centralFolder": "06_repo_tudo-para-ia-gettys-platform", + "declaredName": "tudo-para-ia-gettys-platform", + "expectedLocalName": "tudo-para-ia-gettys-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-7459c55a5946", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=12;behind=0;upstream=origin/main", + "cdfe78714d61bf36793d38bdadf2fcd736ae08c1" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-bf839e1eb7da", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-ddc7a0df464a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-3fa1024c9e04", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "action_id": "mesh-action-434fa6be1041", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-identity-platform" + } + ], + "activeOrders": [], + "centralFolder": "07_repo_tudo-para-ia-identity-platform", + "declaredName": "tudo-para-ia-identity-platform", + "expectedLocalName": "tudo-para-ia-identity-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-2c3c0959aa7f", + "can_execute_automatically": true, + "command_preview": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\_codex-git\\tudo-para-ia-integracoes-platform", + "6371413be59b2d4dbea347b7305db0f15c8f0c28" + ], + "kind": "rename_local_folder", + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "required_before": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-8af64b1a2f4d", + "can_execute_automatically": false, + "command_preview": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "kind": "fix_remote_url", + "reason": "remote origin nao corresponde ao Gitea esperado", + "required_before": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-5675b953c348", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=24;behind=0;upstream=origin/main", + "6371413be59b2d4dbea347b7305db0f15c8f0c28" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-9d7038836e52", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-c9373212b179", + "can_execute_automatically": true, + "command_preview": [ + "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-platform", + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "kind": "rename_local_folder", + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "required_before": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-dea83db8f4af", + "can_execute_automatically": false, + "command_preview": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "kind": "fix_remote_url", + "reason": "remote origin nao corresponde ao Gitea esperado", + "required_before": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-a26163e6be59", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-3db4026be62c", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "action_id": "mesh-action-110e2ce0a0e4", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-integracoes-platform" + } + ], + "activeOrders": [], + "centralFolder": "08_repo_tudo-para-ia-integracoes-plataform", + "declaredName": "tudo-para-ia-integracoes-platform", + "expectedLocalName": "tudo-para-ia-integracoes-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-ac5c851fb706", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M .gitignore", + " M README.md", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", + " M apps/intelligence-worker/package.json", + " M apps/intelligence-worker/schema.sql", + " M apps/intelligence-worker/src/index.js", + " M apps/intelligence-worker/src/intelligence-core.js" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-93207ce20f3a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-942654e26e71", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-343284eab795", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "action_id": "mesh-action-f82ec42b3d5d", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-intelligence-platform" + } + ], + "activeOrders": [], + "centralFolder": "09_repo_tudo-para-ia-intelligence-platform", + "declaredName": "tudo-para-ia-intelligence-platform", + "expectedLocalName": "tudo-para-ia-intelligence-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-e192f87b36dd", + "can_execute_automatically": false, + "command_preview": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "G:\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "kind": "rename_local_folder", + "reason": "materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform", + "required_before": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-e2c2d471cf6d", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M dados/budget-linhas-rodada.json", + " M dados/dossie-operacional-humano.json", + " M dados/governanca-operacional-compacta.json", + " M dados/governanca-operacional.json", + " M dados/grafo-evidencias.json", + " M dados/indice-evidencias.json", + " M dados/lifecycle-ordens-ativas.json", + " M dados/ordens-governanca-compiladas.json" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-6a6eaffcbdfa", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-20aa91944451", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-93f6afb07054", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "action_id": "mesh-action-15516f4541ca", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + } + ], + "activeOrders": [], + "centralFolder": "15_repo_tudo-para-ia-mais-humana", + "declaredName": "tudo-para-ia-mais-humana-plataform", + "expectedLocalName": "tudo-para-ia-mais-humana-plataform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-85067efca878", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=23;behind=0;upstream=origin/main", + "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-09c924f2d891", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-5b157361e3ee", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-d9abe9c7fbe5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "action_id": "mesh-action-b15f913f3744", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform" + } + ], + "activeOrders": [], + "centralFolder": "10_repo_tudo-para-ia-mcps-internos-plataform", + "declaredName": "tudo-para-ia-mcps-internos-plataform", + "expectedLocalName": "tudo-para-ia-mcps-internos-plataform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-37f9a53424f8", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M apps/platform-shell/src/shell/manifest.ts", + " M apps/platform-shell/src/shell/router.ts", + " M contracts/platform-derivation.contract.json" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-22ba67fa8757", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "ahead=2;behind=2;upstream=origin/main" + ], + "kind": "block_destructive_sync", + "reason": "branch divergente ahead/behind; reconciliacao automatica poderia escolher versao antiga", + "required_before": [ + "comparar commits", + "decidir fonte valida mais recente", + "fazer merge/rebase apenas com operador" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-e16f250cddb5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-971fc22703f5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-secondary", + "evidence": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-5ef117e15bae", + "can_execute_automatically": false, + "command_preview": [ + "git fetch --all --prune", + "git merge --ff-only @{u}" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "ahead=0;behind=2;upstream=origin/main" + ], + "kind": "block_destructive_sync", + "reason": "ha commits remotos nao aplicados; pull automatico so e seguro com working tree limpo e comparacao de hash", + "required_before": [ + "confirmar working tree limpo", + "usar somente fast-forward", + "bloquear se nao for fast-forward" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-75f9e9dfb259", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-0f86f1adcf16", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "action_id": "mesh-action-6bfd95e48bda", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-platform-base" + } + ], + "activeOrders": [], + "centralFolder": "11_repo_tudo-para-ia-platform-base", + "declaredName": "tudo-para-ia-platform-base", + "expectedLocalName": "tudo-para-ia-platform-base", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-529d66b23bb2", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=9;behind=0;upstream=origin/main", + "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-917cb9437e58", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-50b573a8a933", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-9f5e32a23747", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-public-platform" + }, + { + "action_id": "mesh-action-b6eacc950f4a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-public-platform" + } + ], + "activeOrders": [], + "centralFolder": "12_repo_tudo-para-ia-public-platform", + "declaredName": "tudo-para-ia-public-platform", + "expectedLocalName": "tudo-para-ia-public-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-37ac595b246b", + "can_execute_automatically": false, + "command_preview": [ + "git push origin HEAD" + ], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "ahead=7;behind=0;upstream=origin/main", + "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7" + ], + "kind": "register_evidence", + "reason": "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + "required_before": [ + "confirmar remoto correto", + "confirmar que push nao reverte estado remoto mais recente" + ], + "risk": "attention", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-d0bbf9052ed8", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-2a5a6ae13064", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-78a22f74add8", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "action_id": "mesh-action-999e2c9f4df6", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-stj-platform" + } + ], + "activeOrders": [], + "centralFolder": "13_repo_tudo-para-ia-stj-platform", + "declaredName": "tudo-para-ia-stj-platform", + "expectedLocalName": "tudo-para-ia-stj-platform", + "risk": "blocked" + }, + { + "actions": [ + { + "action_id": "mesh-action-22557e2b043e", + "can_execute_automatically": false, + "command_preview": [], + "destructive": true, + "environment_id": "windows-primary", + "evidence": [ + "M apps/ui-platform/index.html", + " M apps/ui-platform/src/app.js", + " M apps/ui-platform/src/contract-data.js", + " M apps/ui-platform/src/styles.css", + " M package.json", + " M packages/mcp-ready/src/index.mjs", + " M packages/ui-governance/src/index.mjs", + " M packages/ui-governance/src/semantic-registry.mjs" + ], + "kind": "block_destructive_sync", + "reason": "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + "required_before": [ + "commit ou stash consciente das alteracoes", + "registrar diff resumido", + "decidir precedencia" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-59ea5ecc1144", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "windows-primary", + "evidence": [ + "error: cannot open '.git/FETCH_HEAD': Permission denied" + ], + "kind": "register_evidence", + "reason": "fetch falhou: unknown", + "required_before": [ + "fornecer credencial Git valida", + "reexecutar fetch nao destrutivo" + ], + "risk": "attention", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-a4f095a0431b", + "can_execute_automatically": false, + "command_preview": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "destructive": false, + "environment_id": "windows-secondary", + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "kind": "clone_missing", + "reason": "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + "required_before": [ + "confirmar credencial Git", + "confirmar que nao existe diretorio de destino", + "executar clone sem sobrescrever" + ], + "risk": "attention", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-dae55776e43a", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "codex-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "action_id": "mesh-action-ff4124206ec5", + "can_execute_automatically": false, + "command_preview": [], + "destructive": false, + "environment_id": "gitlab-server", + "evidence": [ + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "kind": "require_environment_access", + "reason": "ambiente declarado na OS nao esta acessivel nesta sessao", + "required_before": [ + "abrir sessao no ambiente indicado", + "rodar inventario local com a mesma rotina" + ], + "risk": "blocked", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "activeOrders": [], + "centralFolder": "14_repo_tudo-para-ia-ui-platform", + "declaredName": "tudo-para-ia-ui-platform", + "expectedLocalName": "tudo-para-ia-ui-platform", + "risk": "blocked" + } + ] +} \ No newline at end of file diff --git a/dados/repository-mesh-readiness.json b/dados/repository-mesh-readiness.json new file mode 100644 index 0000000..961b7fe --- /dev/null +++ b/dados/repository-mesh-readiness.json @@ -0,0 +1,262 @@ +{ + "cycle_id": "mesh-cycle-7634bd77674c", + "gates": [ + { + "evidence": [ + "15" + ], + "gate_id": "inventory.targets-declared", + "next_action": "atualizar manifesto da OS permanente", + "reason": "Repositorios declarados: 15.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Todos os repositorios declarados foram carregados" + }, + { + "evidence": [ + "60" + ], + "gate_id": "inventory.observations-created", + "next_action": "rodar inventario nos ambientes faltantes", + "reason": "Observacoes: 60.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Observacoes por ambiente foram criadas" + }, + { + "evidence": [ + "tudo-para-ia-business-platform", + "tudo-para-ia-compliance-platform", + "tudo-para-ia-customer-ops-platform", + "tudo-para-ia-docs-plataform", + "tudo-para-ia-finance-platform", + "tudo-para-ia-gettys-platform", + "tudo-para-ia-identity-platform", + "tudo-para-ia-integracoes-platform" + ], + "gate_id": "inventory.hashes-present", + "next_action": "corrigir acesso a repositorios e repetir git rev-parse HEAD", + "reason": "Hashes HEAD foram coletados em ambientes acessiveis.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Ao menos um hash HEAD foi observado" + }, + { + "evidence": [ + "fetch_enabled=True" + ], + "gate_id": "inventory.fetch-attempted", + "next_action": "executar repo-mesh --fetch em rodada com credencial Git disponivel", + "reason": "Fetch habilitado no ciclo.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Fetch nao destrutivo foi tentado quando solicitado" + }, + { + "evidence": [], + "gate_id": "safety.no-destructive-auto", + "next_action": "corrigir gates do runtime antes de ativar scheduler", + "reason": "Runtime nao permitiu comando destrutivo.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Nenhum comando destrutivo ficou permitido automaticamente" + }, + { + "evidence": [ + "5" + ], + "gate_id": "safety.dirty-blocked", + "next_action": "commit/stash consciente ou decisao de precedencia", + "reason": "Worktrees sujos detectados: 5.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Working trees sujos viraram bloqueio" + }, + { + "evidence": [ + "0", + "0" + ], + "gate_id": "safety.credentials-classified", + "next_action": "configurar credencial Git e repetir fetch", + "reason": "Falhas de credencial: 0; recibos credential_blocked: 0.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Falhas de credencial foram classificadas" + }, + { + "evidence": [ + "15", + "15" + ], + "gate_id": "safety.receipts-created", + "next_action": "regerar plano de reconciliacao", + "reason": "Recibos: 15; repositorios: 15.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Recibos de reconciliacao foram criados" + }, + { + "evidence": [ + "15" + ], + "gate_id": "safety.blockers-visible", + "next_action": "executar ordens de saida para remover bloqueios reais", + "reason": "Recibos com blocker: 15.", + "score": 10, + "severity": "warning", + "status": "warn", + "title": "Bloqueios estao visiveis no plano" + }, + { + "evidence": [ + "30" + ], + "gate_id": "naming.policy-evaluated", + "next_action": "executar reconciliacao com raizes acessiveis", + "reason": "Decisoes nominais: 30.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Politica de nomenclatura avaliou os repositorios" + }, + { + "evidence": [], + "gate_id": "naming.no-conflicts", + "next_action": "comparar variantes platform/plataform/alias antes de rename ou clone", + "reason": "Conflitos nominais: 0.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Conflitos de nome foram bloqueados" + }, + { + "evidence": [ + "tudo-para-ia-compliance-platform:missing", + "tudo-para-ia-customer-ops-platform:missing", + "tudo-para-ia-finance-platform:missing", + "tudo-para-ia-gettys-platform:missing", + "tudo-para-ia-integracoes-platform:canonical_rename_required", + "tudo-para-ia-integracoes-platform:canonical_rename_required", + "tudo-para-ia-intelligence-platform:missing", + "tudo-para-ia-mais-humana-plataform:canonical_rename_required" + ], + "gate_id": "naming.pending-visible", + "next_action": "executar ordens de renome/alias geradas pela reconciliacao", + "reason": "Pendencias nominais: 11.", + "score": 30, + "severity": "warning", + "status": "warn", + "title": "Pendencias nominais estao visiveis" + }, + { + "evidence": [ + "mesh-cycle-7634bd77674c" + ], + "gate_id": "automation.runtime-cycle", + "next_action": "gerar runtime cycle com lock e comandos", + "reason": "Ciclo: mesh-cycle-7634bd77674c.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Ciclo runtime foi gerado" + }, + { + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-mais-humana\\dados\\repository-mesh.lock.json", + "stale_replaced" + ], + "gate_id": "automation.lock-held", + "next_action": "corrigir lock do runtime", + "reason": "Lock: stale_replaced.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Runtime registrou estado de lock" + }, + { + "evidence": [ + "cron", + "windows_task" + ], + "gate_id": "automation.schedulers", + "next_action": "publicar instalacao em cada ambiente", + "reason": "Schedulers: cron, windows_task.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Schedulers Windows e Linux foram especificados" + }, + { + "evidence": [ + "4", + "133" + ], + "gate_id": "automation.allowed-commands-limited", + "next_action": "revisar gates se comandos automaticos crescerem sem recibo", + "reason": "Allowed: 4; total: 133.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "Comandos automaticos permitidos sao minoria controlada" + }, + { + "evidence": [ + "3" + ], + "gate_id": "semantic.report", + "next_action": "executar write_repository_mesh_semantic_state", + "reason": "Reports SQL: 3.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "SQL registrou report da malha" + }, + { + "evidence": [ + "15" + ], + "gate_id": "semantic.receipts", + "next_action": "persistir plano de reconciliacao no SQLite", + "reason": "Receipts SQL: 15.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "SQL registrou recibos de reconciliacao" + }, + { + "evidence": [ + "2" + ], + "gate_id": "semantic.schedulers", + "next_action": "persistir specs de scheduler Windows/Cron", + "reason": "Schedulers SQL: 2.", + "score": 100, + "severity": "info", + "status": "pass", + "title": "SQL registrou schedulers" + } + ], + "generated_at": "2026-04-30T13:46:41+00:00", + "plan_id": "mesh-plan-5c7e3edb6b33", + "readiness_id": "mesh-readiness-9723f925d91c", + "report_id": "repository-mesh-25823a78b901", + "score": 92, + "status": "warn", + "summary": [ + "score: 92", + "status: warn", + "gates: 19", + "blockers: 0", + "warnings: 2", + "passed: 17" + ] +} \ No newline at end of file diff --git a/dados/repository-mesh-reconciliation-summary.json b/dados/repository-mesh-reconciliation-summary.json new file mode 100644 index 0000000..d8cdab8 --- /dev/null +++ b/dados/repository-mesh-reconciliation-summary.json @@ -0,0 +1,2810 @@ +{ + "autoSyncReadyCount": 0, + "blockerCount": 15, + "credentialBlockedCount": 0, + "generatedAt": "2026-04-30T13:46:41+00:00", + "planId": "mesh-plan-5c7e3edb6b33", + "receipts": [ + { + "expected_local_name": "tudo-para-ia-business-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-business-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 9, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "cee7e824559832f3e36492dfadf0777d605afee8", + "observed_at": "2026-04-30T13:46:22+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-business-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-business-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "3eae5dd9a54263c668a347e4f10bb45a707515ac", + "observed_at": "2026-04-30T13:46:23+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-business-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "3eae5dd9a54263c668a347e4f10bb45a707515ac" + ], + "selected_environment": "windows-primary", + "selected_head": "cee7e824559832f3e36492dfadf0777d605afee8", + "selected_path": "G:\\_codex-git\\tudo-para-ia-business-platform", + "target_name": "tudo-para-ia-business-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-business-platform", + "path": "G:\\_codex-git\\tudo-para-ia-business-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-business-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-business-plataform" + } + ], + "expected_name": "tudo-para-ia-business-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-business-platform", + "status": "exact", + "target_name": "tudo-para-ia-business-platform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-business-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-business-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-plataform" + } + ], + "expected_name": "tudo-para-ia-business-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-business-platform", + "status": "exact", + "target_name": "tudo-para-ia-business-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-business-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-9d4d8c5516d0", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-business-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-business-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-09136c8c3b10", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-business-platform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-a49d74c8be8d", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-business-platform" + }, + { + "expected_local_name": "tudo-para-ia-compliance-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-compliance-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 7, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "7e88a2beb57ecb4a07534733638110b999dce561", + "observed_at": "2026-04-30T13:46:24+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-compliance-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "7e88a2beb57ecb4a07534733638110b999dce561", + "selected_path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "target_name": "tudo-para-ia-compliance-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-compliance-platform", + "path": "G:\\_codex-git\\tudo-para-ia-compliance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-compliance-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-compliance-plataform" + } + ], + "expected_name": "tudo-para-ia-compliance-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-compliance-platform", + "status": "exact", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-compliance-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-compliance-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-plataform" + } + ], + "expected_name": "tudo-para-ia-compliance-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-compliance-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-compliance-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-83c78317fdd2", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-compliance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-compliance-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-6dfa312564dd", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-compliance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "operation_id": "mesh-op-3db32380ccae", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-compliance-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-4cb873ce1328", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "expected_local_name": "tudo-para-ia-customer-ops-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-customer-ops-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 7, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "ef83587577f93ed6df086db39975c83e1216edac", + "observed_at": "2026-04-30T13:46:24+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "remote": "https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-customer-ops-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "ef83587577f93ed6df086db39975c83e1216edac", + "selected_path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-customer-ops-platform", + "path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-customer-ops-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-customer-ops-plataform" + } + ], + "expected_name": "tudo-para-ia-customer-ops-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-customer-ops-platform", + "status": "exact", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-customer-ops-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-customer-ops-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-plataform" + } + ], + "expected_name": "tudo-para-ia-customer-ops-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-customer-ops-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-customer-ops-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-37369c19cea4", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-customer-ops-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-c49fe31f6a9c", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "operation_id": "mesh-op-68811b9b3d72", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + }, + { + "automatic": false, + "commands": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "destructive": false, + "evidence": [ + "https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git", + "https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "operation_id": "mesh-op-48963a24e980", + "preconditions": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "reason": "remote origin nao corresponde ao Gitea esperado", + "rollback": [ + "git remote set-url origin " + ], + "severity": "warning", + "status": "remote_mismatch", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Corrigir remote origin divergente" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado", + "remote origin nao corresponde ao Gitea esperado" + ], + "receipt_id": "mesh-receipt-76d38c9b58b4", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "expected_local_name": "tudo-para-ia-docs-plataform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-docs-plataform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 11, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "80095cd75b612ce09b704bc00bf54dbdc59ccdf3", + "observed_at": "2026-04-30T13:46:25+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-docs-plataform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "ef25192b7c4169027aa296ce3450e1a94b4f5912", + "observed_at": "2026-04-30T13:46:26+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-docs-plataform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "ef25192b7c4169027aa296ce3450e1a94b4f5912" + ], + "selected_environment": "windows-primary", + "selected_head": "80095cd75b612ce09b704bc00bf54dbdc59ccdf3", + "selected_path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "target_name": "tudo-para-ia-docs-plataform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-docs-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-docs-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-docs-platform", + "path": "G:\\_codex-git\\tudo-para-ia-docs-platform" + } + ], + "expected_name": "tudo-para-ia-docs-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-docs-plataform", + "status": "exact", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-docs-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-docs-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-platform" + } + ], + "expected_name": "tudo-para-ia-docs-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-docs-plataform", + "status": "exact", + "target_name": "tudo-para-ia-docs-plataform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-docs-plataform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-86c156434b88", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-docs-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-docs-plataform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-b3c0ebd33384", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-docs-plataform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-4d709e26bc96", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "expected_local_name": "tudo-para-ia-finance-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-finance-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 2, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884", + "observed_at": "2026-04-30T13:46:27+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-finance-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-finance-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884", + "selected_path": "G:\\_codex-git\\tudo-para-ia-finance-platform", + "target_name": "tudo-para-ia-finance-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-finance-platform", + "path": "G:\\_codex-git\\tudo-para-ia-finance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-finance-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-finance-plataform" + } + ], + "expected_name": "tudo-para-ia-finance-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-finance-platform", + "status": "exact", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-finance-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-finance-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-plataform" + } + ], + "expected_name": "tudo-para-ia-finance-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-finance-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-finance-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-d8f16e6a31ac", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-finance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-finance-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-494de8609ff1", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-finance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "operation_id": "mesh-op-2807468aa5bb", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-finance-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-92c0d80b1a54", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "expected_local_name": "tudo-para-ia-gettys-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-gettys-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 9, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "9d0c4c2594d019e70568f21c23b04e4693225ce1", + "observed_at": "2026-04-30T13:46:28+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-gettys-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "9d0c4c2594d019e70568f21c23b04e4693225ce1", + "selected_path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "target_name": "tudo-para-ia-gettys-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-gettys-platform", + "path": "G:\\_codex-git\\tudo-para-ia-gettys-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-gettys-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-gettys-plataform" + } + ], + "expected_name": "tudo-para-ia-gettys-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-gettys-platform", + "status": "exact", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-gettys-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-gettys-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-plataform" + } + ], + "expected_name": "tudo-para-ia-gettys-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-gettys-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-gettys-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-819094aeb896", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-gettys-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-gettys-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-b951fe01e43c", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-gettys-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "operation_id": "mesh-op-bff90770061e", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-gettys-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-d83d967d1f2b", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "expected_local_name": "tudo-para-ia-identity-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-identity-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 12, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "cdfe78714d61bf36793d38bdadf2fcd736ae08c1", + "observed_at": "2026-04-30T13:46:29+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-identity-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-identity-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "ecc93e089819958d25325334d6aacae943245644", + "observed_at": "2026-04-30T13:46:30+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-identity-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "ecc93e089819958d25325334d6aacae943245644" + ], + "selected_environment": "windows-primary", + "selected_head": "cdfe78714d61bf36793d38bdadf2fcd736ae08c1", + "selected_path": "G:\\_codex-git\\tudo-para-ia-identity-platform", + "target_name": "tudo-para-ia-identity-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-identity-platform", + "path": "G:\\_codex-git\\tudo-para-ia-identity-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-identity-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-identity-plataform" + } + ], + "expected_name": "tudo-para-ia-identity-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-identity-platform", + "status": "exact", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-identity-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-identity-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-plataform" + } + ], + "expected_name": "tudo-para-ia-identity-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-identity-platform", + "status": "exact", + "target_name": "tudo-para-ia-identity-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-identity-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-6b5c33b2116e", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-identity-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-identity-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-a4a666c5ca74", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-identity-platform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-6d5b2c3fcbf8", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "expected_local_name": "tudo-para-ia-integracoes-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-integracoes-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 24, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "6371413be59b2d4dbea347b7305db0f15c8f0c28", + "observed_at": "2026-04-30T13:46:31+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-integracoes-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4", + "observed_at": "2026-04-30T13:46:32+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-integracoes-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "selected_environment": "windows-primary", + "selected_head": "6371413be59b2d4dbea347b7305db0f15c8f0c28", + "selected_path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-integracoes-platform", + "path": "G:\\_codex-git\\tudo-para-ia-integracoes-platform" + }, + { + "exists": true, + "is_alias": true, + "is_canonical": true, + "is_expected": false, + "name": "tudo-para-ia-integracoes-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform" + } + ], + "expected_name": "tudo-para-ia-integracoes-platform", + "next_action": "renomear pasta local com destino inexistente", + "reason": "pasta encontrada como tudo-para-ia-integracoes-plataform, esperado tudo-para-ia-integracoes-platform", + "selected_name": "tudo-para-ia-integracoes-plataform", + "status": "canonical_rename_required", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-integracoes-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-platform" + }, + { + "exists": true, + "is_alias": true, + "is_canonical": true, + "is_expected": false, + "name": "tudo-para-ia-integracoes-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform" + } + ], + "expected_name": "tudo-para-ia-integracoes-platform", + "next_action": "renomear pasta local com destino inexistente", + "reason": "pasta encontrada como tudo-para-ia-integracoes-plataform, esperado tudo-para-ia-integracoes-platform", + "selected_name": "tudo-para-ia-integracoes-plataform", + "status": "canonical_rename_required", + "target_name": "tudo-para-ia-integracoes-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-integracoes-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-aaa379546d21", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-integracoes-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-8d1f2acd452b", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "operation_id": "mesh-op-64e7a5d162a3", + "preconditions": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "reason": "remote origin nao corresponde ao Gitea esperado", + "rollback": [ + "git remote set-url origin " + ], + "severity": "warning", + "status": "remote_mismatch", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Corrigir remote origin divergente" + }, + { + "automatic": false, + "commands": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "operation_id": "mesh-op-64e7a5d162a3", + "preconditions": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "reason": "remote origin nao corresponde ao Gitea esperado", + "rollback": [ + "git remote set-url origin " + ], + "severity": "warning", + "status": "remote_mismatch", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Corrigir remote origin divergente" + }, + { + "automatic": true, + "commands": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\_codex-git\\tudo-para-ia-integracoes-platform", + "6371413be59b2d4dbea347b7305db0f15c8f0c28" + ], + "operation_id": "mesh-op-72e46290a482", + "preconditions": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "rollback": [ + "renomear de volta para alias anterior se validacao falhar: tudo-para-ia-integracoes-plataform" + ], + "severity": "warning", + "status": "nominal_rename_ready", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Reconciliar nomenclatura local/canonica" + }, + { + "automatic": true, + "commands": [ + "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-platform", + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "operation_id": "mesh-op-196449c6b5bf", + "preconditions": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "rollback": [ + "renomear de volta para alias anterior se validacao falhar: tudo-para-ia-integracoes-plataform" + ], + "severity": "warning", + "status": "nominal_rename_ready", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Reconciliar nomenclatura local/canonica" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "remote origin nao corresponde ao Gitea esperado", + "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-aaba6c30df14", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "expected_local_name": "tudo-para-ia-intelligence-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-intelligence-platform", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo" + ], + "candidates": [ + { + "ahead": -1, + "behind": -1, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "0ebe258ed33ea019236515697aaa370337569603", + "observed_at": "2026-04-30T13:46:33+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git", + "status_preview": [ + "M .gitignore", + " M README.md", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", + " M apps/intelligence-worker/package.json", + " M apps/intelligence-worker/schema.sql", + " M apps/intelligence-worker/src/index.js", + " M apps/intelligence-worker/src/intelligence-core.js" + ], + "target_name": "tudo-para-ia-intelligence-platform", + "upstream": "" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "0ebe258ed33ea019236515697aaa370337569603" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-intelligence-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-intelligence-platform", + "path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-intelligence-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-intelligence-plataform" + } + ], + "expected_name": "tudo-para-ia-intelligence-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-intelligence-platform", + "status": "exact", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-intelligence-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-intelligence-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-plataform" + } + ], + "expected_name": "tudo-para-ia-intelligence-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-intelligence-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "M .gitignore", + " M README.md", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", + " M apps/intelligence-worker/package.json", + " M apps/intelligence-worker/schema.sql", + " M apps/intelligence-worker/src/index.js", + " M apps/intelligence-worker/src/intelligence-core.js" + ], + "operation_id": "mesh-op-7eb4b941eceb", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-intelligence-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-43539e7f7909", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-intelligence-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-d613b4ef3042", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "operation_id": "mesh-op-67157e3dd5ca", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado", + "windows-primary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-286eb398adae", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "expected_local_name": "tudo-para-ia-mais-humana-plataform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-mais-humana", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo" + ], + "candidates": [ + { + "ahead": -1, + "behind": -1, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "3d2748adf5e011a7aa796fc2a5aed8e815dcb092", + "observed_at": "2026-04-30T13:46:34+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git", + "status_preview": [ + "M dados/budget-linhas-rodada.json", + " M dados/dossie-operacional-humano.json", + " M dados/governanca-operacional-compacta.json", + " M dados/governanca-operacional.json", + " M dados/grafo-evidencias.json", + " M dados/indice-evidencias.json", + " M dados/lifecycle-ordens-ativas.json", + " M dados/ordens-governanca-compiladas.json" + ], + "target_name": "tudo-para-ia-mais-humana-plataform", + "upstream": "" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": true, + "is_expected": true, + "name": "tudo-para-ia-mais-humana-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana-plataform" + }, + { + "exists": true, + "is_alias": true, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana-platform", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana-platform" + } + ], + "expected_name": "tudo-para-ia-mais-humana-plataform", + "next_action": "renomear pasta local com destino inexistente", + "reason": "pasta encontrada como tudo-para-ia-mais-humana, esperado tudo-para-ia-mais-humana-plataform", + "selected_name": "tudo-para-ia-mais-humana", + "status": "canonical_rename_required", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": true, + "is_expected": true, + "name": "tudo-para-ia-mais-humana-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + }, + { + "exists": false, + "is_alias": true, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-platform" + } + ], + "expected_name": "tudo-para-ia-mais-humana-plataform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-mais-humana-plataform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "M dados/budget-linhas-rodada.json", + " M dados/dossie-operacional-humano.json", + " M dados/governanca-operacional-compacta.json", + " M dados/governanca-operacional.json", + " M dados/grafo-evidencias.json", + " M dados/indice-evidencias.json", + " M dados/lifecycle-ordens-ativas.json", + " M dados/ordens-governanca-compiladas.json" + ], + "operation_id": "mesh-op-8edfc132f4f5", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-mais-humana-plataform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-4fa6dc0f1efa", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-a4610a39cb38", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "operation_id": "mesh-op-4fbfcbde3165", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Materializar espelho ausente sem sobrescrever destino" + }, + { + "automatic": false, + "commands": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'" + ], + "destructive": false, + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "G:\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "operation_id": "mesh-op-8e4636d9cead", + "preconditions": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "reason": "materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform", + "rollback": [ + "renomear de volta para alias anterior se validacao falhar: tudo-para-ia-mais-humana" + ], + "severity": "blocker", + "status": "manual_decision_required", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Reconciliar nomenclatura local/canonica" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform", + "repositorio declarado nao existe no ambiente observado", + "windows-primary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-aba57158afb9", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "expected_local_name": "tudo-para-ia-mcps-internos-plataform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-mcps-internos-plataform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 23, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2", + "observed_at": "2026-04-30T13:46:35+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-mcps-internos-plataform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "e47192610f41ba20511b8eea1ee7187959860f1e", + "observed_at": "2026-04-30T13:46:36+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-mcps-internos-plataform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "e47192610f41ba20511b8eea1ee7187959860f1e" + ], + "selected_environment": "windows-primary", + "selected_head": "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2", + "selected_path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-mcps-internos-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mcps-internos-platform", + "path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-platform" + } + ], + "expected_name": "tudo-para-ia-mcps-internos-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-mcps-internos-plataform", + "status": "exact", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-mcps-internos-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mcps-internos-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-platform" + } + ], + "expected_name": "tudo-para-ia-mcps-internos-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-mcps-internos-plataform", + "status": "exact", + "target_name": "tudo-para-ia-mcps-internos-plataform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-mcps-internos-plataform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-21e28a2e2dfd", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-95d30c400d99", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-a84946b8a14a", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "expected_local_name": "tudo-para-ia-platform-base", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-platform-base", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo", + "windows-secondary possui working tree sujo" + ], + "candidates": [ + { + "ahead": 2, + "behind": 2, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "086d86a8ac06fc6b05677a2a26d35d081bcbfc39", + "observed_at": "2026-04-30T13:46:36+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git", + "status_preview": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M apps/platform-shell/src/shell/manifest.ts", + " M apps/platform-shell/src/shell/router.ts", + " M contracts/platform-derivation.contract.json" + ], + "target_name": "tudo-para-ia-platform-base", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 2, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "4f6e1590ddafd990da4fb07c50e97a545a05aa36", + "observed_at": "2026-04-30T13:46:37+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git", + "status_preview": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md" + ], + "target_name": "tudo-para-ia-platform-base", + "upstream": "origin/main" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "086d86a8ac06fc6b05677a2a26d35d081bcbfc39", + "4f6e1590ddafd990da4fb07c50e97a545a05aa36" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-platform-base" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-platform-base", + "path": "G:\\_codex-git\\tudo-para-ia-platform-base" + } + ], + "expected_name": "tudo-para-ia-platform-base", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-platform-base", + "status": "exact", + "target_name": "tudo-para-ia-platform-base" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-platform-base", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base" + } + ], + "expected_name": "tudo-para-ia-platform-base", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-platform-base", + "status": "exact", + "target_name": "tudo-para-ia-platform-base" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-platform-base", + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M apps/platform-shell/src/shell/manifest.ts", + " M apps/platform-shell/src/shell/router.ts", + " M contracts/platform-derivation.contract.json" + ], + "operation_id": "mesh-op-451f7c3dd283", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md" + ], + "operation_id": "mesh-op-f69abebf1ff4", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-platform-base", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-35575fdcf53e", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-platform-base", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-60eb5aacee41", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "windows-primary possui working tree sujo", + "windows-secondary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-432e0adc6f8b", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "expected_local_name": "tudo-para-ia-public-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-public-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 9, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42", + "observed_at": "2026-04-30T13:46:38+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-public-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-public-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-public-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42", + "selected_path": "G:\\_codex-git\\tudo-para-ia-public-platform", + "target_name": "tudo-para-ia-public-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-public-platform", + "path": "G:\\_codex-git\\tudo-para-ia-public-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-public-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-public-plataform" + } + ], + "expected_name": "tudo-para-ia-public-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-public-platform", + "status": "exact", + "target_name": "tudo-para-ia-public-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-public-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-public-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-plataform" + } + ], + "expected_name": "tudo-para-ia-public-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-public-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-public-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-56670cc10694", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-public-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-public-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-5421845d6647", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-public-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "operation_id": "mesh-op-a512cf3c15d6", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-public-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-6cf5fadc238f", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-public-platform" + }, + { + "expected_local_name": "tudo-para-ia-stj-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-stj-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 7, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7", + "observed_at": "2026-04-30T13:46:39+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-stj-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-stj-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "b13e6c9464661885d31d2ae7d295ec5667927056", + "observed_at": "2026-04-30T13:46:40+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-stj-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "b13e6c9464661885d31d2ae7d295ec5667927056" + ], + "selected_environment": "windows-primary", + "selected_head": "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7", + "selected_path": "G:\\_codex-git\\tudo-para-ia-stj-platform", + "target_name": "tudo-para-ia-stj-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-stj-platform", + "path": "G:\\_codex-git\\tudo-para-ia-stj-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-stj-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-stj-plataform" + } + ], + "expected_name": "tudo-para-ia-stj-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-stj-platform", + "status": "exact", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-stj-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-stj-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-plataform" + } + ], + "expected_name": "tudo-para-ia-stj-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-stj-platform", + "status": "exact", + "target_name": "tudo-para-ia-stj-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-stj-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-741697842896", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-stj-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-stj-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-2e71dfc6b5b7", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-stj-platform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-bb026d9866c6", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "expected_local_name": "tudo-para-ia-ui-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-ui-platform", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo" + ], + "candidates": [ + { + "ahead": -1, + "behind": -1, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "64e52f8949ebb2dee28e14ac0316a596d6fe77e9", + "observed_at": "2026-04-30T13:46:41+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-ui-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git", + "status_preview": [ + "M apps/ui-platform/index.html", + " M apps/ui-platform/src/app.js", + " M apps/ui-platform/src/contract-data.js", + " M apps/ui-platform/src/styles.css", + " M package.json", + " M packages/mcp-ready/src/index.mjs", + " M packages/ui-governance/src/index.mjs", + " M packages/ui-governance/src/semantic-registry.mjs" + ], + "target_name": "tudo-para-ia-ui-platform", + "upstream": "" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "64e52f8949ebb2dee28e14ac0316a596d6fe77e9" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-ui-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-ui-platform", + "path": "G:\\_codex-git\\tudo-para-ia-ui-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-ui-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-ui-plataform" + } + ], + "expected_name": "tudo-para-ia-ui-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-ui-platform", + "status": "exact", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-ui-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-ui-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-plataform" + } + ], + "expected_name": "tudo-para-ia-ui-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-ui-platform", + "M apps/ui-platform/index.html", + " M apps/ui-platform/src/app.js", + " M apps/ui-platform/src/contract-data.js", + " M apps/ui-platform/src/styles.css", + " M package.json", + " M packages/mcp-ready/src/index.mjs", + " M packages/ui-governance/src/index.mjs", + " M packages/ui-governance/src/semantic-registry.mjs" + ], + "operation_id": "mesh-op-d24510e46fcd", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-ui-platform", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-ui-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-7b801670d5d2", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-ui-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-ui-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-894c832cefcb", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-ui-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "operation_id": "mesh-op-4f13abbae981", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-ui-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado", + "windows-primary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-b9242d750d57", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "renameReadyCount": 0, + "reportId": "repository-mesh-25823a78b901" +} \ No newline at end of file diff --git a/dados/repository-mesh-reconciliation.json b/dados/repository-mesh-reconciliation.json new file mode 100644 index 0000000..e8dde29 --- /dev/null +++ b/dados/repository-mesh-reconciliation.json @@ -0,0 +1,2813 @@ +{ + "generated_at": "2026-04-30T13:46:41+00:00", + "plan_id": "mesh-plan-5c7e3edb6b33", + "receipts": [ + { + "expected_local_name": "tudo-para-ia-business-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-business-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 9, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "cee7e824559832f3e36492dfadf0777d605afee8", + "observed_at": "2026-04-30T13:46:22+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-business-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-business-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "3eae5dd9a54263c668a347e4f10bb45a707515ac", + "observed_at": "2026-04-30T13:46:23+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-business-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-business-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "3eae5dd9a54263c668a347e4f10bb45a707515ac" + ], + "selected_environment": "windows-primary", + "selected_head": "cee7e824559832f3e36492dfadf0777d605afee8", + "selected_path": "G:\\_codex-git\\tudo-para-ia-business-platform", + "target_name": "tudo-para-ia-business-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-business-platform", + "path": "G:\\_codex-git\\tudo-para-ia-business-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-business-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-business-plataform" + } + ], + "expected_name": "tudo-para-ia-business-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-business-platform", + "status": "exact", + "target_name": "tudo-para-ia-business-platform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-business-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-business-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-business-plataform" + } + ], + "expected_name": "tudo-para-ia-business-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-business-platform", + "status": "exact", + "target_name": "tudo-para-ia-business-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-business-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-9d4d8c5516d0", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-business-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-business-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-09136c8c3b10", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-business-platform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-a49d74c8be8d", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-business-platform" + }, + { + "expected_local_name": "tudo-para-ia-compliance-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-compliance-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 7, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "7e88a2beb57ecb4a07534733638110b999dce561", + "observed_at": "2026-04-30T13:46:24+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-compliance-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "7e88a2beb57ecb4a07534733638110b999dce561", + "selected_path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", + "target_name": "tudo-para-ia-compliance-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-compliance-platform", + "path": "G:\\_codex-git\\tudo-para-ia-compliance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-compliance-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-compliance-plataform" + } + ], + "expected_name": "tudo-para-ia-compliance-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-compliance-platform", + "status": "exact", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-compliance-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-compliance-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-plataform" + } + ], + "expected_name": "tudo-para-ia-compliance-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-compliance-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-compliance-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-83c78317fdd2", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-compliance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-compliance-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-6dfa312564dd", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-compliance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "operation_id": "mesh-op-3db32380ccae", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-compliance-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-4cb873ce1328", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "expected_local_name": "tudo-para-ia-customer-ops-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-customer-ops-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 7, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "ef83587577f93ed6df086db39975c83e1216edac", + "observed_at": "2026-04-30T13:46:24+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "remote": "https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-customer-ops-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "ef83587577f93ed6df086db39975c83e1216edac", + "selected_path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-customer-ops-platform", + "path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-customer-ops-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-customer-ops-plataform" + } + ], + "expected_name": "tudo-para-ia-customer-ops-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-customer-ops-platform", + "status": "exact", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-customer-ops-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-customer-ops-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-plataform" + } + ], + "expected_name": "tudo-para-ia-customer-ops-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-customer-ops-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-customer-ops-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-37369c19cea4", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-customer-ops-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-c49fe31f6a9c", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "operation_id": "mesh-op-68811b9b3d72", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + }, + { + "automatic": false, + "commands": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "destructive": false, + "evidence": [ + "https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git", + "https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git" + ], + "operation_id": "mesh-op-48963a24e980", + "preconditions": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "reason": "remote origin nao corresponde ao Gitea esperado", + "rollback": [ + "git remote set-url origin " + ], + "severity": "warning", + "status": "remote_mismatch", + "target_name": "tudo-para-ia-customer-ops-platform", + "title": "Corrigir remote origin divergente" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado", + "remote origin nao corresponde ao Gitea esperado" + ], + "receipt_id": "mesh-receipt-76d38c9b58b4", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "expected_local_name": "tudo-para-ia-docs-plataform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-docs-plataform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 11, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "80095cd75b612ce09b704bc00bf54dbdc59ccdf3", + "observed_at": "2026-04-30T13:46:25+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-docs-plataform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "ef25192b7c4169027aa296ce3450e1a94b4f5912", + "observed_at": "2026-04-30T13:46:26+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-docs-plataform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "ef25192b7c4169027aa296ce3450e1a94b4f5912" + ], + "selected_environment": "windows-primary", + "selected_head": "80095cd75b612ce09b704bc00bf54dbdc59ccdf3", + "selected_path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", + "target_name": "tudo-para-ia-docs-plataform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-docs-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-docs-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-docs-platform", + "path": "G:\\_codex-git\\tudo-para-ia-docs-platform" + } + ], + "expected_name": "tudo-para-ia-docs-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-docs-plataform", + "status": "exact", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-docs-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-docs-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-docs-platform" + } + ], + "expected_name": "tudo-para-ia-docs-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-docs-plataform", + "status": "exact", + "target_name": "tudo-para-ia-docs-plataform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-docs-plataform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-86c156434b88", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-docs-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-docs-plataform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-b3c0ebd33384", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-docs-plataform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-4d709e26bc96", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "expected_local_name": "tudo-para-ia-finance-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-finance-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 2, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884", + "observed_at": "2026-04-30T13:46:27+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-finance-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-finance-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884", + "selected_path": "G:\\_codex-git\\tudo-para-ia-finance-platform", + "target_name": "tudo-para-ia-finance-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-finance-platform", + "path": "G:\\_codex-git\\tudo-para-ia-finance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-finance-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-finance-plataform" + } + ], + "expected_name": "tudo-para-ia-finance-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-finance-platform", + "status": "exact", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-finance-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-finance-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-plataform" + } + ], + "expected_name": "tudo-para-ia-finance-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-finance-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-finance-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-d8f16e6a31ac", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-finance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-finance-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-494de8609ff1", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-finance-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "operation_id": "mesh-op-2807468aa5bb", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-finance-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-92c0d80b1a54", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "expected_local_name": "tudo-para-ia-gettys-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-gettys-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 9, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "9d0c4c2594d019e70568f21c23b04e4693225ce1", + "observed_at": "2026-04-30T13:46:28+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-gettys-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "9d0c4c2594d019e70568f21c23b04e4693225ce1", + "selected_path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", + "target_name": "tudo-para-ia-gettys-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-gettys-platform", + "path": "G:\\_codex-git\\tudo-para-ia-gettys-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-gettys-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-gettys-plataform" + } + ], + "expected_name": "tudo-para-ia-gettys-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-gettys-platform", + "status": "exact", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-gettys-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-gettys-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-plataform" + } + ], + "expected_name": "tudo-para-ia-gettys-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-gettys-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-gettys-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-819094aeb896", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-gettys-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-gettys-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-b951fe01e43c", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-gettys-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "operation_id": "mesh-op-bff90770061e", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-gettys-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-d83d967d1f2b", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "expected_local_name": "tudo-para-ia-identity-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-identity-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 12, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "cdfe78714d61bf36793d38bdadf2fcd736ae08c1", + "observed_at": "2026-04-30T13:46:29+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-identity-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-identity-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "ecc93e089819958d25325334d6aacae943245644", + "observed_at": "2026-04-30T13:46:30+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-identity-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "ecc93e089819958d25325334d6aacae943245644" + ], + "selected_environment": "windows-primary", + "selected_head": "cdfe78714d61bf36793d38bdadf2fcd736ae08c1", + "selected_path": "G:\\_codex-git\\tudo-para-ia-identity-platform", + "target_name": "tudo-para-ia-identity-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-identity-platform", + "path": "G:\\_codex-git\\tudo-para-ia-identity-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-identity-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-identity-plataform" + } + ], + "expected_name": "tudo-para-ia-identity-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-identity-platform", + "status": "exact", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-identity-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-identity-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-identity-plataform" + } + ], + "expected_name": "tudo-para-ia-identity-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-identity-platform", + "status": "exact", + "target_name": "tudo-para-ia-identity-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-identity-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-6b5c33b2116e", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-identity-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-identity-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-a4a666c5ca74", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-identity-platform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-6d5b2c3fcbf8", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "expected_local_name": "tudo-para-ia-integracoes-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-integracoes-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 24, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "6371413be59b2d4dbea347b7305db0f15c8f0c28", + "observed_at": "2026-04-30T13:46:31+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-integracoes-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4", + "observed_at": "2026-04-30T13:46:32+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-integracoes-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "selected_environment": "windows-primary", + "selected_head": "6371413be59b2d4dbea347b7305db0f15c8f0c28", + "selected_path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-integracoes-platform", + "path": "G:\\_codex-git\\tudo-para-ia-integracoes-platform" + }, + { + "exists": true, + "is_alias": true, + "is_canonical": true, + "is_expected": false, + "name": "tudo-para-ia-integracoes-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform" + } + ], + "expected_name": "tudo-para-ia-integracoes-platform", + "next_action": "renomear pasta local com destino inexistente", + "reason": "pasta encontrada como tudo-para-ia-integracoes-plataform, esperado tudo-para-ia-integracoes-platform", + "selected_name": "tudo-para-ia-integracoes-plataform", + "status": "canonical_rename_required", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-integracoes-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-platform" + }, + { + "exists": true, + "is_alias": true, + "is_canonical": true, + "is_expected": false, + "name": "tudo-para-ia-integracoes-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform" + } + ], + "expected_name": "tudo-para-ia-integracoes-platform", + "next_action": "renomear pasta local com destino inexistente", + "reason": "pasta encontrada como tudo-para-ia-integracoes-plataform, esperado tudo-para-ia-integracoes-platform", + "selected_name": "tudo-para-ia-integracoes-plataform", + "status": "canonical_rename_required", + "target_name": "tudo-para-ia-integracoes-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-integracoes-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-aaa379546d21", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-integracoes-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-8d1f2acd452b", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "operation_id": "mesh-op-64e7a5d162a3", + "preconditions": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "reason": "remote origin nao corresponde ao Gitea esperado", + "rollback": [ + "git remote set-url origin " + ], + "severity": "warning", + "status": "remote_mismatch", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Corrigir remote origin divergente" + }, + { + "automatic": false, + "commands": [ + "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "destructive": false, + "evidence": [ + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git", + "https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git" + ], + "operation_id": "mesh-op-64e7a5d162a3", + "preconditions": [ + "registrar remote anterior", + "executar fetch apos ajuste", + "nao alterar branch nem working tree" + ], + "reason": "remote origin nao corresponde ao Gitea esperado", + "rollback": [ + "git remote set-url origin " + ], + "severity": "warning", + "status": "remote_mismatch", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Corrigir remote origin divergente" + }, + { + "automatic": true, + "commands": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\_codex-git\\tudo-para-ia-integracoes-platform", + "6371413be59b2d4dbea347b7305db0f15c8f0c28" + ], + "operation_id": "mesh-op-72e46290a482", + "preconditions": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "rollback": [ + "renomear de volta para alias anterior se validacao falhar: tudo-para-ia-integracoes-plataform" + ], + "severity": "warning", + "status": "nominal_rename_ready", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Reconciliar nomenclatura local/canonica" + }, + { + "automatic": true, + "commands": [ + "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'" + ], + "destructive": false, + "evidence": [ + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-platform", + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "operation_id": "mesh-op-196449c6b5bf", + "preconditions": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "reason": "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "rollback": [ + "renomear de volta para alias anterior se validacao falhar: tudo-para-ia-integracoes-plataform" + ], + "severity": "warning", + "status": "nominal_rename_ready", + "target_name": "tudo-para-ia-integracoes-platform", + "title": "Reconciliar nomenclatura local/canonica" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "remote origin nao corresponde ao Gitea esperado", + "materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-aaba6c30df14", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "expected_local_name": "tudo-para-ia-intelligence-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-intelligence-platform", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo" + ], + "candidates": [ + { + "ahead": -1, + "behind": -1, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "0ebe258ed33ea019236515697aaa370337569603", + "observed_at": "2026-04-30T13:46:33+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git", + "status_preview": [ + "M .gitignore", + " M README.md", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", + " M apps/intelligence-worker/package.json", + " M apps/intelligence-worker/schema.sql", + " M apps/intelligence-worker/src/index.js", + " M apps/intelligence-worker/src/intelligence-core.js" + ], + "target_name": "tudo-para-ia-intelligence-platform", + "upstream": "" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "0ebe258ed33ea019236515697aaa370337569603" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-intelligence-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-intelligence-platform", + "path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-intelligence-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-intelligence-plataform" + } + ], + "expected_name": "tudo-para-ia-intelligence-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-intelligence-platform", + "status": "exact", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-intelligence-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-intelligence-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-plataform" + } + ], + "expected_name": "tudo-para-ia-intelligence-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-intelligence-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-intelligence-platform", + "M .gitignore", + " M README.md", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", + " M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", + " M apps/intelligence-worker/package.json", + " M apps/intelligence-worker/schema.sql", + " M apps/intelligence-worker/src/index.js", + " M apps/intelligence-worker/src/intelligence-core.js" + ], + "operation_id": "mesh-op-7eb4b941eceb", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-intelligence-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-43539e7f7909", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-intelligence-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-d613b4ef3042", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "operation_id": "mesh-op-67157e3dd5ca", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-intelligence-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado", + "windows-primary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-286eb398adae", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "expected_local_name": "tudo-para-ia-mais-humana-plataform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-mais-humana", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo" + ], + "candidates": [ + { + "ahead": -1, + "behind": -1, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "3d2748adf5e011a7aa796fc2a5aed8e815dcb092", + "observed_at": "2026-04-30T13:46:34+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git", + "status_preview": [ + "M dados/budget-linhas-rodada.json", + " M dados/dossie-operacional-humano.json", + " M dados/governanca-operacional-compacta.json", + " M dados/governanca-operacional.json", + " M dados/grafo-evidencias.json", + " M dados/indice-evidencias.json", + " M dados/lifecycle-ordens-ativas.json", + " M dados/ordens-governanca-compiladas.json" + ], + "target_name": "tudo-para-ia-mais-humana-plataform", + "upstream": "" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": true, + "is_expected": true, + "name": "tudo-para-ia-mais-humana-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana-plataform" + }, + { + "exists": true, + "is_alias": true, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana-platform", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana-platform" + } + ], + "expected_name": "tudo-para-ia-mais-humana-plataform", + "next_action": "renomear pasta local com destino inexistente", + "reason": "pasta encontrada como tudo-para-ia-mais-humana, esperado tudo-para-ia-mais-humana-plataform", + "selected_name": "tudo-para-ia-mais-humana", + "status": "canonical_rename_required", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": true, + "is_expected": true, + "name": "tudo-para-ia-mais-humana-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + }, + { + "exists": false, + "is_alias": true, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mais-humana-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-platform" + } + ], + "expected_name": "tudo-para-ia-mais-humana-plataform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-mais-humana-plataform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "M dados/budget-linhas-rodada.json", + " M dados/dossie-operacional-humano.json", + " M dados/governanca-operacional-compacta.json", + " M dados/governanca-operacional.json", + " M dados/grafo-evidencias.json", + " M dados/indice-evidencias.json", + " M dados/lifecycle-ordens-ativas.json", + " M dados/ordens-governanca-compiladas.json" + ], + "operation_id": "mesh-op-8edfc132f4f5", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-mais-humana-plataform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-4fa6dc0f1efa", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-a4610a39cb38", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "operation_id": "mesh-op-4fbfcbde3165", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Materializar espelho ausente sem sobrescrever destino" + }, + { + "automatic": false, + "commands": [ + "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'" + ], + "destructive": false, + "evidence": [ + "G:\\_codex-git\\tudo-para-ia-mais-humana", + "G:\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "operation_id": "mesh-op-8e4636d9cead", + "preconditions": [ + "confirmar destino inexistente", + "registrar hash HEAD antes do renome" + ], + "reason": "materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform", + "rollback": [ + "renomear de volta para alias anterior se validacao falhar: tudo-para-ia-mais-humana" + ], + "severity": "blocker", + "status": "manual_decision_required", + "target_name": "tudo-para-ia-mais-humana-plataform", + "title": "Reconciliar nomenclatura local/canonica" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform", + "repositorio declarado nao existe no ambiente observado", + "windows-primary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-aba57158afb9", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "expected_local_name": "tudo-para-ia-mcps-internos-plataform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-mcps-internos-plataform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 23, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2", + "observed_at": "2026-04-30T13:46:35+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-mcps-internos-plataform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "e47192610f41ba20511b8eea1ee7187959860f1e", + "observed_at": "2026-04-30T13:46:36+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git", + "status_preview": [], + "target_name": "tudo-para-ia-mcps-internos-plataform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "e47192610f41ba20511b8eea1ee7187959860f1e" + ], + "selected_environment": "windows-primary", + "selected_head": "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2", + "selected_path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-mcps-internos-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mcps-internos-platform", + "path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-platform" + } + ], + "expected_name": "tudo-para-ia-mcps-internos-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-mcps-internos-plataform", + "status": "exact", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-mcps-internos-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-plataform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-mcps-internos-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-mcps-internos-platform" + } + ], + "expected_name": "tudo-para-ia-mcps-internos-plataform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-mcps-internos-plataform", + "status": "exact", + "target_name": "tudo-para-ia-mcps-internos-plataform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-mcps-internos-plataform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-21e28a2e2dfd", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-mcps-internos-plataform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-95d30c400d99", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-a84946b8a14a", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "expected_local_name": "tudo-para-ia-platform-base", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-platform-base", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo", + "windows-secondary possui working tree sujo" + ], + "candidates": [ + { + "ahead": 2, + "behind": 2, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "086d86a8ac06fc6b05677a2a26d35d081bcbfc39", + "observed_at": "2026-04-30T13:46:36+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git", + "status_preview": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M apps/platform-shell/src/shell/manifest.ts", + " M apps/platform-shell/src/shell/router.ts", + " M contracts/platform-derivation.contract.json" + ], + "target_name": "tudo-para-ia-platform-base", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 2, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "4f6e1590ddafd990da4fb07c50e97a545a05aa36", + "observed_at": "2026-04-30T13:46:37+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-platform-base.git", + "status_preview": [ + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md" + ], + "target_name": "tudo-para-ia-platform-base", + "upstream": "origin/main" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "086d86a8ac06fc6b05677a2a26d35d081bcbfc39", + "4f6e1590ddafd990da4fb07c50e97a545a05aa36" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-platform-base" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-platform-base", + "path": "G:\\_codex-git\\tudo-para-ia-platform-base" + } + ], + "expected_name": "tudo-para-ia-platform-base", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-platform-base", + "status": "exact", + "target_name": "tudo-para-ia-platform-base" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-platform-base", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base" + } + ], + "expected_name": "tudo-para-ia-platform-base", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-platform-base", + "status": "exact", + "target_name": "tudo-para-ia-platform-base" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-platform-base", + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M apps/platform-shell/src/shell/manifest.ts", + " M apps/platform-shell/src/shell/router.ts", + " M contracts/platform-derivation.contract.json" + ], + "operation_id": "mesh-op-451f7c3dd283", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-platform-base", + "M .gitignore", + " M README.md", + " M apps/platform-shell/README.md", + " M apps/platform-shell/package.json", + " M apps/platform-shell/src/index.ts", + " M contracts/platform-derivation.contract.json", + " M contracts/platform-shell.contract.json", + " M docs/architecture.md" + ], + "operation_id": "mesh-op-f69abebf1ff4", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-platform-base", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-35575fdcf53e", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-platform-base", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-60eb5aacee41", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-platform-base", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "windows-primary possui working tree sujo", + "windows-secondary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-432e0adc6f8b", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-platform-base" + }, + { + "expected_local_name": "tudo-para-ia-public-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-public-platform", + "latest_state": { + "blockers": [], + "candidates": [ + { + "ahead": 9, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42", + "observed_at": "2026-04-30T13:46:38+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-public-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-public-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-public-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.75, + "precedence": "single_hash", + "reason": "todos os ambientes com HEAD confirmado apontam para o mesmo commit", + "rejected_heads": [], + "selected_environment": "windows-primary", + "selected_head": "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42", + "selected_path": "G:\\_codex-git\\tudo-para-ia-public-platform", + "target_name": "tudo-para-ia-public-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-public-platform", + "path": "G:\\_codex-git\\tudo-para-ia-public-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-public-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-public-plataform" + } + ], + "expected_name": "tudo-para-ia-public-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-public-platform", + "status": "exact", + "target_name": "tudo-para-ia-public-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-public-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-public-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-plataform" + } + ], + "expected_name": "tudo-para-ia-public-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-public-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-public-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-56670cc10694", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-public-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-public-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-5421845d6647", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-public-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "operation_id": "mesh-op-a512cf3c15d6", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-public-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado" + ], + "receipt_id": "mesh-receipt-6cf5fadc238f", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-public-platform" + }, + { + "expected_local_name": "tudo-para-ia-stj-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-stj-platform", + "latest_state": { + "blockers": [ + "push exige credencial e validacao de remoto antes de convergir" + ], + "candidates": [ + { + "ahead": 7, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7", + "observed_at": "2026-04-30T13:46:39+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-stj-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-stj-platform", + "upstream": "origin/main" + }, + { + "ahead": 0, + "behind": 0, + "branch": "main", + "cleanliness": "clean", + "environment_id": "windows-secondary", + "environment_kind": "windows_secondary", + "head": "b13e6c9464661885d31d2ae7d295ec5667927056", + "observed_at": "2026-04-30T13:46:40+00:00", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git", + "status_preview": [], + "target_name": "tudo-para-ia-stj-platform", + "upstream": "origin/main" + } + ], + "confidence": 0.72, + "precedence": "local_ahead", + "reason": "um ambiente possui commits locais a frente e nao ha behind registrado", + "rejected_heads": [ + "b13e6c9464661885d31d2ae7d295ec5667927056" + ], + "selected_environment": "windows-primary", + "selected_head": "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7", + "selected_path": "G:\\_codex-git\\tudo-para-ia-stj-platform", + "target_name": "tudo-para-ia-stj-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-stj-platform", + "path": "G:\\_codex-git\\tudo-para-ia-stj-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-stj-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-stj-plataform" + } + ], + "expected_name": "tudo-para-ia-stj-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-stj-platform", + "status": "exact", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-stj-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-stj-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-stj-plataform" + } + ], + "expected_name": "tudo-para-ia-stj-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-stj-platform", + "status": "exact", + "target_name": "tudo-para-ia-stj-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-stj-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-741697842896", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-stj-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-stj-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-2e71dfc6b5b7", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-stj-platform", + "title": "Executar inventario no ambiente inacessivel" + } + ], + "pending_items": [ + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "push exige credencial e validacao de remoto antes de convergir" + ], + "receipt_id": "mesh-receipt-bb026d9866c6", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "environment_blocked", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "expected_local_name": "tudo-para-ia-ui-platform", + "generated_at": "2026-04-30T13:46:41+00:00", + "gitea_repo": "admin/tudo-para-ia-ui-platform", + "latest_state": { + "blockers": [ + "windows-primary possui working tree sujo" + ], + "candidates": [ + { + "ahead": -1, + "behind": -1, + "branch": "main", + "cleanliness": "dirty", + "environment_id": "windows-primary", + "environment_kind": "windows_primary", + "head": "64e52f8949ebb2dee28e14ac0316a596d6fe77e9", + "observed_at": "2026-04-30T13:46:41+00:00", + "path": "G:\\_codex-git\\tudo-para-ia-ui-platform", + "remote": "https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git", + "status_preview": [ + "M apps/ui-platform/index.html", + " M apps/ui-platform/src/app.js", + " M apps/ui-platform/src/contract-data.js", + " M apps/ui-platform/src/styles.css", + " M package.json", + " M packages/mcp-ready/src/index.mjs", + " M packages/ui-governance/src/index.mjs", + " M packages/ui-governance/src/semantic-registry.mjs" + ], + "target_name": "tudo-para-ia-ui-platform", + "upstream": "" + } + ], + "confidence": 0.25, + "precedence": "dirty_tree", + "reason": "estado sujo impede declarar commit como fonte unica de verdade", + "rejected_heads": [ + "64e52f8949ebb2dee28e14ac0316a596d6fe77e9" + ], + "selected_environment": null, + "selected_head": null, + "selected_path": null, + "target_name": "tudo-para-ia-ui-platform" + }, + "naming_decisions": [ + { + "candidates": [ + { + "exists": true, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-ui-platform", + "path": "G:\\_codex-git\\tudo-para-ia-ui-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-ui-plataform", + "path": "G:\\_codex-git\\tudo-para-ia-ui-plataform" + } + ], + "expected_name": "tudo-para-ia-ui-platform", + "next_action": "manter monitoramento", + "reason": "nome esperado ja esta materializado", + "selected_name": "tudo-para-ia-ui-platform", + "status": "exact", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "candidates": [ + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": true, + "name": "tudo-para-ia-ui-platform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + }, + { + "exists": false, + "is_alias": false, + "is_canonical": false, + "is_expected": false, + "name": "tudo-para-ia-ui-plataform", + "path": "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-plataform" + } + ], + "expected_name": "tudo-para-ia-ui-platform", + "next_action": "clonar ou materializar espelho sem sobrescrever destino", + "reason": "nenhuma variante nominal foi encontrada", + "selected_name": null, + "status": "missing", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "operations": [ + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "windows-primary", + "G:\\_codex-git\\tudo-para-ia-ui-platform", + "M apps/ui-platform/index.html", + " M apps/ui-platform/src/app.js", + " M apps/ui-platform/src/contract-data.js", + " M apps/ui-platform/src/styles.css", + " M package.json", + " M packages/mcp-ready/src/index.mjs", + " M packages/ui-governance/src/index.mjs", + " M packages/ui-governance/src/semantic-registry.mjs" + ], + "operation_id": "mesh-op-d24510e46fcd", + "preconditions": [ + "registrar diff", + "commit ou stash consciente", + "decidir precedencia antes de pull/merge" + ], + "reason": "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "rollback": [], + "severity": "blocker", + "status": "dirty_blocked", + "target_name": "tudo-para-ia-ui-platform", + "title": "Bloquear sincronizacao destrutiva por working tree sujo" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "codex-server", + "\\root\\__gpt-codex\\tudo-para-ia-ui-platform", + "ambiente nao acessivel a partir desta sessao: /root/__gpt-codex" + ], + "operation_id": "mesh-op-7b801670d5d2", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-ui-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [], + "destructive": false, + "evidence": [ + "gitlab-server", + "\\root\\_codex-git\\tudo-para-ia-ui-platform", + "ambiente nao acessivel a partir desta sessao: /root/_codex-git" + ], + "operation_id": "mesh-op-894c832cefcb", + "preconditions": [ + "abrir sessao no host correspondente", + "rodar mais_humana.cli repo-mesh localmente" + ], + "reason": "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "rollback": [], + "severity": "blocker", + "status": "environment_blocked", + "target_name": "tudo-para-ia-ui-platform", + "title": "Executar inventario no ambiente inacessivel" + }, + { + "automatic": false, + "commands": [ + "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "destructive": false, + "evidence": [ + "windows-secondary", + "G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "operation_id": "mesh-op-4f13abbae981", + "preconditions": [ + "confirmar que o destino ainda nao existe", + "confirmar credencial Git", + "registrar hash remoto antes do clone" + ], + "reason": "repositorio declarado nao existe no ambiente observado", + "rollback": [ + "remover clone recem-criado somente se vazio e sem alteracao local: G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform" + ], + "severity": "warning", + "status": "missing_materialization", + "target_name": "tudo-para-ia-ui-platform", + "title": "Materializar espelho ausente sem sobrescrever destino" + } + ], + "pending_items": [ + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + "repositorio declarado nao existe no ambiente observado", + "windows-primary possui working tree sujo" + ], + "receipt_id": "mesh-receipt-b9242d750d57", + "risk": "blocked", + "safe_to_auto_sync": false, + "status": "dirty_blocked", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "report_id": "repository-mesh-25823a78b901", + "summary": [ + "recibos: 15", + "auto_sync_ready: 0", + "bloqueados: 15", + "renomes_prontos: 0", + "credenciais_pendentes: 0" + ] +} \ No newline at end of file diff --git a/dados/repository-mesh-runtime-cycle.json b/dados/repository-mesh-runtime-cycle.json new file mode 100644 index 0000000..b92cdb6 --- /dev/null +++ b/dados/repository-mesh-runtime-cycle.json @@ -0,0 +1,4890 @@ +{ + "commands": [ + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-e4ec84db2a60", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d74173010dba", + "target_name": "tudo-para-ia-business-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-f19f94b70f56", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-61bb08f62bc5", + "target_name": "tudo-para-ia-business-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-7b36c4533dd8", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a6131408e2be", + "target_name": "tudo-para-ia-business-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-5e211e889540", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d2727fbc94ef", + "target_name": "tudo-para-ia-business-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-5ee5986fdf51", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e331b3e4c497", + "target_name": "tudo-para-ia-business-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-423145a6d0e8", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-7d8f74aaca89", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-71d036683e5b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-cf83302e51c3", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform", + "command_id": "mesh-cmd-b9c681381a3a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a53a11cbd26e", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-a586dddb0a77", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6903dd01bc1f", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-ccb166106aba", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6e50d3c37aeb", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git", + "command_id": "mesh-cmd-eea4537abff8", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9dc31ae75f1a", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-c262c4658caf", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-742544266379", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-a68639499e6e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9c34fd44f893", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform", + "command_id": "mesh-cmd-add1ff5fa96f", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-2e66e9903b00", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-80d6713d0cfd", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d681ca4be32c", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-805f8f4bbd76", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a2aae3a00161", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-73730d14fdba", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-c074a7454c85", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-da95ddde41be", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-604e958b1ab4", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-514b6268e4bb", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-c22d79c0aa76", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-f0d93b3e060c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9be03dcb6263", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-1255bbc8c142", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-258528af32fb", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-a6d12ec840d2", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-de5a018ad5cc", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-225241e0d540", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9acb48b0d9c1", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform", + "command_id": "mesh-cmd-d47969b23342", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-54a43adcdbd5", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-4684afbe55ad", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-fdf8583a2010", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-fd8f49e36633", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-04ed792cb988", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-5aa4c6e28ab0", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-24d6e2c4fde2", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-2c181bf0942f", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-8a4690c9c29d", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform", + "command_id": "mesh-cmd-6bfeb8631e3e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9e56eaf27ed5", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-597014a83640", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-2a2fb7bc0dab", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-bd0f8e1cc9ae", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d794140f218c", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-4a327599000a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-7459c55a5946", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-58dbefef493d", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-bf839e1eb7da", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-9f7e418a088c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-ddc7a0df464a", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-22e0aad14848", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-3fa1024c9e04", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-d6cdd3ac798d", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-434fa6be1041", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-3b9beaf69194", + "destructive": false, + "gates": [ + "command_not_destructive", + "action_marked_automatic" + ], + "source_id": "mesh-action-2c3c0959aa7f", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "command_id": "mesh-cmd-352c0963c073", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-8af64b1a2f4d", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-12f98a68e313", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5675b953c348", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-3fb73957c9a4", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9d7038836e52", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-bdd4005ad860", + "destructive": false, + "gates": [ + "command_not_destructive", + "action_marked_automatic" + ], + "source_id": "mesh-action-c9373212b179", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "command_id": "mesh-cmd-95c9bc18f0a4", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-dea83db8f4af", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-db5a3219dac3", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a26163e6be59", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-f97282844432", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-3db4026be62c", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-36822e8ba4cb", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-110e2ce0a0e4", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-22326ccfb83b", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-ac5c851fb706", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-9d54f9e504cf", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-93207ce20f3a", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform", + "command_id": "mesh-cmd-af5f5cd74777", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-942654e26e71", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-839093653909", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-343284eab795", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-40edb69c194b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-f82ec42b3d5d", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'", + "command_id": "mesh-cmd-6255c2bae03a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e192f87b36dd", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-32e4dec1f2ad", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e2c2d471cf6d", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-d005d26e4507", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6a6eaffcbdfa", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "command_id": "mesh-cmd-a8e2cb30f899", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-20aa91944451", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-ced2cd7ee587", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-93f6afb07054", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-77eb071843df", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-15516f4541ca", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-212890f569ac", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-85067efca878", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-f00e2f2b5a13", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-09c924f2d891", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-ccbf2ba21cfe", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5b157361e3ee", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-989d9bfffca1", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d9abe9c7fbe5", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-68a503359067", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-b15f913f3744", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-7a4abb4052a5", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-37f9a53424f8", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-d6bd65a36d33", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-22ba67fa8757", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-e00cbdd357ec", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e16f250cddb5", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-337d21270eb3", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-971fc22703f5", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git fetch --all --prune", + "command_id": "mesh-cmd-21edb6a12935", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5ef117e15bae", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git merge --ff-only @{u}", + "command_id": "mesh-cmd-7b722c9cfabf", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5ef117e15bae", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-79d4e8de607c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-75f9e9dfb259", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-1241c2027936", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-0f86f1adcf16", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-82cdc2ace254", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6bfd95e48bda", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-8fd4572e582d", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-529d66b23bb2", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-99e72700ed27", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-917cb9437e58", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform", + "command_id": "mesh-cmd-fa0891c72b3b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-50b573a8a933", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-42bd692fb74f", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9f5e32a23747", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-96378f20554e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-b6eacc950f4a", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-63e5ddb231f5", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-37ac595b246b", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-8aea602c2ebc", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d0bbf9052ed8", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-c1abdd1982dd", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-2a5a6ae13064", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-c00802173a2c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-78a22f74add8", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-2a239a6a2343", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-999e2c9f4df6", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-094378ab6a9f", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-22557e2b043e", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-73441c1fda84", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-59ea5ecc1144", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform", + "command_id": "mesh-cmd-a5e53f621b3b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a4f095a0431b", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-b38559ff09ae", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-dae55776e43a", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-3a3bcb208e26", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-ff4124206ec5", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-ada5edfaeaef", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-9d4d8c5516d0", + "target_name": "tudo-para-ia-business-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-3882ef8a5e40", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-09136c8c3b10", + "target_name": "tudo-para-ia-business-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-00dd93036fa4", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-83c78317fdd2", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-2dbaa7029197", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-6dfa312564dd", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform", + "command_id": "mesh-cmd-2a930c379869", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-3db32380ccae", + "target_name": "tudo-para-ia-compliance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-60aa3f6de597", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-37369c19cea4", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-fa5f404afa23", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-c49fe31f6a9c", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform", + "command_id": "mesh-cmd-3bb1ecaaae34", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-68811b9b3d72", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git", + "command_id": "mesh-cmd-fe01ddf5c6a0", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-48963a24e980", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5e45497ba684", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-86c156434b88", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-684256f37755", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-b3c0ebd33384", + "target_name": "tudo-para-ia-docs-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5b9a9c41bf01", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-d8f16e6a31ac", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-6d3690f641af", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-494de8609ff1", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform", + "command_id": "mesh-cmd-b745c12ed476", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-2807468aa5bb", + "target_name": "tudo-para-ia-finance-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-45a9eed44a7e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-819094aeb896", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5b8ac53a19ed", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-b951fe01e43c", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform", + "command_id": "mesh-cmd-395dfcfd8e42", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-bff90770061e", + "target_name": "tudo-para-ia-gettys-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5426657b743e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-6b5c33b2116e", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-6f14424c2f4b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-a4a666c5ca74", + "target_name": "tudo-para-ia-identity-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-a8ac38969154", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-aaa379546d21", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-963f9406d03b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-8d1f2acd452b", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "command_id": "mesh-cmd-c893f61203ce", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-64e7a5d162a3", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-843da2c57d4d", + "destructive": false, + "gates": [ + "command_not_destructive", + "operation_not_destructive" + ], + "source_id": "mesh-op-72e46290a482", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-31db7c79403d", + "destructive": false, + "gates": [ + "command_not_destructive", + "operation_not_destructive" + ], + "source_id": "mesh-op-196449c6b5bf", + "target_name": "tudo-para-ia-integracoes-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-16cf121d9cc5", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-7eb4b941eceb", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-9da5aa1dab0e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-43539e7f7909", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-b7ccc783e630", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-d613b4ef3042", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform", + "command_id": "mesh-cmd-9b4178393776", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-67157e3dd5ca", + "target_name": "tudo-para-ia-intelligence-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-09bc491a881a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-8edfc132f4f5", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-54d9bc1bd126", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-4fa6dc0f1efa", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-d07ffe69c1e1", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-a4610a39cb38", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "command_id": "mesh-cmd-3c82f266af80", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-4fbfcbde3165", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'", + "command_id": "mesh-cmd-7940ca5e22b7", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-8e4636d9cead", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-efb5827d8f1e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-21e28a2e2dfd", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-ecf6bd1833df", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-95d30c400d99", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-9e0d29bccca5", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-451f7c3dd283", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-5350e32b2c3e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-f69abebf1ff4", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-c0cdffdcc75b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-35575fdcf53e", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5640b9cbec2a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-60eb5aacee41", + "target_name": "tudo-para-ia-platform-base" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-b2fa6177cadd", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-56670cc10694", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-4d33f29a2298", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-5421845d6647", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform", + "command_id": "mesh-cmd-34eb4e463b68", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-a512cf3c15d6", + "target_name": "tudo-para-ia-public-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-81509d5b84f9", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-741697842896", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-6651be9af31e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-2e71dfc6b5b7", + "target_name": "tudo-para-ia-stj-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-eb31b8ecc823", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-d24510e46fcd", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-07f51a114099", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-7b801670d5d2", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-ef3c4790a08e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-894c832cefcb", + "target_name": "tudo-para-ia-ui-platform" + }, + { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform", + "command_id": "mesh-cmd-abc9c2cceb7a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-4f13abbae981", + "target_name": "tudo-para-ia-ui-platform" + } + ], + "cycle_id": "mesh-cycle-7634bd77674c", + "generated_at": "2026-04-30T13:46:41+00:00", + "lock": { + "acquired_at": "2026-04-30T13:46:41+00:00", + "expires_after_seconds": 600, + "lock_id": "mesh-lock-328aaff7aaa6", + "message": "lock antigo estava ausente, invalido ou expirado", + "owner": "mais_humana.cli.repo-mesh", + "path": "G:\\_codex-git\\tudo-para-ia-mais-humana\\dados\\repository-mesh.lock.json", + "status": "stale_replaced" + }, + "plan_id": "mesh-plan-5c7e3edb6b33", + "report_id": "repository-mesh-25823a78b901", + "results": [ + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-e4ec84db2a60", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d74173010dba", + "target_name": "tudo-para-ia-business-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-f19f94b70f56", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-61bb08f62bc5", + "target_name": "tudo-para-ia-business-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-7b36c4533dd8", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a6131408e2be", + "target_name": "tudo-para-ia-business-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-5e211e889540", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d2727fbc94ef", + "target_name": "tudo-para-ia-business-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-5ee5986fdf51", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e331b3e4c497", + "target_name": "tudo-para-ia-business-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-423145a6d0e8", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-7d8f74aaca89", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-71d036683e5b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-cf83302e51c3", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform", + "command_id": "mesh-cmd-b9c681381a3a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a53a11cbd26e", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-a586dddb0a77", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6903dd01bc1f", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-ccb166106aba", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6e50d3c37aeb", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git", + "command_id": "mesh-cmd-eea4537abff8", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9dc31ae75f1a", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-c262c4658caf", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-742544266379", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-a68639499e6e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9c34fd44f893", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform", + "command_id": "mesh-cmd-add1ff5fa96f", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-2e66e9903b00", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-80d6713d0cfd", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d681ca4be32c", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-805f8f4bbd76", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a2aae3a00161", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-73730d14fdba", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-c074a7454c85", + "target_name": "tudo-para-ia-docs-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-da95ddde41be", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-604e958b1ab4", + "target_name": "tudo-para-ia-docs-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-514b6268e4bb", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-c22d79c0aa76", + "target_name": "tudo-para-ia-docs-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-f0d93b3e060c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9be03dcb6263", + "target_name": "tudo-para-ia-docs-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-1255bbc8c142", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-258528af32fb", + "target_name": "tudo-para-ia-docs-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-a6d12ec840d2", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-de5a018ad5cc", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-225241e0d540", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9acb48b0d9c1", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform", + "command_id": "mesh-cmd-d47969b23342", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-54a43adcdbd5", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-4684afbe55ad", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-fdf8583a2010", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-fd8f49e36633", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-04ed792cb988", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-5aa4c6e28ab0", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-24d6e2c4fde2", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-2c181bf0942f", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-8a4690c9c29d", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform", + "command_id": "mesh-cmd-6bfeb8631e3e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9e56eaf27ed5", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-597014a83640", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-2a2fb7bc0dab", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-bd0f8e1cc9ae", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d794140f218c", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-4a327599000a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-7459c55a5946", + "target_name": "tudo-para-ia-identity-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-58dbefef493d", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-bf839e1eb7da", + "target_name": "tudo-para-ia-identity-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-9f7e418a088c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-ddc7a0df464a", + "target_name": "tudo-para-ia-identity-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-22e0aad14848", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-3fa1024c9e04", + "target_name": "tudo-para-ia-identity-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-d6cdd3ac798d", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-434fa6be1041", + "target_name": "tudo-para-ia-identity-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-3b9beaf69194", + "destructive": false, + "gates": [ + "command_not_destructive", + "action_marked_automatic" + ], + "source_id": "mesh-action-2c3c0959aa7f", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "allowed", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "command_id": "mesh-cmd-352c0963c073", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-8af64b1a2f4d", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-12f98a68e313", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5675b953c348", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-3fb73957c9a4", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9d7038836e52", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-bdd4005ad860", + "destructive": false, + "gates": [ + "command_not_destructive", + "action_marked_automatic" + ], + "source_id": "mesh-action-c9373212b179", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "allowed", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "command_id": "mesh-cmd-95c9bc18f0a4", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-dea83db8f4af", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-db5a3219dac3", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a26163e6be59", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-f97282844432", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-3db4026be62c", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-36822e8ba4cb", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-110e2ce0a0e4", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-22326ccfb83b", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-ac5c851fb706", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-9d54f9e504cf", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-93207ce20f3a", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform", + "command_id": "mesh-cmd-af5f5cd74777", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-942654e26e71", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-839093653909", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-343284eab795", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-40edb69c194b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-f82ec42b3d5d", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'", + "command_id": "mesh-cmd-6255c2bae03a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e192f87b36dd", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-32e4dec1f2ad", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e2c2d471cf6d", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-d005d26e4507", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6a6eaffcbdfa", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "command_id": "mesh-cmd-a8e2cb30f899", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-20aa91944451", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-ced2cd7ee587", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-93f6afb07054", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-77eb071843df", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-15516f4541ca", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-212890f569ac", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-85067efca878", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-f00e2f2b5a13", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-09c924f2d891", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-ccbf2ba21cfe", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5b157361e3ee", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-989d9bfffca1", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d9abe9c7fbe5", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-68a503359067", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-b15f913f3744", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-7a4abb4052a5", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-37f9a53424f8", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-d6bd65a36d33", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-22ba67fa8757", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-e00cbdd357ec", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-e16f250cddb5", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-337d21270eb3", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-971fc22703f5", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git fetch --all --prune", + "command_id": "mesh-cmd-21edb6a12935", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5ef117e15bae", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git merge --ff-only @{u}", + "command_id": "mesh-cmd-7b722c9cfabf", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-5ef117e15bae", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-79d4e8de607c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-75f9e9dfb259", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-1241c2027936", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-0f86f1adcf16", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-82cdc2ace254", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-6bfd95e48bda", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-8fd4572e582d", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-529d66b23bb2", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-99e72700ed27", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-917cb9437e58", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform", + "command_id": "mesh-cmd-fa0891c72b3b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-50b573a8a933", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-42bd692fb74f", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-9f5e32a23747", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-96378f20554e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-b6eacc950f4a", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git push origin HEAD", + "command_id": "mesh-cmd-63e5ddb231f5", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-37ac595b246b", + "target_name": "tudo-para-ia-stj-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-8aea602c2ebc", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-d0bbf9052ed8", + "target_name": "tudo-para-ia-stj-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-c1abdd1982dd", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-2a5a6ae13064", + "target_name": "tudo-para-ia-stj-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-c00802173a2c", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-78a22f74add8", + "target_name": "tudo-para-ia-stj-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-2a239a6a2343", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-999e2c9f4df6", + "target_name": "tudo-para-ia-stj-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "comando ou acao marcado como destrutivo", + "acao nao marcada como automatica" + ], + "command": "NOOP action:block_destructive_sync", + "command_id": "mesh-cmd-094378ab6a9f", + "destructive": true, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-22557e2b043e", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:register_evidence", + "command_id": "mesh-cmd-73441c1fda84", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-59ea5ecc1144", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform", + "command_id": "mesh-cmd-a5e53f621b3b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-a4f095a0431b", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-b38559ff09ae", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-dae55776e43a", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "acao nao marcada como automatica" + ], + "command": "NOOP action:require_environment_access", + "command_id": "mesh-cmd-3a3bcb208e26", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-action-ff4124206ec5", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-ada5edfaeaef", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-9d4d8c5516d0", + "target_name": "tudo-para-ia-business-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-3882ef8a5e40", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-09136c8c3b10", + "target_name": "tudo-para-ia-business-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-00dd93036fa4", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-83c78317fdd2", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-2dbaa7029197", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-6dfa312564dd", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform", + "command_id": "mesh-cmd-2a930c379869", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-3db32380ccae", + "target_name": "tudo-para-ia-compliance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-60aa3f6de597", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-37369c19cea4", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-fa5f404afa23", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-c49fe31f6a9c", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform", + "command_id": "mesh-cmd-3bb1ecaaae34", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-68811b9b3d72", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git", + "command_id": "mesh-cmd-fe01ddf5c6a0", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-48963a24e980", + "target_name": "tudo-para-ia-customer-ops-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5e45497ba684", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-86c156434b88", + "target_name": "tudo-para-ia-docs-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-684256f37755", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-b3c0ebd33384", + "target_name": "tudo-para-ia-docs-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5b9a9c41bf01", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-d8f16e6a31ac", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-6d3690f641af", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-494de8609ff1", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform", + "command_id": "mesh-cmd-b745c12ed476", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-2807468aa5bb", + "target_name": "tudo-para-ia-finance-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-45a9eed44a7e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-819094aeb896", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5b8ac53a19ed", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-b951fe01e43c", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform", + "command_id": "mesh-cmd-395dfcfd8e42", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-bff90770061e", + "target_name": "tudo-para-ia-gettys-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5426657b743e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-6b5c33b2116e", + "target_name": "tudo-para-ia-identity-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-6f14424c2f4b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-a4a666c5ca74", + "target_name": "tudo-para-ia-identity-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-a8ac38969154", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-aaa379546d21", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-963f9406d03b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-8d1f2acd452b", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", + "command_id": "mesh-cmd-c893f61203ce", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-64e7a5d162a3", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-843da2c57d4d", + "destructive": false, + "gates": [ + "command_not_destructive", + "operation_not_destructive" + ], + "source_id": "mesh-op-72e46290a482", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "allowed", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": true, + "blocked_reasons": [], + "command": "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", + "command_id": "mesh-cmd-31db7c79403d", + "destructive": false, + "gates": [ + "command_not_destructive", + "operation_not_destructive" + ], + "source_id": "mesh-op-196449c6b5bf", + "target_name": "tudo-para-ia-integracoes-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "allowed", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-16cf121d9cc5", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-7eb4b941eceb", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-9da5aa1dab0e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-43539e7f7909", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-b7ccc783e630", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-d613b4ef3042", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform", + "command_id": "mesh-cmd-9b4178393776", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-67157e3dd5ca", + "target_name": "tudo-para-ia-intelligence-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-09bc491a881a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-8edfc132f4f5", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-54d9bc1bd126", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-4fa6dc0f1efa", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-d07ffe69c1e1", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-a4610a39cb38", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform", + "command_id": "mesh-cmd-3c82f266af80", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-4fbfcbde3165", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'", + "command_id": "mesh-cmd-7940ca5e22b7", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-8e4636d9cead", + "target_name": "tudo-para-ia-mais-humana-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-efb5827d8f1e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-21e28a2e2dfd", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-ecf6bd1833df", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-95d30c400d99", + "target_name": "tudo-para-ia-mcps-internos-plataform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-9e0d29bccca5", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-451f7c3dd283", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-5350e32b2c3e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-f69abebf1ff4", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-c0cdffdcc75b", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-35575fdcf53e", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-5640b9cbec2a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-60eb5aacee41", + "target_name": "tudo-para-ia-platform-base" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-b2fa6177cadd", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-56670cc10694", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-4d33f29a2298", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-5421845d6647", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform", + "command_id": "mesh-cmd-34eb4e463b68", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-a512cf3c15d6", + "target_name": "tudo-para-ia-public-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-81509d5b84f9", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-741697842896", + "target_name": "tudo-para-ia-stj-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-6651be9af31e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-2e71dfc6b5b7", + "target_name": "tudo-para-ia-stj-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:dirty_blocked", + "command_id": "mesh-cmd-eb31b8ecc823", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-d24510e46fcd", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-07f51a114099", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-7b801670d5d2", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao possui severidade blocker", + "operacao requer execucao manual" + ], + "command": "NOOP operation:environment_blocked", + "command_id": "mesh-cmd-ef3c4790a08e", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-894c832cefcb", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + }, + { + "command": { + "automatic": false, + "blocked_reasons": [ + "operacao requer execucao manual" + ], + "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform", + "command_id": "mesh-cmd-abc9c2cceb7a", + "destructive": false, + "gates": [ + "command_not_destructive" + ], + "source_id": "mesh-op-4f13abbae981", + "target_name": "tudo-para-ia-ui-platform" + }, + "finished_at": "2026-04-30T13:46:41+00:00", + "returncode": null, + "started_at": "2026-04-30T13:46:41+00:00", + "status": "blocked", + "stderr": "", + "stdout": "" + } + ], + "summary": [ + "commands: 133", + "allowed: 4", + "blocked: 129", + "skipped: 0", + "lock: stale_replaced" + ] +} \ No newline at end of file diff --git a/dados/repository-mesh-runtime.jsonl b/dados/repository-mesh-runtime.jsonl new file mode 100644 index 0000000..805a5a4 --- /dev/null +++ b/dados/repository-mesh-runtime.jsonl @@ -0,0 +1,133 @@ +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-e4ec84db2a60", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-d74173010dba", "target_name": "tudo-para-ia-business-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-f19f94b70f56", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-61bb08f62bc5", "target_name": "tudo-para-ia-business-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-7b36c4533dd8", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-a6131408e2be", "target_name": "tudo-para-ia-business-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-5e211e889540", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-d2727fbc94ef", "target_name": "tudo-para-ia-business-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-5ee5986fdf51", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-e331b3e4c497", "target_name": "tudo-para-ia-business-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-423145a6d0e8", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-7d8f74aaca89", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-71d036683e5b", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-cf83302e51c3", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform", "command_id": "mesh-cmd-b9c681381a3a", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-a53a11cbd26e", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-a586dddb0a77", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-6903dd01bc1f", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-ccb166106aba", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-6e50d3c37aeb", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git", "command_id": "mesh-cmd-eea4537abff8", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-9dc31ae75f1a", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-c262c4658caf", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-742544266379", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-a68639499e6e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-9c34fd44f893", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform", "command_id": "mesh-cmd-add1ff5fa96f", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-2e66e9903b00", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-80d6713d0cfd", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-d681ca4be32c", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-805f8f4bbd76", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-a2aae3a00161", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-73730d14fdba", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-c074a7454c85", "target_name": "tudo-para-ia-docs-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-da95ddde41be", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-604e958b1ab4", "target_name": "tudo-para-ia-docs-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-514b6268e4bb", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-c22d79c0aa76", "target_name": "tudo-para-ia-docs-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-f0d93b3e060c", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-9be03dcb6263", "target_name": "tudo-para-ia-docs-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-1255bbc8c142", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-258528af32fb", "target_name": "tudo-para-ia-docs-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-a6d12ec840d2", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-de5a018ad5cc", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-225241e0d540", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-9acb48b0d9c1", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform", "command_id": "mesh-cmd-d47969b23342", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-54a43adcdbd5", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-4684afbe55ad", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-fdf8583a2010", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-fd8f49e36633", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-04ed792cb988", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-5aa4c6e28ab0", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-24d6e2c4fde2", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-2c181bf0942f", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-8a4690c9c29d", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform", "command_id": "mesh-cmd-6bfeb8631e3e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-9e56eaf27ed5", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-597014a83640", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-2a2fb7bc0dab", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-bd0f8e1cc9ae", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-d794140f218c", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-4a327599000a", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-7459c55a5946", "target_name": "tudo-para-ia-identity-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-58dbefef493d", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-bf839e1eb7da", "target_name": "tudo-para-ia-identity-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-9f7e418a088c", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-ddc7a0df464a", "target_name": "tudo-para-ia-identity-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-22e0aad14848", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-3fa1024c9e04", "target_name": "tudo-para-ia-identity-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-d6cdd3ac798d", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-434fa6be1041", "target_name": "tudo-para-ia-identity-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": true, "blocked_reasons": [], "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", "command_id": "mesh-cmd-3b9beaf69194", "destructive": false, "gates": ["command_not_destructive", "action_marked_automatic"], "source_id": "mesh-action-2c3c0959aa7f", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "allowed", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", "command_id": "mesh-cmd-352c0963c073", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-8af64b1a2f4d", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-12f98a68e313", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-5675b953c348", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-3fb73957c9a4", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-9d7038836e52", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": true, "blocked_reasons": [], "command": "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", "command_id": "mesh-cmd-bdd4005ad860", "destructive": false, "gates": ["command_not_destructive", "action_marked_automatic"], "source_id": "mesh-action-c9373212b179", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "allowed", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", "command_id": "mesh-cmd-95c9bc18f0a4", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-dea83db8f4af", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-db5a3219dac3", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-a26163e6be59", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-f97282844432", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-3db4026be62c", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-36822e8ba4cb", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-110e2ce0a0e4", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["comando ou acao marcado como destrutivo", "acao nao marcada como automatica"], "command": "NOOP action:block_destructive_sync", "command_id": "mesh-cmd-22326ccfb83b", "destructive": true, "gates": ["command_not_destructive"], "source_id": "mesh-action-ac5c851fb706", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-9d54f9e504cf", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-93207ce20f3a", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform", "command_id": "mesh-cmd-af5f5cd74777", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-942654e26e71", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-839093653909", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-343284eab795", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-40edb69c194b", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-f82ec42b3d5d", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'", "command_id": "mesh-cmd-6255c2bae03a", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-e192f87b36dd", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["comando ou acao marcado como destrutivo", "acao nao marcada como automatica"], "command": "NOOP action:block_destructive_sync", "command_id": "mesh-cmd-32e4dec1f2ad", "destructive": true, "gates": ["command_not_destructive"], "source_id": "mesh-action-e2c2d471cf6d", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-d005d26e4507", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-6a6eaffcbdfa", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform", "command_id": "mesh-cmd-a8e2cb30f899", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-20aa91944451", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-ced2cd7ee587", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-93f6afb07054", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-77eb071843df", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-15516f4541ca", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-212890f569ac", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-85067efca878", "target_name": "tudo-para-ia-mcps-internos-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-f00e2f2b5a13", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-09c924f2d891", "target_name": "tudo-para-ia-mcps-internos-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-ccbf2ba21cfe", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-5b157361e3ee", "target_name": "tudo-para-ia-mcps-internos-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-989d9bfffca1", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-d9abe9c7fbe5", "target_name": "tudo-para-ia-mcps-internos-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-68a503359067", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-b15f913f3744", "target_name": "tudo-para-ia-mcps-internos-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["comando ou acao marcado como destrutivo", "acao nao marcada como automatica"], "command": "NOOP action:block_destructive_sync", "command_id": "mesh-cmd-7a4abb4052a5", "destructive": true, "gates": ["command_not_destructive"], "source_id": "mesh-action-37f9a53424f8", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["comando ou acao marcado como destrutivo", "acao nao marcada como automatica"], "command": "NOOP action:block_destructive_sync", "command_id": "mesh-cmd-d6bd65a36d33", "destructive": true, "gates": ["command_not_destructive"], "source_id": "mesh-action-22ba67fa8757", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-e00cbdd357ec", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-e16f250cddb5", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["comando ou acao marcado como destrutivo", "acao nao marcada como automatica"], "command": "NOOP action:block_destructive_sync", "command_id": "mesh-cmd-337d21270eb3", "destructive": true, "gates": ["command_not_destructive"], "source_id": "mesh-action-971fc22703f5", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git fetch --all --prune", "command_id": "mesh-cmd-21edb6a12935", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-5ef117e15bae", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git merge --ff-only @{u}", "command_id": "mesh-cmd-7b722c9cfabf", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-5ef117e15bae", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-79d4e8de607c", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-75f9e9dfb259", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-1241c2027936", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-0f86f1adcf16", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-82cdc2ace254", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-6bfd95e48bda", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-8fd4572e582d", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-529d66b23bb2", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-99e72700ed27", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-917cb9437e58", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform", "command_id": "mesh-cmd-fa0891c72b3b", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-50b573a8a933", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-42bd692fb74f", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-9f5e32a23747", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-96378f20554e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-b6eacc950f4a", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git push origin HEAD", "command_id": "mesh-cmd-63e5ddb231f5", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-37ac595b246b", "target_name": "tudo-para-ia-stj-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-8aea602c2ebc", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-d0bbf9052ed8", "target_name": "tudo-para-ia-stj-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-c1abdd1982dd", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-2a5a6ae13064", "target_name": "tudo-para-ia-stj-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-c00802173a2c", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-78a22f74add8", "target_name": "tudo-para-ia-stj-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-2a239a6a2343", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-999e2c9f4df6", "target_name": "tudo-para-ia-stj-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["comando ou acao marcado como destrutivo", "acao nao marcada como automatica"], "command": "NOOP action:block_destructive_sync", "command_id": "mesh-cmd-094378ab6a9f", "destructive": true, "gates": ["command_not_destructive"], "source_id": "mesh-action-22557e2b043e", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:register_evidence", "command_id": "mesh-cmd-73441c1fda84", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-59ea5ecc1144", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform", "command_id": "mesh-cmd-a5e53f621b3b", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-a4f095a0431b", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-b38559ff09ae", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-dae55776e43a", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["acao nao marcada como automatica"], "command": "NOOP action:require_environment_access", "command_id": "mesh-cmd-3a3bcb208e26", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-action-ff4124206ec5", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-ada5edfaeaef", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-9d4d8c5516d0", "target_name": "tudo-para-ia-business-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-3882ef8a5e40", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-09136c8c3b10", "target_name": "tudo-para-ia-business-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-00dd93036fa4", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-83c78317fdd2", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-2dbaa7029197", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-6dfa312564dd", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-compliance-platform", "command_id": "mesh-cmd-2a930c379869", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-3db32380ccae", "target_name": "tudo-para-ia-compliance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-60aa3f6de597", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-37369c19cea4", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-fa5f404afa23", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-c49fe31f6a9c", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-customer-ops-platform", "command_id": "mesh-cmd-3bb1ecaaae34", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-68811b9b3d72", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git", "command_id": "mesh-cmd-fe01ddf5c6a0", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-48963a24e980", "target_name": "tudo-para-ia-customer-ops-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-5e45497ba684", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-86c156434b88", "target_name": "tudo-para-ia-docs-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-684256f37755", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-b3c0ebd33384", "target_name": "tudo-para-ia-docs-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-5b9a9c41bf01", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-d8f16e6a31ac", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-6d3690f641af", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-494de8609ff1", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-finance-platform", "command_id": "mesh-cmd-b745c12ed476", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-2807468aa5bb", "target_name": "tudo-para-ia-finance-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-45a9eed44a7e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-819094aeb896", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-5b8ac53a19ed", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-b951fe01e43c", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-gettys-platform", "command_id": "mesh-cmd-395dfcfd8e42", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-bff90770061e", "target_name": "tudo-para-ia-gettys-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-5426657b743e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-6b5c33b2116e", "target_name": "tudo-para-ia-identity-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-6f14424c2f4b", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-a4a666c5ca74", "target_name": "tudo-para-ia-identity-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-a8ac38969154", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-aaa379546d21", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-963f9406d03b", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-8d1f2acd452b", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git", "command_id": "mesh-cmd-c893f61203ce", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-64e7a5d162a3", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": true, "blocked_reasons": [], "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", "command_id": "mesh-cmd-843da2c57d4d", "destructive": false, "gates": ["command_not_destructive", "operation_not_destructive"], "source_id": "mesh-op-72e46290a482", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "allowed", "stderr": "", "stdout": ""} +{"command": {"automatic": true, "blocked_reasons": [], "command": "Rename-Item -LiteralPath 'G:\\codex_vm\\_codex-git\\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'", "command_id": "mesh-cmd-31db7c79403d", "destructive": false, "gates": ["command_not_destructive", "operation_not_destructive"], "source_id": "mesh-op-196449c6b5bf", "target_name": "tudo-para-ia-integracoes-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "allowed", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:dirty_blocked", "command_id": "mesh-cmd-16cf121d9cc5", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-7eb4b941eceb", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-9da5aa1dab0e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-43539e7f7909", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-b7ccc783e630", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-d613b4ef3042", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-intelligence-platform", "command_id": "mesh-cmd-9b4178393776", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-67157e3dd5ca", "target_name": "tudo-para-ia-intelligence-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:dirty_blocked", "command_id": "mesh-cmd-09bc491a881a", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-8edfc132f4f5", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-54d9bc1bd126", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-4fa6dc0f1efa", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-d07ffe69c1e1", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-a4610a39cb38", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\\codex_vm\\_codex-git\\tudo-para-ia-mais-humana-plataform", "command_id": "mesh-cmd-3c82f266af80", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-4fbfcbde3165", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "Rename-Item -LiteralPath 'G:\\_codex-git\\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'", "command_id": "mesh-cmd-7940ca5e22b7", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-8e4636d9cead", "target_name": "tudo-para-ia-mais-humana-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-efb5827d8f1e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-21e28a2e2dfd", "target_name": "tudo-para-ia-mcps-internos-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-ecf6bd1833df", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-95d30c400d99", "target_name": "tudo-para-ia-mcps-internos-plataform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:dirty_blocked", "command_id": "mesh-cmd-9e0d29bccca5", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-451f7c3dd283", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:dirty_blocked", "command_id": "mesh-cmd-5350e32b2c3e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-f69abebf1ff4", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-c0cdffdcc75b", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-35575fdcf53e", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-5640b9cbec2a", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-60eb5aacee41", "target_name": "tudo-para-ia-platform-base"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-b2fa6177cadd", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-56670cc10694", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-4d33f29a2298", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-5421845d6647", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-public-platform", "command_id": "mesh-cmd-34eb4e463b68", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-a512cf3c15d6", "target_name": "tudo-para-ia-public-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-81509d5b84f9", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-741697842896", "target_name": "tudo-para-ia-stj-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-6651be9af31e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-2e71dfc6b5b7", "target_name": "tudo-para-ia-stj-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:dirty_blocked", "command_id": "mesh-cmd-eb31b8ecc823", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-d24510e46fcd", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-07f51a114099", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-7b801670d5d2", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao possui severidade blocker", "operacao requer execucao manual"], "command": "NOOP operation:environment_blocked", "command_id": "mesh-cmd-ef3c4790a08e", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-894c832cefcb", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} +{"command": {"automatic": false, "blocked_reasons": ["operacao requer execucao manual"], "command": "git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\\codex_vm\\_codex-git\\tudo-para-ia-ui-platform", "command_id": "mesh-cmd-abc9c2cceb7a", "destructive": false, "gates": ["command_not_destructive"], "source_id": "mesh-op-4f13abbae981", "target_name": "tudo-para-ia-ui-platform"}, "finished_at": "2026-04-30T13:46:41+00:00", "returncode": null, "started_at": "2026-04-30T13:46:41+00:00", "status": "blocked", "stderr": "", "stdout": ""} diff --git a/dados/repository-mesh-schedulers.json b/dados/repository-mesh-schedulers.json new file mode 100644 index 0000000..9fec597 --- /dev/null +++ b/dados/repository-mesh-schedulers.json @@ -0,0 +1,58 @@ +{ + "generatedAt": "2026-04-30T13:46:41+00:00", + "intervalMinutes": [ + "5" + ], + "kinds": [ + "windows_task", + "cron" + ], + "schedulers": [ + { + "command": "'C:\\Users\\Ami\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe' -m mais_humana.cli repo-mesh --ecosystem-root 'G:\\_codex-git' --project-root 'G:\\_codex-git\\tudo-para-ia-mais-humana' --fetch", + "environment": [ + "PYTHONPATH=G:\\_codex-git\\tudo-para-ia-mais-humana\\src" + ], + "install_commands": [ + "$Action = New-ScheduledTaskAction -Execute 'C:\\Users\\Ami\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe' -Argument \"-m mais_humana.cli repo-mesh --ecosystem-root 'G:\\_codex-git' --project-root 'G:\\_codex-git\\tudo-para-ia-mais-humana' --fetch\"", + "$Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 5)", + "Register-ScheduledTask -TaskName 'TudoParaIA-RepositoryMeshSync' -Action $Action -Trigger $Trigger" + ], + "interval_minutes": 5, + "kind": "windows_task", + "log_path": "G:\\_codex-git\\tudo-para-ia-mais-humana\\dados\\repository-mesh-runtime.jsonl", + "name": "TudoParaIA-RepositoryMeshSync", + "notes": [ + "usar credencial Git do usuario operacional", + "nao usar plugin Cloudflare como via de sincronizacao" + ], + "scheduler_id": "scheduler-f5620a6ef3", + "uninstall_commands": [ + "Unregister-ScheduledTask -TaskName 'TudoParaIA-RepositoryMeshSync' -Confirm:$false" + ], + "working_directory": "G:\\_codex-git\\tudo-para-ia-mais-humana" + }, + { + "command": "cd 'G:\\_codex-git\\tudo-para-ia-mais-humana' && PYTHONPATH='G:\\_codex-git\\tudo-para-ia-mais-humana\\src' 'python' -m mais_humana.cli repo-mesh --ecosystem-root 'G:\\_codex-git' --project-root 'G:\\_codex-git\\tudo-para-ia-mais-humana' --fetch", + "environment": [ + "PYTHONPATH=G:\\_codex-git\\tudo-para-ia-mais-humana\\src" + ], + "install_commands": [ + "(crontab -l; echo \"*/5 * * * * cd 'G:\\_codex-git\\tudo-para-ia-mais-humana' && PYTHONPATH='G:\\_codex-git\\tudo-para-ia-mais-humana\\src' 'python' -m mais_humana.cli repo-mesh --ecosystem-root 'G:\\_codex-git' --project-root 'G:\\_codex-git\\tudo-para-ia-mais-humana' --fetch >> 'G:\\_codex-git\\tudo-para-ia-mais-humana\\dados\\repository-mesh-cron.log' 2>&1\") | crontab -" + ], + "interval_minutes": 5, + "kind": "cron", + "log_path": "G:\\_codex-git\\tudo-para-ia-mais-humana\\dados\\repository-mesh-cron.log", + "name": "tudo-para-ia-repository-mesh-sync", + "notes": [ + "executar em cada host Linux da malha", + "bloquear se houver dirty tree ou divergencia" + ], + "scheduler_id": "scheduler-aadb283653", + "uninstall_commands": [ + "crontab -l | grep -v 'repository-mesh' | crontab -" + ], + "working_directory": "G:\\_codex-git\\tudo-para-ia-mais-humana" + } + ] +} \ No newline at end of file diff --git a/dados/repository-mesh-summary.json b/dados/repository-mesh-summary.json new file mode 100644 index 0000000..9ea440b --- /dev/null +++ b/dados/repository-mesh-summary.json @@ -0,0 +1,386 @@ +{ + "attention": 0, + "blocked": 15, + "credentialErrors": 0, + "destructiveBlocks": 7, + "dirtyRepositories": 5, + "environments": 4, + "fetchEnabled": true, + "generatedAt": "2026-04-30T13:46:41+00:00", + "missingMaterializations": 38, + "observations": 60, + "ok": 0, + "pluginAuthAttempt": "user rejected MCP tool call", + "reportId": "repository-mesh-25823a78b901", + "repositories": [ + { + "actionKinds": [ + "register_evidence", + "require_environment_access" + ], + "alignedHash": null, + "credentialErrors": 0, + "declaredName": "tudo-para-ia-business-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-business-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-business-platform", + "hashes": [ + "cee7e824559832f3e36492dfadf0777d605afee8", + "3eae5dd9a54263c668a347e4f10bb45a707515ac" + ], + "missing": 2, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "7e88a2beb57ecb4a07534733638110b999dce561", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-compliance-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-compliance-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-compliance-platform", + "hashes": [ + "7e88a2beb57ecb4a07534733638110b999dce561" + ], + "missing": 3, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "hash unico 7e88a2beb57e; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "fix_remote_url", + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "ef83587577f93ed6df086db39975c83e1216edac", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-customer-ops-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-customer-ops-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-customer-ops-platform", + "hashes": [ + "ef83587577f93ed6df086db39975c83e1216edac" + ], + "missing": 3, + "nominalMismatch": 2, + "remoteMismatch": 1, + "risk": "blocked", + "summary": "hash unico ef83587577f9; 3 materializacoes ausentes/inacessiveis; 1 remotes divergentes; 2 divergencias nominais" + }, + { + "actionKinds": [ + "register_evidence", + "require_environment_access" + ], + "alignedHash": null, + "credentialErrors": 0, + "declaredName": "tudo-para-ia-docs-plataform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-docs-plataform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-docs-plataform", + "hashes": [ + "80095cd75b612ce09b704bc00bf54dbdc59ccdf3", + "ef25192b7c4169027aa296ce3450e1a94b4f5912" + ], + "missing": 2, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-finance-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-finance-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-finance-platform", + "hashes": [ + "81eb44e3cdeb9912d45a9ba43c904d39bf0ae884" + ], + "missing": 3, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "hash unico 81eb44e3cdeb; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "9d0c4c2594d019e70568f21c23b04e4693225ce1", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-gettys-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-gettys-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-gettys-platform", + "hashes": [ + "9d0c4c2594d019e70568f21c23b04e4693225ce1" + ], + "missing": 3, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "hash unico 9d0c4c2594d0; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "register_evidence", + "require_environment_access" + ], + "alignedHash": null, + "credentialErrors": 0, + "declaredName": "tudo-para-ia-identity-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-identity-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-identity-platform", + "hashes": [ + "cdfe78714d61bf36793d38bdadf2fcd736ae08c1", + "ecc93e089819958d25325334d6aacae943245644" + ], + "missing": 2, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "rename_local_folder", + "fix_remote_url", + "register_evidence", + "require_environment_access" + ], + "alignedHash": null, + "credentialErrors": 0, + "declaredName": "tudo-para-ia-integracoes-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-integracoes-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-integracoes-platform", + "hashes": [ + "6371413be59b2d4dbea347b7305db0f15c8f0c28", + "5b015a1d63a2f6d20716e68be0d9e538d14fc5f4" + ], + "missing": 2, + "nominalMismatch": 4, + "remoteMismatch": 2, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 remotes divergentes; 4 divergencias nominais" + }, + { + "actionKinds": [ + "block_destructive_sync", + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "0ebe258ed33ea019236515697aaa370337569603", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-intelligence-platform", + "dirty": 1, + "expectedLocalName": "tudo-para-ia-intelligence-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-intelligence-platform", + "hashes": [ + "0ebe258ed33ea019236515697aaa370337569603" + ], + "missing": 3, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "hash unico 0ebe258ed33e; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva" + }, + { + "actionKinds": [ + "rename_local_folder", + "block_destructive_sync", + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "3d2748adf5e011a7aa796fc2a5aed8e815dcb092", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-mais-humana-plataform", + "dirty": 1, + "expectedLocalName": "tudo-para-ia-mais-humana-plataform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-mais-humana", + "hashes": [ + "3d2748adf5e011a7aa796fc2a5aed8e815dcb092" + ], + "missing": 3, + "nominalMismatch": 3, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "hash unico 3d2748adf5e0; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 3 divergencias nominais; 1 bloqueios contra sync destrutiva" + }, + { + "actionKinds": [ + "register_evidence", + "require_environment_access" + ], + "alignedHash": null, + "credentialErrors": 0, + "declaredName": "tudo-para-ia-mcps-internos-plataform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-mcps-internos-plataform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-mcps-internos-plataform", + "hashes": [ + "5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2", + "e47192610f41ba20511b8eea1ee7187959860f1e" + ], + "missing": 2, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "block_destructive_sync", + "register_evidence", + "require_environment_access" + ], + "alignedHash": null, + "credentialErrors": 0, + "declaredName": "tudo-para-ia-platform-base", + "dirty": 2, + "expectedLocalName": "tudo-para-ia-platform-base", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-platform-base", + "hashes": [ + "086d86a8ac06fc6b05677a2a26d35d081bcbfc39", + "4f6e1590ddafd990da4fb07c50e97a545a05aa36" + ], + "missing": 2, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 worktrees sujos; 2 divergencias nominais; 4 bloqueios contra sync destrutiva" + }, + { + "actionKinds": [ + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-public-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-public-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-public-platform", + "hashes": [ + "b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42" + ], + "missing": 3, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "hash unico b1bad49c12a4; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "register_evidence", + "require_environment_access" + ], + "alignedHash": null, + "credentialErrors": 0, + "declaredName": "tudo-para-ia-stj-platform", + "dirty": 0, + "expectedLocalName": "tudo-para-ia-stj-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-stj-platform", + "hashes": [ + "006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7", + "b13e6c9464661885d31d2ae7d295ec5667927056" + ], + "missing": 2, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais" + }, + { + "actionKinds": [ + "block_destructive_sync", + "register_evidence", + "clone_missing", + "require_environment_access" + ], + "alignedHash": "64e52f8949ebb2dee28e14ac0316a596d6fe77e9", + "credentialErrors": 0, + "declaredName": "tudo-para-ia-ui-platform", + "dirty": 1, + "expectedLocalName": "tudo-para-ia-ui-platform", + "fetchErrorKinds": [ + "unknown" + ], + "giteaRepo": "admin/tudo-para-ia-ui-platform", + "hashes": [ + "64e52f8949ebb2dee28e14ac0316a596d6fe77e9" + ], + "missing": 3, + "nominalMismatch": 2, + "remoteMismatch": 0, + "risk": "blocked", + "summary": "hash unico 64e52f8949eb; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva" + } + ], + "targets": 15 +} \ No newline at end of file diff --git a/dados/rulebook-humano-operacional-compacto.json b/dados/rulebook-humano-operacional-compacto.json index 1e0eaae..e1065d5 100644 --- a/dados/rulebook-humano-operacional-compacto.json +++ b/dados/rulebook-humano-operacional-compacto.json @@ -4342,7 +4342,7 @@ "profile_id": "administrador_empresa", "rule_id": "platform_base__administrador_empresa__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived" }, { @@ -4362,7 +4362,7 @@ "profile_id": "gestor_operacional", "rule_id": "platform_base__gestor_operacional__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived" }, { @@ -4392,7 +4392,7 @@ "profile_id": "financeiro", "rule_id": "platform_base__financeiro__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived" }, { @@ -4402,7 +4402,7 @@ "profile_id": "contador", "rule_id": "platform_base__contador__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived" }, { @@ -4412,7 +4412,7 @@ "profile_id": "juridico", "rule_id": "platform_base__juridico__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived" }, { @@ -4452,7 +4452,7 @@ "profile_id": "cliente_externo", "rule_id": "platform_base__cliente_externo__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived" }, { @@ -4462,7 +4462,7 @@ "profile_id": "planejamento_estrategico", "rule_id": "platform_base__planejamento_estrategico__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived" }, { @@ -4592,7 +4592,7 @@ "profile_id": "planejamento_estrategico", "rule_id": "platform_base__planejamento_estrategico__templates", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived" }, { @@ -4602,7 +4602,7 @@ "profile_id": "planejamento_estrategico", "rule_id": "platform_base__planejamento_estrategico__standards", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived" }, { @@ -4612,7 +4612,7 @@ "profile_id": "planejamento_estrategico", "rule_id": "platform_base__planejamento_estrategico__contracts", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived" }, { @@ -4622,7 +4622,7 @@ "profile_id": "planejamento_estrategico", "rule_id": "platform_base__planejamento_estrategico__shared-runtime", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived" }, { @@ -5856,7 +5856,7 @@ "Projeto canonico recomendado: tudo-para-ia-mais-humana-plataform", "Caminho administrativo obrigatorio: tudo-para-ia-mcps-internos-plataform" ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_count": 2, "next_order_hints": [ "validar billing para administrador_empresa em business", diff --git a/dados/rulebook-humano-operacional.json b/dados/rulebook-humano-operacional.json index d08dc3d..74be79e 100644 --- a/dados/rulebook-humano-operacional.json +++ b/dados/rulebook-humano-operacional.json @@ -118,7 +118,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -215,7 +215,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -312,7 +312,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -409,7 +409,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -506,7 +506,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -603,7 +603,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -700,7 +700,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "gptExplainable" @@ -797,7 +797,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -894,7 +894,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -991,7 +991,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -1088,7 +1088,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -1185,7 +1185,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -1282,7 +1282,7 @@ "term": "entitlements" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "gptExplainable" @@ -1349,7 +1349,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -1421,7 +1421,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -1493,7 +1493,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -1565,7 +1565,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -1637,7 +1637,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -1703,7 +1703,7 @@ "term": "admin" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "organization", "tenant", @@ -1771,7 +1771,7 @@ "term": "admin" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "organization", "tenant", @@ -1839,7 +1839,7 @@ "term": "admin" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "organization", "tenant", @@ -1907,7 +1907,7 @@ "term": "admin" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "organization", "tenant", @@ -1975,7 +1975,7 @@ "term": "admin" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "organization", "tenant", @@ -2055,7 +2055,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -2138,7 +2138,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -2221,7 +2221,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -2304,7 +2304,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -2387,7 +2387,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -2470,7 +2470,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -2547,7 +2547,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -2630,7 +2630,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -2713,7 +2713,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -2796,7 +2796,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -2879,7 +2879,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -2956,7 +2956,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -3039,7 +3039,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -3122,7 +3122,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -3205,7 +3205,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "quota", "sourceRecordsHash", @@ -3282,7 +3282,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -3365,7 +3365,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -3448,7 +3448,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -3531,7 +3531,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -3614,7 +3614,7 @@ "term": "block" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sellable", "sourceRecordsHash", @@ -3679,7 +3679,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "tudo-para-ia-identity-platform", "origin", @@ -3740,7 +3740,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "integracoes", "tudo-para-ia-integracoes-plataform", @@ -3808,7 +3808,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "tudo-para-ia-finance-platform", "origin", @@ -3869,7 +3869,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "customer_ops", "tudo-para-ia-customer-ops-platform", @@ -3973,7 +3973,7 @@ "term": "schema" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4069,7 +4069,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4165,7 +4165,7 @@ "term": "schema" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4261,7 +4261,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4357,7 +4357,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4453,7 +4453,7 @@ "term": "schema" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4549,7 +4549,7 @@ "term": "schema" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4645,7 +4645,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4741,7 +4741,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -4837,7 +4837,7 @@ "term": "privacy" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "identity", "credentialRef", @@ -4935,7 +4935,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -5031,7 +5031,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -5127,7 +5127,7 @@ "term": "schema" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -5193,7 +5193,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -5265,7 +5265,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -5337,7 +5337,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -5409,7 +5409,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -5481,7 +5481,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -5571,7 +5571,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "identity", "credentialRef", @@ -5661,7 +5661,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "identity", "credentialRef", @@ -5745,7 +5745,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "identity", "credentialRef", @@ -5835,7 +5835,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "identity", "credentialRef", @@ -5925,7 +5925,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "identity", "credentialRef", @@ -6027,7 +6027,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6121,7 +6121,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6221,7 +6221,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6315,7 +6315,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6415,7 +6415,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6515,7 +6515,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6609,7 +6609,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6709,7 +6709,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6803,7 +6803,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -6903,7 +6903,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -7003,7 +7003,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -7097,7 +7097,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -7197,7 +7197,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -7291,7 +7291,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -7391,7 +7391,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -7461,7 +7461,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "identity", "tudo-para-ia-identity-platform", @@ -7539,7 +7539,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "tudo-para-ia-docs-plataform", "origin", @@ -7610,7 +7610,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "customer_ops", "tudo-para-ia-customer-ops-platform", @@ -7712,7 +7712,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -7809,7 +7809,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -7906,7 +7906,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -8003,7 +8003,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -8088,7 +8088,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -8186,7 +8186,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -8283,7 +8283,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -8380,7 +8380,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -8465,7 +8465,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -8563,7 +8563,7 @@ "term": "tickets" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -8647,7 +8647,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -8733,7 +8733,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -8831,7 +8831,7 @@ "term": "diagnostics" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "gptExplainable" @@ -8904,7 +8904,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -8981,7 +8981,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -9058,7 +9058,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -9135,7 +9135,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -9212,7 +9212,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -9307,7 +9307,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -9400,7 +9400,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -9493,7 +9493,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -9586,7 +9586,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -9679,7 +9679,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -9760,7 +9760,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "humanNextAction", @@ -9842,7 +9842,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "humanNextAction", @@ -9924,7 +9924,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "humanNextAction", @@ -10006,7 +10006,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "humanNextAction", @@ -10088,7 +10088,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "nextAction", "humanNextAction", @@ -10164,7 +10164,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10241,7 +10241,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10318,7 +10318,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10395,7 +10395,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10472,7 +10472,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10549,7 +10549,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10626,7 +10626,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10703,7 +10703,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10780,7 +10780,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10857,7 +10857,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -10922,7 +10922,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -10989,7 +10989,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "tudo-para-ia-identity-platform", "origin", @@ -11056,7 +11056,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "tudo-para-ia-docs-plataform", "origin", @@ -11159,7 +11159,7 @@ "term": "canonical-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -11237,7 +11237,7 @@ "term": "proofs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "roadmap", "maturity", @@ -11338,7 +11338,7 @@ "term": "canonical-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -11428,7 +11428,7 @@ "term": "proofs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -11520,7 +11520,7 @@ "term": "proofs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -11618,7 +11618,7 @@ "term": "canonical-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -11714,7 +11714,7 @@ "term": "canonical-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -11810,7 +11810,7 @@ "term": "canonical-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -11900,7 +11900,7 @@ "term": "proofs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -11992,7 +11992,7 @@ "term": "proofs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -12084,7 +12084,7 @@ "term": "proofs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -12176,7 +12176,7 @@ "term": "proofs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -12274,7 +12274,7 @@ "term": "canonical-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "gptExplainable" ], @@ -12340,7 +12340,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -12412,7 +12412,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -12484,7 +12484,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -12556,7 +12556,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -12628,7 +12628,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -12688,7 +12688,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "roadmap", "maturity", @@ -12751,7 +12751,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "roadmap", "maturity", @@ -12814,7 +12814,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "roadmap", "maturity", @@ -12877,7 +12877,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "roadmap", "maturity", @@ -12940,7 +12940,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "roadmap", "maturity", @@ -13015,7 +13015,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13087,7 +13087,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13159,7 +13159,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13231,7 +13231,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13303,7 +13303,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13375,7 +13375,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13447,7 +13447,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13519,7 +13519,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13591,7 +13591,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13663,7 +13663,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13735,7 +13735,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13807,7 +13807,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13879,7 +13879,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -13951,7 +13951,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:05+00:00", "missing_terms": [ "version", "hash", @@ -14023,7 +14023,7 @@ "term": "contract" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "version", "hash", @@ -14083,7 +14083,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "roadmap", "maturity", @@ -14146,7 +14146,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "roadmap", "maturity", @@ -14209,7 +14209,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "roadmap", "maturity", @@ -14272,7 +14272,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "roadmap", "maturity", @@ -14335,7 +14335,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "roadmap", "maturity", @@ -14398,7 +14398,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "mcps", "tudo-para-ia-mcps-internos-plataform", @@ -14472,7 +14472,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "origin", "destination", @@ -14544,7 +14544,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "origin", "destination", @@ -14646,7 +14646,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -14744,7 +14744,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -14842,7 +14842,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -14940,7 +14940,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -15038,7 +15038,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -15134,7 +15134,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -15232,7 +15232,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -15328,7 +15328,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -15424,7 +15424,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -15520,7 +15520,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -15618,7 +15618,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -15708,7 +15708,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -15807,7 +15807,7 @@ "term": "cost" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -15875,7 +15875,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -15947,7 +15947,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -16019,7 +16019,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -16091,7 +16091,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -16163,7 +16163,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -16235,7 +16235,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16308,7 +16308,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16381,7 +16381,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16454,7 +16454,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16527,7 +16527,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16600,7 +16600,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16673,7 +16673,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16746,7 +16746,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16819,7 +16819,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16892,7 +16892,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -16977,7 +16977,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17053,7 +17053,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17135,7 +17135,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17211,7 +17211,7 @@ "term": "billing" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17287,7 +17287,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17369,7 +17369,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17445,7 +17445,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17527,7 +17527,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17603,7 +17603,7 @@ "term": "billing" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17679,7 +17679,7 @@ "term": "reconciliation" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -17743,7 +17743,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -17804,7 +17804,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "identity", "tudo-para-ia-identity-platform", @@ -17908,7 +17908,7 @@ "term": "gettys-overview" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -18006,7 +18006,7 @@ "term": "gettys-overview" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -18104,7 +18104,7 @@ "term": "gettys-overview" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -18202,7 +18202,7 @@ "term": "gettys-overview" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -18300,7 +18300,7 @@ "term": "health" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -18398,7 +18398,7 @@ "term": "gettys-overview" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -18496,7 +18496,7 @@ "term": "runbook" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -18592,7 +18592,7 @@ "term": "runbook" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -18688,7 +18688,7 @@ "term": "health" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -18786,7 +18786,7 @@ "term": "gettys-overview" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -18884,7 +18884,7 @@ "term": "health" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -18982,7 +18982,7 @@ "term": "health" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -19080,7 +19080,7 @@ "term": "gettys-overview" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -19154,7 +19154,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -19231,7 +19231,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -19308,7 +19308,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -19385,7 +19385,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -19486,7 +19486,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -19585,7 +19585,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -19684,7 +19684,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -19783,7 +19783,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -19882,7 +19882,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -19981,7 +19981,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -20080,7 +20080,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -20179,7 +20179,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "humanNextAction", "admin_ui", @@ -20266,7 +20266,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20355,7 +20355,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20444,7 +20444,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20533,7 +20533,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20622,7 +20622,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20711,7 +20711,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20800,7 +20800,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20889,7 +20889,7 @@ "term": "sourceRecordsHash" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -20966,7 +20966,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-ui-platform", "origin", @@ -21037,7 +21037,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "mcps", "tudo-para-ia-mcps-internos-plataform", @@ -21115,7 +21115,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -21216,7 +21216,7 @@ "term": "sessions" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "schema", "gptExplainable" @@ -21313,7 +21313,7 @@ "term": "organizations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -21409,7 +21409,7 @@ "term": "sessions" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "schema", "gptExplainable" @@ -21506,7 +21506,7 @@ "term": "organizations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -21602,7 +21602,7 @@ "term": "organizations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -21698,7 +21698,7 @@ "term": "sessions" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "schema", "gptExplainable" @@ -21795,7 +21795,7 @@ "term": "sessions" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "schema", "gptExplainable" @@ -21892,7 +21892,7 @@ "term": "sessions" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "schema", "gptExplainable" @@ -21989,7 +21989,7 @@ "term": "organizations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -22085,7 +22085,7 @@ "term": "organizations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -22181,7 +22181,7 @@ "term": "organizations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -22277,7 +22277,7 @@ "term": "organizations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -22373,7 +22373,7 @@ "term": "sessions" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "schema", "gptExplainable" @@ -22440,7 +22440,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -22512,7 +22512,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -22584,7 +22584,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -22656,7 +22656,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -22728,7 +22728,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -22800,7 +22800,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -22884,7 +22884,7 @@ "term": "permission" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "operator", "sourceRecordsHash", @@ -22967,7 +22967,7 @@ "term": "permission" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "operator", "sourceRecordsHash", @@ -23050,7 +23050,7 @@ "term": "permission" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "operator", "sourceRecordsHash", @@ -23133,7 +23133,7 @@ "term": "permission" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "operator", "sourceRecordsHash", @@ -23216,7 +23216,7 @@ "term": "permission" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "operator", "sourceRecordsHash", @@ -23299,7 +23299,7 @@ "term": "permission" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "operator", "sourceRecordsHash", @@ -23376,7 +23376,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -23458,7 +23458,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -23540,7 +23540,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -23622,7 +23622,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -23698,7 +23698,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -23780,7 +23780,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -23856,7 +23856,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -23938,7 +23938,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24020,7 +24020,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24102,7 +24102,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24178,7 +24178,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24260,7 +24260,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24336,7 +24336,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24418,7 +24418,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24500,7 +24500,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24582,7 +24582,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24658,7 +24658,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24740,7 +24740,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24816,7 +24816,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24898,7 +24898,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -24980,7 +24980,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -25062,7 +25062,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -25138,7 +25138,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -25220,7 +25220,7 @@ "term": "redaction" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -25284,7 +25284,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -25345,7 +25345,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "integracoes", "tudo-para-ia-integracoes-plataform", @@ -25407,7 +25407,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "customer_ops", "tudo-para-ia-customer-ops-platform", @@ -25469,7 +25469,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "compliance", "tudo-para-ia-compliance-platform", @@ -25561,7 +25561,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -25649,7 +25649,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -25749,7 +25749,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "panelReady", "gptExplainable" @@ -25846,7 +25846,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "panelReady", "gptExplainable" @@ -25943,7 +25943,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "panelReady", "gptExplainable" @@ -26028,7 +26028,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -26128,7 +26128,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "panelReady", "gptExplainable" @@ -26219,7 +26219,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -26318,7 +26318,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "panelReady", "gptExplainable" @@ -26409,7 +26409,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -26508,7 +26508,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "panelReady", "gptExplainable" @@ -26593,7 +26593,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -26681,7 +26681,7 @@ "term": "credentials" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -26745,7 +26745,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -26812,7 +26812,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -26879,7 +26879,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -26946,7 +26946,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -27013,7 +27013,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -27080,7 +27080,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -27159,7 +27159,7 @@ "term": "audit" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -27237,7 +27237,7 @@ "term": "audit" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -27315,7 +27315,7 @@ "term": "audit" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -27393,7 +27393,7 @@ "term": "audit" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -27471,7 +27471,7 @@ "term": "audit" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -27549,7 +27549,7 @@ "term": "audit" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "rbac", "redaction", @@ -27633,7 +27633,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -27721,7 +27721,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -27809,7 +27809,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -27891,7 +27891,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -27979,7 +27979,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28061,7 +28061,7 @@ "term": "smoke" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28143,7 +28143,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28231,7 +28231,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28319,7 +28319,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28401,7 +28401,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28489,7 +28489,7 @@ "term": "tenant" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28571,7 +28571,7 @@ "term": "smoke" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -28641,7 +28641,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -28714,7 +28714,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -28787,7 +28787,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -28860,7 +28860,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -28933,7 +28933,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -29006,7 +29006,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -29073,7 +29073,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-identity-platform", "origin", @@ -29140,7 +29140,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -29213,7 +29213,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "origin", "destination", @@ -29273,7 +29273,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "customer_ops", "tudo-para-ia-customer-ops-platform", @@ -29377,7 +29377,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -29475,7 +29475,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -29573,7 +29573,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -29671,7 +29671,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -29757,7 +29757,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -29855,7 +29855,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -29947,7 +29947,7 @@ "term": "recommendations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -30039,7 +30039,7 @@ "term": "recommendations" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -30125,7 +30125,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -30223,7 +30223,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -30309,7 +30309,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -30395,7 +30395,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -30493,7 +30493,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -30561,7 +30561,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -30633,7 +30633,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -30705,7 +30705,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -30777,7 +30777,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -30855,7 +30855,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -30933,7 +30933,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -31005,7 +31005,7 @@ "term": "maturity" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -31083,7 +31083,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -31161,7 +31161,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -31239,7 +31239,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -31317,7 +31317,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -31395,7 +31395,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -31473,7 +31473,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -31551,7 +31551,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -31623,7 +31623,7 @@ "term": "maturity" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -31701,7 +31701,7 @@ "term": "risk" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "priority", "executive", @@ -31767,7 +31767,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "mcps", "tudo-para-ia-mcps-internos-plataform", @@ -31841,7 +31841,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-docs-plataform", "origin", @@ -31914,7 +31914,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -32017,7 +32017,7 @@ "term": "readiness" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -32115,7 +32115,7 @@ "term": "readiness" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -32213,7 +32213,7 @@ "term": "readiness" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -32311,7 +32311,7 @@ "term": "readiness" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -32409,7 +32409,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -32505,7 +32505,7 @@ "term": "readiness" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -32603,7 +32603,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -32699,7 +32699,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -32795,7 +32795,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -32891,7 +32891,7 @@ "term": "readiness" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -32989,7 +32989,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -33085,7 +33085,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -33181,7 +33181,7 @@ "term": "readiness" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -33249,7 +33249,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -33326,7 +33326,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -33397,7 +33397,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -33468,7 +33468,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -33539,7 +33539,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -33616,7 +33616,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -33693,7 +33693,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -33776,7 +33776,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -33859,7 +33859,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -33936,7 +33936,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34013,7 +34013,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34096,7 +34096,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34173,7 +34173,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34256,7 +34256,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34339,7 +34339,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34416,7 +34416,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34493,7 +34493,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34576,7 +34576,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "metrics", "latency", @@ -34659,7 +34659,7 @@ "term": "smoke" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tenant", "sourceRecordsHash", @@ -34747,7 +34747,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tenant", "sourceRecordsHash", @@ -34835,7 +34835,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tenant", "sourceRecordsHash", @@ -34917,7 +34917,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tenant", "sourceRecordsHash", @@ -35005,7 +35005,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tenant", "sourceRecordsHash", @@ -35093,7 +35093,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tenant", "sourceRecordsHash", @@ -35181,7 +35181,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -35274,7 +35274,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -35367,7 +35367,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -35454,7 +35454,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -35547,7 +35547,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -35640,7 +35640,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -35709,7 +35709,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-ui-platform", "origin", @@ -35781,7 +35781,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-docs-plataform", "origin", @@ -35853,7 +35853,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-integracoes-plataform", "origin", @@ -35925,7 +35925,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-identity-platform", "origin", @@ -35997,7 +35997,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -36056,6 +36056,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -36093,9 +36099,8 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sameSource", "panelReady", "gptExplainable" @@ -36107,7 +36112,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__administrador_empresa__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -36174,7 +36179,7 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "canonical", "version", @@ -36232,6 +36237,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -36269,9 +36280,8 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sameSource", "panelReady", "gptExplainable" @@ -36283,7 +36293,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__gestor_operacional__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -36362,7 +36372,7 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sameSource", @@ -36443,7 +36453,7 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "canonical", "version", @@ -36501,6 +36511,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -36538,9 +36554,8 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sameSource", "panelReady", "gptExplainable" @@ -36552,7 +36567,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__financeiro__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -36594,6 +36609,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -36631,9 +36652,8 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sameSource", "panelReady", "gptExplainable" @@ -36645,7 +36665,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__contador__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -36687,6 +36707,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -36724,9 +36750,8 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sameSource", "panelReady", "gptExplainable" @@ -36738,7 +36763,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__juridico__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -36817,7 +36842,7 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sameSource", @@ -36910,7 +36935,7 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sameSource", @@ -36991,7 +37016,7 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "canonical", "version", @@ -37049,6 +37074,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -37086,9 +37117,8 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sameSource", "panelReady", "gptExplainable" @@ -37100,7 +37130,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__cliente_externo__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -37142,6 +37172,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -37179,9 +37215,8 @@ "term": "contracts" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sameSource", "panelReady", "gptExplainable" @@ -37193,7 +37228,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__planejamento_estrategico__mcp", "scope": "profile_platform", - "score": 70, + "score": 73, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -37230,7 +37265,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -37286,7 +37321,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -37342,7 +37377,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -37398,7 +37433,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -37478,7 +37513,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -37555,7 +37590,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -37632,7 +37667,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -37709,7 +37744,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -37786,7 +37821,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -37863,7 +37898,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -37940,7 +37975,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -38017,7 +38052,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "runbook", "sourceRecordsHash", @@ -38075,6 +38110,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -38094,9 +38135,8 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sourceRecordsHash", "humanNextAction", "admin_ui", @@ -38110,7 +38150,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__planejamento_estrategico__templates", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -38152,6 +38192,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -38171,9 +38217,8 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sourceRecordsHash", "humanNextAction", "admin_ui", @@ -38187,7 +38232,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__planejamento_estrategico__standards", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -38229,6 +38274,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -38248,9 +38299,8 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sourceRecordsHash", "humanNextAction", "admin_ui", @@ -38264,7 +38314,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__planejamento_estrategico__contracts", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -38306,6 +38356,12 @@ "summary": "Termo encontrado para regra: audit", "term": "audit" }, + { + "confidence": 0.72, + "path": "G:\\_codex-git\\tudo-para-ia-platform-base", + "summary": "Termo encontrado para regra: trace", + "term": "trace" + }, { "confidence": 0.72, "path": "G:\\_codex-git\\tudo-para-ia-platform-base", @@ -38325,9 +38381,8 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ - "trace", "sourceRecordsHash", "humanNextAction", "admin_ui", @@ -38341,7 +38396,7 @@ "reason": "A regra possui sinais parciais, mas ainda falta superficie, marcador ou prova direta.", "rule_id": "platform_base__planejamento_estrategico__shared-runtime", "scope": "profile_surface", - "score": 64, + "score": 67, "truth_state": "derived", "validation_steps": [ "confirmar que platform_base expoe dados por MCP antes de qualquer painel paralelo", @@ -38390,7 +38445,7 @@ "term": "mcps" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-mcps-internos-plataform", "origin", @@ -38458,7 +38513,7 @@ "term": "docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-docs-plataform", "origin", @@ -38526,7 +38581,7 @@ "term": "ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-ui-platform", "origin", @@ -38618,7 +38673,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -38706,7 +38761,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -38794,7 +38849,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -38892,7 +38947,7 @@ "term": "onboarding" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "hash", "gptExplainable" @@ -38977,7 +39032,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -39063,7 +39118,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -39163,7 +39218,7 @@ "term": "onboarding" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "hash", "gptExplainable" @@ -39260,7 +39315,7 @@ "term": "onboarding" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "hash", "gptExplainable" @@ -39345,7 +39400,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -39431,7 +39486,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -39517,7 +39572,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -39603,7 +39658,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -39689,7 +39744,7 @@ "term": "public-docs" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -39759,7 +39814,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -39831,7 +39886,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -39903,7 +39958,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -39975,7 +40030,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -40041,7 +40096,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -40109,7 +40164,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -40177,7 +40232,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -40245,7 +40300,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -40319,7 +40374,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40391,7 +40446,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40463,7 +40518,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40535,7 +40590,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40607,7 +40662,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40679,7 +40734,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40751,7 +40806,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40823,7 +40878,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -40889,7 +40944,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -40957,7 +41012,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -41025,7 +41080,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -41093,7 +41148,7 @@ "term": "plan" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "entitlement", "checkout", @@ -41167,7 +41222,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "business", "tudo-para-ia-business-platform", @@ -41246,7 +41301,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-docs-plataform", "destination", @@ -41324,7 +41379,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-ui-platform", "destination", @@ -41420,7 +41475,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -41513,7 +41568,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -41612,7 +41667,7 @@ "term": "process-query" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -41708,7 +41763,7 @@ "term": "process-query" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -41804,7 +41859,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -41896,7 +41951,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -41995,7 +42050,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -42093,7 +42148,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -42191,7 +42246,7 @@ "term": "process-query" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -42287,7 +42342,7 @@ "term": "process-query" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "gptExplainable" ], @@ -42383,7 +42438,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -42475,7 +42530,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -42568,7 +42623,7 @@ "term": "public-documents" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -42637,7 +42692,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -42709,7 +42764,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -42781,7 +42836,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -42853,7 +42908,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceEndpoint", "sourceToolId", @@ -42925,7 +42980,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -42998,7 +43053,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -43071,7 +43126,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -43144,7 +43199,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -43235,7 +43290,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -43323,7 +43378,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -43411,7 +43466,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -43499,7 +43554,7 @@ "term": "status" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceRecordsHash", "humanNextAction", @@ -43575,7 +43630,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -43653,7 +43708,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -43731,7 +43786,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -43809,7 +43864,7 @@ "term": "evidence" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "consent", @@ -43881,7 +43936,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -43954,7 +44009,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -44027,7 +44082,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -44100,7 +44155,7 @@ "term": "entitlement" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "checkout", "sellable", @@ -44173,7 +44228,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "destination", @@ -44239,7 +44294,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "integracoes", "tudo-para-ia-integracoes-plataform", @@ -44306,7 +44361,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "compliance", "tudo-para-ia-compliance-platform", @@ -44373,7 +44428,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "customer_ops", "tudo-para-ia-customer-ops-platform", @@ -44476,7 +44531,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -44562,7 +44617,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -44660,7 +44715,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -44746,7 +44801,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -44832,7 +44887,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -44930,7 +44985,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -45028,7 +45083,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -45126,7 +45181,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -45212,7 +45267,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -45298,7 +45353,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -45384,7 +45439,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -45470,7 +45525,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -45568,7 +45623,7 @@ "term": "PWA" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -45648,7 +45703,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourcePayloadHash", "sourceRecordsHash", @@ -45730,7 +45785,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourcePayloadHash", "sourceRecordsHash", @@ -45812,7 +45867,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourcePayloadHash", "sourceRecordsHash", @@ -45888,7 +45943,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourcePayloadHash", "sourceRecordsHash", @@ -45964,7 +46019,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourcePayloadHash", "sourceRecordsHash", @@ -46040,7 +46095,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -46118,7 +46173,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -46196,7 +46251,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -46274,7 +46329,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -46346,7 +46401,7 @@ "term": "release" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "policy", "schema", @@ -46418,7 +46473,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46490,7 +46545,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46562,7 +46617,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46628,7 +46683,7 @@ "term": "screen" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46694,7 +46749,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46766,7 +46821,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46838,7 +46893,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46910,7 +46965,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -46976,7 +47031,7 @@ "term": "screen" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -47042,7 +47097,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -47114,7 +47169,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -47186,7 +47241,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -47258,7 +47313,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -47324,7 +47379,7 @@ "term": "screen" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -47390,7 +47445,7 @@ "term": "panelReady" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "sourceHash", "renderedState", @@ -47456,7 +47511,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-mcps-internos-plataform", "origin", @@ -47523,7 +47578,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-docs-plataform", "origin", @@ -47590,7 +47645,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-business-platform", "origin", @@ -47651,7 +47706,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "identity", "tudo-para-ia-identity-platform", @@ -47713,7 +47768,7 @@ "term": "sameSource" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "integracoes", "tudo-para-ia-integracoes-plataform", @@ -47751,7 +47806,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "tudo-para-ia-mais-humana", "tudo-para-ia-mais-humana-plataform", @@ -47789,7 +47844,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "origin", "destination", @@ -47845,7 +47900,7 @@ "term": "admin_ui" } ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "missing_terms": [ "screenData", "sourceRecordsHash", @@ -47877,7 +47932,7 @@ "Projeto canonico recomendado: tudo-para-ia-mais-humana-plataform", "Caminho administrativo obrigatorio: tudo-para-ia-mcps-internos-plataform" ], - "generated_at": "2026-04-30T10:32:49+00:00", + "generated_at": "2026-04-30T11:35:06+00:00", "next_order_hints": [ "validar billing para administrador_empresa em business", "validar checkout para administrador_empresa em business", diff --git a/dados/snapshot-ecossistema.json b/dados/snapshot-ecossistema.json index 3654aef..03fe86f 100644 --- a/dados/snapshot-ecossistema.json +++ b/dados/snapshot-ecossistema.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "platform_reports": [ { "cells": [ @@ -368,7 +368,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -8425,7 +8425,7 @@ "readme_excerpt": "# tudo-para-ia-business-platform\n\nMonorepo materializado para o bloco comercial-financeiro, administrativo e documental de Tudo Para IA, integrado ao `ia-stj-platform` como primeiro produto atendido.\n\nEsta plataforma business concentra a relacao comercial vista pelo cliente: contratacao, plano ativo, checkout, cobranca, fatura, historico financeiro, entitlement, consumo, inadimplencia comercial e decisao de bloqueio ou liberacao do servico.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-business-platform", - "scanned_at": "2026-04-30T10:31:58+00:00", + "scanned_at": "2026-04-30T11:32:07+00:00", "scripts": [ { "command": "tsc --noEmit -p tsconfig.build.json", @@ -8924,7 +8924,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "falta contrato OpenAPI ou equivalente para integracao auditavel" ], @@ -33929,7 +33929,7 @@ "readme_excerpt": "# Tudo Para IA Compliance Platform\n\nPlataforma Cloudflare-first de governanca, politicas, auditoria, evidencias, redaction, retencao, incidentes e revisao de acesso para o ecossistema Tudo Para IA.\n\n## Estado\n\n- Paradigma principal: Open Policy Agent, preservado em `_paradigmas/github/repos-clonados/opa`.\n- Runtime inicial: Cloudflare Worker em `apps/compliance-worker`.\n- Storage live validado: D1 para politicas/evidencias/auditoria, KV para regras/cache, R2 para evidencias, Queues para eventos de auditoria.\n- Camada local MCP-ready: `/mcp/tools`, `/mcp/tools/{toolId}`, `/mcp/call`, `health`, `profile`, `readiness`, `smoke`, diagnostico de bindings, maturidade, classificacao de dados e ciclo minimo de incidentes.\n- Worker live: `https://tudo-para-ia-compliance-platform.ami-app.workers.dev`, protegido por `COMPLIANCE_AUTH_TOKEN`.\n\n## Superficies operacionais\n\n- `GET /compliance/diagnostics/bindings`: retorna bindings Cloudflare, modo de fallback e pendencias sem expor segredo.\n- `GET /compliance/maturity` e `compliance.maturity.avaliar`: retornam score, nivel, gates, blockers e proximas acoes.\n- `POST /compliance/data/classificar`: reaproveita redaction e classifica payload como `public`, `restricted`, `sensitive`, `synthetic` ou `unknown`.\n- `POST /compliance/incidents/simular`, `GET /compliance/incidents` e `POST /compliance/incidents/fechar`: criam, listam e fecham incidentes com trace, audit e resolucao persistivel.\n- `GET /compliance/admin/readiness`: contrato de Admin View para painel humano e GPT usando as mesmas fontes de readiness, diagnostics, maturity e report.\n\n## Comandos\n\n```powershell\nnpm ci --no-audit --no-fund\nnpm test\nnpm run typecheck\nnpm run evidence:local\nnpm run build\nnpm run smoke:local\n```\n\n## Contrato minimo\n\nAs tools MCP-ready locais usam envelope:\n\n```json\n{\n \"toolId\": \"compliance.redaction.validar\",\n \"input\": {\n \"payload\": {\n \"authorization\": \"secret\"\n }\n },\n \"traceId\": \"trace:externo\"\n}\n```\n\nTodas as respostas operacionais retornam `ok`, `toolId`, `traceId`, `auditId`, `timestamp` e payload especifico da ferramenta.\n\n## Tools adicionadas na rodada 2026-04-29\n\n- `compliance.admin_view.readiness`: retorna contrato compacto de tela com fonte, status, blockers, proximas acoes e evidencias HTTP.\n- `compliance.diagnostics.bindings`: informa presenca de D1, KV, R2 e Queue, modo de fallback e pendencias de producao.\n- `compliance.maturity.avaliar`: calcula score, nivel, gates, blockers e proximas acoes.\n- `compliance.data.classificar`: classifica payload como `public`, `restricted`, `sensitive`, `synthetic` ou `unknown`, reaproveitando redaction.\n- `compliance.incidents.listar`: lista incidentes por status, severidade ou trace.\n- `compliance.incidents.fechar`: fecha incidente com resolucao rastreavel.\n\nRotas HTTP equivalentes:\n\n- `GET /compliance/diagnostics/bindings`\n- `GET /compliance/maturity`\n- `GET /compliance/admin/readiness`\n- `POST /compliance/data/classificar`\n- `GET /compliance/incidents`\n- `POST /compliance/incidents/fechar`\n\n## Contratos documentados\n\n- `docs/contracts/data-classification.md`: exemplos canonicos para dados publicos, restritos, sensiveis, sinteticos e desconhecidos.\n- `docs/contracts/admin-view-readiness.md`: fonte unica GPT/painel para readiness da Compliance Platform.\n- `docs/contracts/regression-evidence.md`: formato do snapshot JSON de regressao sem segredo.\n\n## Prova live Cloudflare 2026-04-29\n\n- D1 remoto criado: `tudo-para-ia-compliance` (`bdabb3cd-34ab-4d87-b594-b27a1d058e2b`).\n- KV remoto criado: `COMPLIANCE_RULES` (`da68b8b6dd2f415c872a241e68c184b3`), preview `8070b6d669ce428eae444e2249ad3619`.\n- R2 remoto criado: `tudo-para-ia-compliance-evidence`.\n- Queue remota criada: `tudo-para-ia-compliance-audit-events`.\n- Worker live respondeu `allBindingsPresent: true`, maturidade `100`, Admin View `productionReady: true` e smoke com 11 passos.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", - "scanned_at": "2026-04-30T10:32:02+00:00", + "scanned_at": "2026-04-30T11:32:11+00:00", "scripts": [ { "command": "node apps/compliance-worker/tests/rotate-auth-token.ts", @@ -34400,7 +34400,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -61917,7 +61917,7 @@ "readme_excerpt": "# Tudo Para IA Customer Ops Platform\n\nPlataforma Cloudflare-first para atendimento operacional, diagnostico de cliente, historico de erros, tickets, conversas, traces, auditoria e proxima acao sugerida.\n\n## Paradigma adotado\n\nO paradigma principal incorporado em `_paradigmas/chatwoot` e o Chatwoot, usado como referencia real de mercado para inbox omnichannel, contatos, conversas, agentes, integracoes, help center, relatorios e automacoes.\n\n## Aplicacao inicial\n\nA primeira aplicacao executavel esta em `apps/customer-ops-worker` e expoe um Worker MCP-ready local:\n\n- `GET /health`\n- `GET /profile`\n- `GET /readiness`\n- `GET /mcp/tools`\n- `POST /mcp/call`\n- `GET /admin/atendimento`\n- `POST /admin/atendimento/instances`\n- `GET /admin/atendimento/instances/:instanceId`\n- `GET /admin/atendimento/instances/:instanceId/explain`\n- `GET /admin/atendimento/instances/:instanceId/validate`\n- `GET /channels`\n- `GET /incidents`\n- `GET /evidence/http`\n- `GET /service-orders/continuity/plan`\n- `POST /service-orders/continuity/evidence`\n- `POST /service-orders/continuity/gate`\n- `POST /service-orders/continuity/outgoing-orders`\n- `POST /service-orders/continuity/compare`\n\nO Worker foi desenhado para D1, KV e R2 por configuracao Cloudflare, mas roda localmente em modo simulado quando as bindings nao existem.\n\n## Superficies MCP atuais\n\nA plataforma cobre o atendimento operacional com ferramentas para:\n\n- tickets, contexto de usuario e organizacao;\n- diagnostico por trace e historico de erro;\n- estado e diagnostico de canais, incluindo WhatsApp Para IA;\n- incidentes operacionais com runbook e referencias de evidencia;\n- Admin View `customer_ops.admin_view.atendimento` com `panelReady`, `sameSource` e `sourceRecordsHash`;\n- modos `full`, `compact` e `evidenceOnly` na Admin View, com `limit`, `cursor`, `failuresOnly` e `includeEvidence`;\n- instancias materializadas da Admin View para GPT e painel humano compartilharem o mesmo hash, trace, audit e validade temporal;\n- evidencia HTTP compacta em `customer_ops.evidencia.http`.\n- continuidade de ordens de servico em `customer_ops.ordens.continuidade.*`, reconciliando `current/`, `orders/`, evidencia Wrangler, SQL semantico e ordens de saida.\n\nQuando `CUSTOMER_OPS_DB` esta bound, canais e incidentes sao lidos de D1. Sem binding, ou com tabela vazia/indisponivel no ambiente local, a resposta preserva o mesmo shape e registra fallback para fixtures locais.\n\nO contrato de contexto externo esperado para Business e Identity esta em `docs/customer-ops-cross-platform-context.md`.\nComandos humanos equivalentes ficam em `docs/customer-ops-human-commands.md`.\n\nNenhuma superficie retorna telefone real, QR bruto, cookie, token, auth state ou erro bruto. Esses campos sao redigidos no envelope MCP.\n\n## Validacao local\n\n```bash\nnpm test\nnpm run test:mcp\nnpm run sync:contract\n```", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", - "scanned_at": "2026-04-30T10:32:09+00:00", + "scanned_at": "2026-04-30T11:32:17+00:00", "scripts": [ { "command": "node scripts/generate-operational-governance-assets.mjs && node scripts/generate-governance-persistence-assets.mjs && node scripts/generate-live-readiness-assets.mjs && node scripts/generate-wrangler-operations-assets.mjs && node scripts/generate-wrangler-round-proof-assets.mjs && node scripts/generate-live-operation-execution-assets.mjs && node scripts/generate-live-round-closeout-assets.mjs && node scripts/generate-round-advance-assets.mjs && node scripts/generate-service-order-continuity-assets.mjs", @@ -62414,7 +62414,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "catalogOnly precisa decisao formal ou leitura responseReady minima" ], @@ -68779,7 +68779,7 @@ "readme_excerpt": "# Tudo Para IA Docs Plataform\n\nCamada documental central do ecossistema Tudo Para IA, com indices IA, ownership, revisoes, runbooks, playbooks, evidencias e verdade documental.\n\n## Apps materializados\n\n- `tudo-para-ia-docs-central` — Servico central da plataforma documental com index mestre, verdade documental e ownership.\n- `tudo-para-ia-docs-indexador-ia` — Indexador IA para descoberta documental, agrupamento por area e busca assistida.\n- `tudo-para-ia-docs-evidence-hub` — Hub de evidencias, validacao humana e prova documental institucional.\n- `tudo-para-ia-docs-integracoes` — Camada documental profunda da frente integracoes com tecnico, usuario, gestao, homologacao e runbooks.\n\n## Packages compartilhados\n\n- `shared-doc-types` — Tipos documentais compartilhados para catalogo, revisao e evidencia.\n- `shared-doc-indexing` — Helpers para indexacao IA, agrupamento e menus documentais.\n- `shared-doc-governance` — Governanca editorial, ownership e ciclos de revisao da base viva.\n- `shared-doc-evidence` — Vinculo entre evidence, validacao humana e verdade documental.\n- `shared-doc-runbooks` — Secoes canonic-as para runbooks, playbooks e troubleshooting.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", - "scanned_at": "2026-04-30T10:32:10+00:00", + "scanned_at": "2026-04-30T11:32:17+00:00", "scripts": [ { "command": "node --experimental-strip-types scripts/testing/alias-http-smoke.ts", @@ -69275,7 +69275,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -84946,7 +84946,7 @@ "readme_excerpt": "# tudo-para-ia-finance-platform\n\nPlataforma financeira Cloudflare-first do ecossistema Tudo Para IA.\n\nEla nasce separada da Business Platform: Business decide produto, plano, preco, entitlement e liberacao comercial; Finance apura custos, receitas, margem, conciliacao, demonstrativos e fechamento.\n\n## Entregaveis desta OS\n\n- Paradigma principal trazido em `_paradigmas/lago`.\n- Worker local MCP-ready em `apps/finance-worker`.\n- Contrato local de tools, schemas, payloads, trace, audit e redaction.\n- Contrato canonico de eventos em `docs/finance-events-canonical.md`.\n- Trilha de evidencia D1/KV/R2/Queue em `docs/evidence-trail.md`.\n- Consumer da Queue `FINANCE_EVENTS` e consulta segura `GET /v1/evidence`.\n- Smoke publico recorrente em `docs/public-smoke.md`.\n- Runbook pos-publicacao em `docs/finance-operations-post-publication.md`.\n- Control-plane operacional com alertas, scorecard, politica plugin Cloudflare, release cross-platform, retencao, auditoria de escopos e contrato UI/Admin.\n- Relatorios e SQLite institucional em `G:/_codex-git/ordens-de-servico-codex/projects/_repo_tudo-para-ia-finance-platform`.\n- Documentacao publicada tambem em `G:/_codex-git/tudo-para-ia-docs-plataform/docs/platforms/tudo-para-ia-finance-platform`.\n\n## Validacao local\n\n```powershell\nnpm test\nnpm run smoke\nnpm run smoke:public\n```\n\n## Estado operacional\n\n- Local implementado: Worker e testes MCP-ready.\n- MCP-ready: contrato local em `apps/finance-worker/schemas/tools.contract.json`.\n- Cloudflare real: operacional em `https://tudo-para-ia-finance-worker.ami-app.workers.dev`.\n- D1 real: `tudo-para-ia-finance-db` migrado com `apps/finance-worker/schema.sql`.\n- Evidencia real: D1/KV/R2/Queue gravados com `audit-real-smoke-finance-evidence-json-2026-04-29`.\n- Contrato local: 38 tools validadas por `npm run smoke`; smoke publico `2026-04-29T18:07:00.793Z` verde.\n\nO roteiro de promocao fica em `docs/cloudflare-real-roadmap.md`.", "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git", "repo_path": "G:\\_codex-git\\tudo-para-ia-finance-platform", - "scanned_at": "2026-04-30T10:32:14+00:00", + "scanned_at": "2026-04-30T11:32:21+00:00", "scripts": [ { "command": "npm --workspace apps/finance-worker run smoke", @@ -85348,7 +85348,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -94413,7 +94413,7 @@ "readme_excerpt": "# Tudo Para IA Gettys Platform\n\nGettys Platform e a plataforma propria de contexto operacional e evidencias do ecossistema Tudo Para IA.\n\nEla nasce para responder, de forma MCP-ready e Cloudflare-first, perguntas operacionais como:\n\n- qual e o contexto consolidado de uma organizacao, usuario, produto ou atendimento;\n- qual status operacional deve ser visto por Customer Ops;\n- quais evidencias, traceIds e auditIds sustentam uma decisao ou simulacao;\n- quais acoes podem ser simuladas com seguranca antes de tocar Business, Identity, UI ou MCP central.\n\n## Runtime\n\n- Worker: `apps/gettys-worker`\n- D1: binding previsto `GETTYS_DB`\n- KV: binding previsto `GETTYS_CONTEXT_KV`\n- R2: binding previsto `GETTYS_EVIDENCE_R2`\n- Migração D1: `apps/gettys-worker/migrations/0001_gettys_evidence.sql`\n- Migração D1 lifecycle: `apps/gettys-worker/migrations/0002_gettys_lifecycle.sql`\n- Persistencia opcional de evidencias: D1, KV e R2 quando os bindings existem; simulada localmente quando ausentes\n- Reconciliacao read-only de evidencias: D1, KV e R2 por `evidenceId`, sem expor payload sensivel\n- Taxonomia de dados: `real`, `persisted`, `local_simulated`, `fixture`, `synthetic`, `derived`, `stale`, `partial`, `blocked`\n- Retencao: evidencias por 365 dias, snapshots por 180 dias e auditoria por 730 dias, sempre com redaction antes de persistir payload sensivel\n- Observabilidade: habilitada em `wrangler.jsonc`\n- Auth publicado: `/health` e `/openapi.json` publicos; rotas read-only protegidas por `GETTYS_READONLY_KEY`; operacoes internas protegidas por `GETTYS_INTERNAL_KEY`\n- Rate limit leve: controlado por `GETTYS_RATE_LIMIT_PER_MINUTE`, com padrao por minuto para leitura e operacoes internas\n- MCP central: nao alterado nesta OS\n- Contrato HTTP local: `GET /openapi.json`, versionado como `gettys.http-admin.v0.2.0`\n- Tela administrativa local: `GET /v1/admin/screens/gettys-overview`, versionada como `gettys.screen.overview/0.2`\n\n## Paradigma\n\nO paradigma escolhido e Hono, mantido em `_paradigmas/hono` como snapshot completo do codigo-fonte upstream. O clone Git auxiliar usado para gerar o snapshot fica ignorado por `.gitignore`.\n\n## Validacao local\n\n```bash\nnpm run verify\n```\n\n## Superficie HTTP local\n\nRotas principais expostas pelo Worker:\n\n- `GET /health` e `GET /v1/health`: status basico do Worker.\n- `GET /profile` e `GET /v1/profile`: perfil da Gettys Platform.\n- `GET /readiness` e `GET /v1/readiness`: prontidao local e bindings detectados.\n- `GET /v1/tools`: catalogo local MCP-ready.\n- `GET /openapi.json`: contrato HTTP compacto para validacao por painel, GPT e testes.\n- `GET /v1/admin/screens/gettys-overview`: contrato de tela administrativa com `panelReady`, `sameSource`, `dataTruth` e `sourceRecordsHash`.\n- `GET /v1/evidences/{evidenceId}/reconciliation`: diagnostico D1/KV/R2 sem payload sensivel.\n- `POST /v1/mcp/execute`: execucao de tool local por `toolId`.\n- `POST /v1/status/snapshots`: cria snapshot de status e persiste em D1/KV quando bindings existem.\n- `POST /v1/smoke`: smoke local sem mutacao externa.\n\n## Fontes read-only\n\nA Gettys representa Business, Identity e Customer Ops por adaptadores read-only locais. Esses adaptadores nao chamam endpoint externo no fallback local, nao fazem mutacao e mascaram campos sensiveis antes de responder.\n\n- tool: `gettys.fontes.readonly.consultar`\n- tool: `gettys.evidencias.reconciliar`\n- contrato: `gettys.readonly.adapters.v1`\n- fontes: `business`, `identity`, `customer_ops`\n- modo atual: `local_readonly_fallback`\n\n## Cloudflare remoto\n\nRecursos reais provisionados no account Cloudflare `PARA-IA`:\n\n- D1 `gettys_context_db`: `7e7be905-4c01-4403-8de2-eac220e5c04b`\n- KV `GETTYS_CONTEXT_KV`: `e3b509967d0a4a109acd6a9fb29e9417`\n- R2 `gettys-evidence`\n- Worker publicado: `https://tudo-para-ia-gettys-platform.ami-app.workers.dev`\n- versionId remoto validado: `b18bbda9-06c6-43b5-9423-dcbcaddba42a`\n\nComandos de criacao/identificacao aplicados:\n\n```powershell\nwrangler d1 list\nwrangler kv namespace list\nwrangler r", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", - "scanned_at": "2026-04-30T10:32:15+00:00", + "scanned_at": "2026-04-30T11:32:22+00:00", "scripts": [ { "command": "node --check apps/gettys-worker/src/index.js", @@ -94888,7 +94888,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -100895,7 +100895,7 @@ "readme_excerpt": "# tudo-para-ia-identity-platform\n\nPlataforma Identity worker-first do ecossistema Tudo Para IA.\n\nEstado atual:\n- Cloudflare Worker TypeScript em `src/index.ts`;\n- rotas operacionais `/health`, `/profile`, `/openapi` e `/identity/*`;\n- tools MCP-ready publicadas via `tudo-para-ia-mcps-internos-plataform`;\n- redacao de headers, tokens, cookies, segredos e chaves Moesif-like;\n- store em memoria com contrato D1-ready em `migrations/`;\n- incidentes e evidencias com paginacao, cursor, filtros operacionais e limpeza por retencao;\n- admin views com modo compacto, summaryOnly, failuresOnly, evidenceOnly e cursor;\n- politica publica de auth, rotacao e break-glass em `/identity/security/auth/policy`;\n- contratos versionados em `/identity/contracts` e metadados de versao nos envelopes;\n- snapshots operacionais persistiveis para readiness, smoke, admin query e retencao;\n- scheduler de retencao em dry-run com alertas por volume;\n- RBAC institucional `identity-rbac-v3` com roles canonicas e negacoes explicitas por produto/provedor;\n- smoke local em `npm run smoke:local`;\n- regressao remota segura em `npm run smoke:remote`;\n- sem frontend e sem dependencia de conta Moesif SaaS.\n\nValidacao local:\n\n```powershell\nnpm run typecheck\nnpm test\nnpm run smoke:local\nnpm run smoke:remote\nnpm run build\n```\n\nObservacao: `npm test` e os smokes usam `node --experimental-strip-types` para evitar bloqueio de spawn do `tsx`/esbuild em espelhos Windows restritos.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-identity-platform", - "scanned_at": "2026-04-30T10:32:16+00:00", + "scanned_at": "2026-04-30T11:32:23+00:00", "scripts": [ { "command": "wrangler deploy --dry-run --outdir dist", @@ -100978,7 +100978,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "explanation": "Integracoes Platform atende Administrador da empresa em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", @@ -101008,7 +101008,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "explanation": "Integracoes Platform atende CEO em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", @@ -101033,7 +101033,7 @@ { "evidence_refs": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64", @@ -101061,7 +101061,7 @@ { "evidence_refs": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64", @@ -101088,7 +101088,7 @@ { "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -101122,7 +101122,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "explanation": "Integracoes Platform atende Financeiro em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", @@ -101152,7 +101152,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "explanation": "Integracoes Platform atende Contador em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", @@ -101176,7 +101176,7 @@ { "evidence_refs": [ "package-lock.json:639", - "package.json:27", + "package.json:29", "README.md:10", "tests/admin-contracts-governance.test.ts:15", "tests/admin-contracts-governance.test.ts:64", @@ -101204,7 +101204,7 @@ { "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -101233,7 +101233,7 @@ { "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -101263,7 +101263,7 @@ { "evidence_refs": [ "CONTROLE-DE-ORDENS-EXECUTADAS.md:82", - "package.json:26", + "package.json:28", "README.md:18", "tests/identity-mcp-flow.test.ts:5", "tests/surface.test.ts:254", @@ -101297,7 +101297,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "explanation": "Integracoes Platform atende Cliente externo em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", @@ -101327,7 +101327,7 @@ "tests/finance-event-producers.test.ts:19", "tests/package-structure.test.ts:106", "scripts/round/materialize-integracoes-foundation.ts:173", - "scripts/round/materialize-round-11-operational-execution.mjs:230", + "scripts/round/materialize-round-11-operational-execution.mjs:233", "scripts/docs/validate-docs.ts:24" ], "explanation": "Integracoes Platform atende Planejamento estrategico em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", @@ -101365,7 +101365,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "tokens live por provider ainda variam por produto" ], @@ -101493,7 +101493,7 @@ { "confidence": 0.68, "kind": "business_rule", - "line": 230, + "line": 233, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'entitlement', sinalizando capacidade humana ou operacional.", "tags": [ @@ -102161,7 +102161,7 @@ { "confidence": 0.55, "kind": "mcp_tool", - "line": 26, + "line": 28, "path": "package.json", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] @@ -102495,7 +102495,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 27, + "line": 29, "path": "package.json", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -102506,7 +102506,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 27, + "line": 29, "path": "package.json", "summary": "Texto menciona 'trace', sinalizando capacidade humana ou operacional.", "tags": [ @@ -102712,6 +102712,17 @@ "observability" ] }, + { + "confidence": 0.68, + "kind": "observability", + "line": 114, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", + "tags": [ + "operations", + "observability" + ] + }, { "confidence": 0.68, "kind": "observability", @@ -102858,7 +102869,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 81, + "line": 84, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -102869,7 +102880,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 109, + "line": 112, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -102899,17 +102910,6 @@ "observability" ] }, - { - "confidence": 0.68, - "kind": "observability", - "line": 70, - "path": "scripts/docs/validate-docs.ts", - "summary": "Texto menciona 'readiness', sinalizando capacidade humana ou operacional.", - "tags": [ - "operations", - "observability" - ] - }, { "confidence": 0.78, "kind": "openapi", @@ -102921,7 +102921,7 @@ { "confidence": 0.78, "kind": "openapi", - "line": 27, + "line": 29, "path": "package.json", "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] @@ -102974,6 +102974,14 @@ "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "openapi", + "line": 31, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.78, "kind": "openapi", @@ -103081,11 +103089,19 @@ { "confidence": 0.78, "kind": "openapi", - "line": 67, + "line": 70, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "openapi", + "line": 24, + "path": "scripts/ops/round11-no-spawn-smoke.mjs", + "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.78, "kind": "openapi", @@ -103214,22 +103230,6 @@ "summary": "Arquivo com indicio de contrato OpenAPI.", "tags": [] }, - { - "confidence": 0.78, - "kind": "openapi", - "line": 1, - "path": "packages/shared-integration-openapi/src/build-schemas.ts", - "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.8, - "kind": "openapi", - "line": null, - "path": "packages/shared-integration-openapi/src/build-tool-operation.ts", - "summary": "Arquivo com indicio de contrato OpenAPI.", - "tags": [] - }, { "confidence": 0.62, "kind": "package_script", @@ -103330,6 +103330,16 @@ "operation" ] }, + { + "confidence": 0.62, + "kind": "package_script", + "line": null, + "path": "package.json", + "summary": "Script 'ops:round11:materialize' com intencao 'operation'.", + "tags": [ + "operation" + ] + }, { "confidence": 0.62, "kind": "package_script", @@ -103340,6 +103350,16 @@ "validation" ] }, + { + "confidence": 0.62, + "kind": "package_script", + "line": null, + "path": "package.json", + "summary": "Script 'smoke:round11:no-tsx' com intencao 'validation'.", + "tags": [ + "validation" + ] + }, { "confidence": 0.62, "kind": "package_script", @@ -104060,156 +104080,6 @@ "route" ] }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/providers", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/apps", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/channels", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/capabilities", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/profile", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/tools", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/layers", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/providers", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/session", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/channel-contract", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/public-contract.js", - "summary": "Rota ou chamada HTTP detectada: /public/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/public-contract.js", - "summary": "Rota ou chamada HTTP detectada: /public/home", - "tags": [ - "route" - ] - }, { "confidence": 0.78, "kind": "security", @@ -104260,6 +104130,16 @@ "security" ] }, + { + "confidence": 0.78, + "kind": "security", + "line": 109, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional.", + "tags": [ + "security" + ] + }, { "confidence": 0.78, "kind": "security", @@ -104600,16 +104480,6 @@ "security" ] }, - { - "confidence": 0.78, - "kind": "security", - "line": 2, - "path": "packages/shared-integration-admin-ops/src/round-continuity.ts", - "summary": "Texto menciona 'byok', sinalizando capacidade humana ou operacional.", - "tags": [ - "integration" - ] - }, { "confidence": 0.72, "kind": "test", @@ -104730,6 +104600,14 @@ "summary": "Arquivo de teste ou especificacao encontrado.", "tags": [] }, + { + "confidence": 0.72, + "kind": "test", + "line": null, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Arquivo de teste ou especificacao encontrado.", + "tags": [] + }, { "confidence": 0.72, "kind": "test", @@ -104922,14 +104800,6 @@ "summary": "Arquivo de teste ou especificacao encontrado.", "tags": [] }, - { - "confidence": 0.72, - "kind": "test", - "line": null, - "path": "apps/tudo-para-ia-integracoes-recommendation/tests/runtime.test.ts", - "summary": "Arquivo de teste ou especificacao encontrado.", - "tags": [] - }, { "confidence": 0.55, "kind": "ui_surface", @@ -104946,6 +104816,14 @@ "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "ui_surface", + "line": 11, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "ui_surface", @@ -104981,7 +104859,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 60, + "line": 63, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] @@ -105244,14 +105122,6 @@ "summary": "Possivel superficie visual encontrada.", "tags": [] }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "packages/shared-integration-dispatch/src/build-dispatch-response.ts", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, { "confidence": 0.55, "kind": "unknown", @@ -105315,7 +105185,7 @@ { "confidence": 0.55, "kind": "unknown", - "line": 147, + "line": 150, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", "tags": [ @@ -105883,94 +105753,6 @@ "path": "apps/cloudflare-para-ia/docs/tools.md", "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/packages/shared-integration-auth/src/contracts/auth-worker-contract.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/index.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/describe-tool.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/execute-tool.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/health.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/list-tools.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/provider-state.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/capabilities.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/manifest.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/metadata.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/profile/describe.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] } ], "exists": true, @@ -105988,9 +105770,9 @@ "path": "package-lock.json" }, { - "bytes_size": 4203, + "bytes_size": 4378, "extension": ".json", - "lines": 35, + "lines": 37, "path": "package.json" }, { @@ -106113,6 +105895,12 @@ "lines": 216, "path": "tests/round-10-operational-closure.test.ts" }, + { + "bytes_size": 10134, + "extension": ".ts", + "lines": 214, + "path": "tests/round-11-operational-execution.test.ts" + }, { "bytes_size": 5675, "extension": ".ts", @@ -106306,9 +106094,9 @@ "path": "scripts/round/materialize-round-10-operational-closure.mjs" }, { - "bytes_size": 40419, + "bytes_size": 49774, "extension": ".mjs", - "lines": 976, + "lines": 1203, "path": "scripts/round/materialize-round-11-operational-execution.mjs" }, { @@ -106317,6 +106105,12 @@ "lines": 287, "path": "scripts/ops/round-continuity-smoke-no-tsx.mjs" }, + { + "bytes_size": 8902, + "extension": ".mjs", + "lines": 178, + "path": "scripts/ops/round11-no-spawn-smoke.mjs" + }, { "bytes_size": 13595, "extension": ".mjs", @@ -108382,13 +108176,13 @@ "path": "packages/shared-integration-admin-ops/src/round-10-operational-closure.ts" }, { - "bytes_size": 481338, + "bytes_size": 482224, "extension": ".ts", "lines": 0, "path": "packages/shared-integration-admin-ops/src/round-11-operational-execution.generated.ts" }, { - "bytes_size": 34846, + "bytes_size": 34874, "extension": ".ts", "lines": 916, "path": "packages/shared-integration-admin-ops/src/round-11-operational-execution.ts" @@ -108645,6 +108439,24 @@ "lines": 197, "path": "inventory/round-09-operational-execution.md" }, + { + "bytes_size": 1829, + "extension": ".json", + "lines": 38, + "path": "inventory/round-11-no-spawn-smoke.generated.json" + }, + { + "bytes_size": 510427, + "extension": ".json", + "lines": 0, + "path": "inventory/round-11-operational-execution.generated.json" + }, + { + "bytes_size": 4545, + "extension": ".md", + "lines": 70, + "path": "inventory/round-11-operational-execution.md" + }, { "bytes_size": 86058, "extension": ".json", @@ -114902,8280 +114714,6 @@ "extension": ".md", "lines": 23, "path": "_legados/whatsapp-qr-session/deploy/checklist.md" - }, - { - "bytes_size": 5791, - "extension": ".js", - "lines": 88, - "path": ".compiled/tests/admin-contracts-governance.test.js" - }, - { - "bytes_size": 2039, - "extension": ".js", - "lines": 35, - "path": ".compiled/tests/admin-governance-surface.test.js" - }, - { - "bytes_size": 2686, - "extension": ".js", - "lines": 37, - "path": ".compiled/tests/architecture-governance.test.js" - }, - { - "bytes_size": 4564, - "extension": ".js", - "lines": 68, - "path": ".compiled/tests/area07-multichannel.test.js" - }, - { - "bytes_size": 4097, - "extension": ".js", - "lines": 72, - "path": ".compiled/tests/content-delivery.test.js" - }, - { - "bytes_size": 4192, - "extension": ".js", - "lines": 119, - "path": ".compiled/tests/core-app-structure.test.js" - }, - { - "bytes_size": 7321, - "extension": ".js", - "lines": 152, - "path": ".compiled/tests/finance-event-producers.test.js" - }, - { - "bytes_size": 1237, - "extension": ".js", - "lines": 32, - "path": ".compiled/tests/foundation.test.js" - }, - { - "bytes_size": 2692, - "extension": ".js", - "lines": 48, - "path": ".compiled/tests/identity-mcp-flow.test.js" - }, - { - "bytes_size": 4372, - "extension": ".js", - "lines": 153, - "path": ".compiled/tests/package-structure.test.js" - }, - { - "bytes_size": 1275, - "extension": ".js", - "lines": 44, - "path": ".compiled/tests/provider-app-structure.test.js" - }, - { - "bytes_size": 1470, - "extension": ".js", - "lines": 29, - "path": ".compiled/tests/semantic-persistence.test.js" - }, - { - "bytes_size": 23949, - "extension": ".js", - "lines": 404, - "path": ".compiled/tests/surface.test.js" - }, - { - "bytes_size": 1952, - "extension": ".js", - "lines": 36, - "path": ".compiled/tests/template-structure.test.js" - }, - { - "bytes_size": 1526, - "extension": ".js", - "lines": 30, - "path": ".compiled/tests/workspace-memory.test.js" - }, - { - "bytes_size": 1044, - "extension": ".js", - "lines": 16, - "path": ".compiled/tests/workspace-surface.test.js" - }, - { - "bytes_size": 1161, - "extension": ".js", - "lines": 21, - "path": ".compiled/tests/structure/architecture-governance-structure.test.js" - }, - { - "bytes_size": 575, - "extension": ".js", - "lines": 16, - "path": ".compiled/tests/structure/architecture-structure.test.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 10, - "path": ".compiled/tests/padrao/app-padrao-contracts.test.js" - }, - { - "bytes_size": 800, - "extension": ".js", - "lines": 19, - "path": ".compiled/tests/padrao/app-padrao-structure.test.js" - }, - { - "bytes_size": 532, - "extension": ".js", - "lines": 10, - "path": ".compiled/tests/padrao/template-docs.test.js" - }, - { - "bytes_size": 809, - "extension": ".js", - "lines": 18, - "path": ".compiled/tests/padrao/template-structure.test.js" - }, - { - "bytes_size": 1469, - "extension": ".js", - "lines": 18, - "path": ".compiled/tests/integration/architecture/domain.test.js" - }, - { - "bytes_size": 25405, - "extension": ".js", - "lines": 495, - "path": ".compiled/tests/flows/provider-flow.test.js" - }, - { - "bytes_size": 1575, - "extension": ".js", - "lines": 24, - "path": ".compiled/tests/final-battery/institutional-battery.test.js" - }, - { - "bytes_size": 6836, - "extension": ".js", - "lines": 132, - "path": ".compiled/tests/contracts/catalog-auth-dispatch.test.js" - }, - { - "bytes_size": 496, - "extension": ".js", - "lines": 11, - "path": ".compiled/scripts/sync/check-sync.js" - }, - { - "bytes_size": 2338, - "extension": ".js", - "lines": 62, - "path": ".compiled/scripts/sync/shared.js" - }, - { - "bytes_size": 676, - "extension": ".js", - "lines": 20, - "path": ".compiled/scripts/sync/validate-paths.js" - }, - { - "bytes_size": 114680, - "extension": ".js", - "lines": 3430, - "path": ".compiled/scripts/round/materialize-integracoes-foundation.js" - }, - { - "bytes_size": 6115, - "extension": ".js", - "lines": 166, - "path": ".compiled/scripts/ops/verify-and-cleanup-node-modules.js" - }, - { - "bytes_size": 3431, - "extension": ".js", - "lines": 46, - "path": ".compiled/scripts/docs/build-admin-operational-snapshots.js" - }, - { - "bytes_size": 1272, - "extension": ".js", - "lines": 32, - "path": ".compiled/scripts/docs/build-doc-index.js" - }, - { - "bytes_size": 1922, - "extension": ".js", - "lines": 29, - "path": ".compiled/scripts/docs/build-maturity-snapshot.js" - }, - { - "bytes_size": 4424, - "extension": ".js", - "lines": 101, - "path": ".compiled/scripts/docs/validate-docs.js" - }, - { - "bytes_size": 5791, - "extension": ".js", - "lines": 88, - "path": ".compiled/round10/tests/admin-contracts-governance.test.js" - }, - { - "bytes_size": 2039, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/tests/admin-governance-surface.test.js" - }, - { - "bytes_size": 2686, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/tests/architecture-governance.test.js" - }, - { - "bytes_size": 4564, - "extension": ".js", - "lines": 68, - "path": ".compiled/round10/tests/area07-multichannel.test.js" - }, - { - "bytes_size": 4097, - "extension": ".js", - "lines": 72, - "path": ".compiled/round10/tests/content-delivery.test.js" - }, - { - "bytes_size": 4192, - "extension": ".js", - "lines": 119, - "path": ".compiled/round10/tests/core-app-structure.test.js" - }, - { - "bytes_size": 7321, - "extension": ".js", - "lines": 152, - "path": ".compiled/round10/tests/finance-event-producers.test.js" - }, - { - "bytes_size": 1237, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/tests/foundation.test.js" - }, - { - "bytes_size": 2692, - "extension": ".js", - "lines": 48, - "path": ".compiled/round10/tests/identity-mcp-flow.test.js" - }, - { - "bytes_size": 4372, - "extension": ".js", - "lines": 153, - "path": ".compiled/round10/tests/package-structure.test.js" - }, - { - "bytes_size": 1275, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/tests/provider-app-structure.test.js" - }, - { - "bytes_size": 17564, - "extension": ".js", - "lines": 292, - "path": ".compiled/round10/tests/round-08-operational-closure.test.js" - }, - { - "bytes_size": 16300, - "extension": ".js", - "lines": 278, - "path": ".compiled/round10/tests/round-08-playbook-integrity.test.js" - }, - { - "bytes_size": 12560, - "extension": ".js", - "lines": 202, - "path": ".compiled/round10/tests/round-09-operational-execution.test.js" - }, - { - "bytes_size": 10022, - "extension": ".js", - "lines": 152, - "path": ".compiled/round10/tests/round-10-operational-closure.test.js" - }, - { - "bytes_size": 5703, - "extension": ".js", - "lines": 80, - "path": ".compiled/round10/tests/round-execution-control.test.js" - }, - { - "bytes_size": 9412, - "extension": ".js", - "lines": 147, - "path": ".compiled/round10/tests/round-service-order-execution.test.js" - }, - { - "bytes_size": 1470, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/tests/semantic-persistence.test.js" - }, - { - "bytes_size": 23949, - "extension": ".js", - "lines": 404, - "path": ".compiled/round10/tests/surface.test.js" - }, - { - "bytes_size": 1952, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/tests/template-structure.test.js" - }, - { - "bytes_size": 1526, - "extension": ".js", - "lines": 30, - "path": ".compiled/round10/tests/workspace-memory.test.js" - }, - { - "bytes_size": 1044, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/tests/workspace-surface.test.js" - }, - { - "bytes_size": 1161, - "extension": ".js", - "lines": 21, - "path": ".compiled/round10/tests/structure/architecture-governance-structure.test.js" - }, - { - "bytes_size": 575, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/tests/structure/architecture-structure.test.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/tests/padrao/app-padrao-contracts.test.js" - }, - { - "bytes_size": 800, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/tests/padrao/app-padrao-structure.test.js" - }, - { - "bytes_size": 532, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/tests/padrao/template-docs.test.js" - }, - { - "bytes_size": 809, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/tests/padrao/template-structure.test.js" - }, - { - "bytes_size": 1469, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/tests/integration/architecture/domain.test.js" - }, - { - "bytes_size": 25405, - "extension": ".js", - "lines": 495, - "path": ".compiled/round10/tests/flows/provider-flow.test.js" - }, - { - "bytes_size": 1575, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/tests/final-battery/institutional-battery.test.js" - }, - { - "bytes_size": 6836, - "extension": ".js", - "lines": 132, - "path": ".compiled/round10/tests/contracts/catalog-auth-dispatch.test.js" - }, - { - "bytes_size": 496, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/scripts/sync/check-sync.js" - }, - { - "bytes_size": 2338, - "extension": ".js", - "lines": 62, - "path": ".compiled/round10/scripts/sync/shared.js" - }, - { - "bytes_size": 676, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/scripts/sync/validate-paths.js" - }, - { - "bytes_size": 114680, - "extension": ".js", - "lines": 3430, - "path": ".compiled/round10/scripts/round/materialize-integracoes-foundation.js" - }, - { - "bytes_size": 6115, - "extension": ".js", - "lines": 166, - "path": ".compiled/round10/scripts/ops/verify-and-cleanup-node-modules.js" - }, - { - "bytes_size": 1418, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-active-service-order-snapshot.js" - }, - { - "bytes_size": 3431, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/scripts/docs/build-admin-operational-snapshots.js" - }, - { - "bytes_size": 1272, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/scripts/docs/build-doc-index.js" - }, - { - "bytes_size": 1922, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/scripts/docs/build-maturity-snapshot.js" - }, - { - "bytes_size": 2541, - "extension": ".js", - "lines": 34, - "path": ".compiled/round10/scripts/docs/build-round-08-operational-closure-snapshot.js" - }, - { - "bytes_size": 1455, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-round-09-operational-execution-snapshot.js" - }, - { - "bytes_size": 1409, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-round-10-operational-closure-snapshot.js" - }, - { - "bytes_size": 1049, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/scripts/docs/build-round-continuity-snapshot.js" - }, - { - "bytes_size": 1400, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-round-execution-control-snapshot.js" - }, - { - "bytes_size": 4510, - "extension": ".js", - "lines": 103, - "path": ".compiled/round10/scripts/docs/validate-docs.js" - }, - { - "bytes_size": 10721, - "extension": ".js", - "lines": 297, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/build-thematic-memory.js" - }, - { - "bytes_size": 2481, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/build-workspace-memory.js" - }, - { - "bytes_size": 466, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/defaults.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/types.js" - }, - { - "bytes_size": 90, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-utils/src/compose.js" - }, - { - "bytes_size": 15764, - "extension": ".js", - "lines": 360, - "path": ".compiled/round10/packages/shared-integration-utils/src/finance-event-producers.js" - }, - { - "bytes_size": 413, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-utils/src/format.js" - }, - { - "bytes_size": 7654, - "extension": ".js", - "lines": 160, - "path": ".compiled/round10/packages/shared-integration-utils/src/identity-mcp-flow.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-utils/src/index.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-utils/src/normalize.js" - }, - { - "bytes_size": 168, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-utils/src/parse.js" - }, - { - "bytes_size": 123, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-utils/src/redact.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/channel-contract.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/envelope.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/resource.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/tool.js" - }, - { - "bytes_size": 1868, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/packages/shared-integration-trace-audit/tests/trace-audit-baseline.test.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/audit.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 2, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/correlation.js" - }, - { - "bytes_size": 688, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/index.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/redaction.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace/append-trace-step.js" - }, - { - "bytes_size": 555, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace/create-trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace/finalize-trace.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-channel-metric.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-error-metric.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-latency-metric.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-usage-metric.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/correlation/build-correlation-id.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/correlation/build-request-id.js" - }, - { - "bytes_size": 389, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/audit/create-audit-event.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/audit/redact-audit-payload.js" - }, - { - "bytes_size": 1543, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/packages/shared-integration-session/src/context.js" - }, - { - "bytes_size": 1449, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/packages/shared-integration-session/src/handoff.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-session/src/index.js" - }, - { - "bytes_size": 2095, - "extension": ".js", - "lines": 57, - "path": ".compiled/round10/packages/shared-integration-session/src/resume.js" - }, - { - "bytes_size": 103, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-session/src/revocation.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/packages/shared-integration-session/src/session-state.js" - }, - { - "bytes_size": 4257, - "extension": ".js", - "lines": 135, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/in-memory-store.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/index.js" - }, - { - "bytes_size": 751, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/keys.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/types.js" - }, - { - "bytes_size": 2150, - "extension": ".js", - "lines": 58, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-confidence-view.js" - }, - { - "bytes_size": 2669, - "extension": ".js", - "lines": 78, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-integrity-status.js" - }, - { - "bytes_size": 1887, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-lineage-trace.js" - }, - { - "bytes_size": 1256, - "extension": ".js", - "lines": 23, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-operational-summary.js" - }, - { - "bytes_size": 2284, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-readiness-report.js" - }, - { - "bytes_size": 273, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-reliability/src/index.js" - }, - { - "bytes_size": 1923, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/packages/shared-integration-reliability/src/list-operational-incidents.js" - }, - { - "bytes_size": 4591, - "extension": ".js", - "lines": 122, - "path": ".compiled/round10/packages/shared-integration-reliability/src/shared.js" - }, - { - "bytes_size": 2282, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/packages/shared-integration-operations/src/batch-health.js" - }, - { - "bytes_size": 104, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-operations/src/index.js" - }, - { - "bytes_size": 1309, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/packages/shared-integration-operations/src/quarantine.js" - }, - { - "bytes_size": 1996, - "extension": ".js", - "lines": 56, - "path": ".compiled/round10/packages/shared-integration-operations/src/source-status.js" - }, - { - "bytes_size": 1002, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-openapi/tests/openapi-baseline.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-openapi.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-schemas.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-tool-operation.js" - }, - { - "bytes_size": 985, - "extension": ".js", - "lines": 22, - "path": ".compiled/round10/packages/shared-integration-openapi/src/index.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-openapi/src/openapi-document.js" - }, - { - "bytes_size": 79, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-openapi/src/openapi-paths.js" - }, - { - "bytes_size": 58, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-openapi/src/openapi-schemas.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-openapi/src/surface-minima.js" - }, - { - "bytes_size": 194, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/entitlement-schema.js" - }, - { - "bytes_size": 240, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/group-schema.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/layer-schema.js" - }, - { - "bytes_size": 341, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/resource-schema.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/session-schema.js" - }, - { - "bytes_size": 290, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/tool-schema.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/catalog-groups-path.js" - }, - { - "bytes_size": 282, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/catalog-layers-path.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/catalog-tools-path.js" - }, - { - "bytes_size": 277, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/health-path.js" - }, - { - "bytes_size": 745, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/tool-call-path.js" - }, - { - "bytes_size": 502, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/tool-describe-path.js" - }, - { - "bytes_size": 818, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-document.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-info.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-paths.js" - }, - { - "bytes_size": 2771, - "extension": ".js", - "lines": 78, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-schemas.js" - }, - { - "bytes_size": 213, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-servers.js" - }, - { - "bytes_size": 209, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-openapi/src/adapters/build-action-openapi.js" - }, - { - "bytes_size": 199, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-openapi/src/adapters/build-mcp-openapi.js" - }, - { - "bytes_size": 473, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-kernel/src/bootstrap.js" - }, - { - "bytes_size": 503, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-kernel/src/guards.js" - }, - { - "bytes_size": 363, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-kernel/src/index.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-kernel/src/manifest.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-kernel/src/orchestrate.js" - }, - { - "bytes_size": 364, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-kernel/src/request-context.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/managed-provider-manager.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/plugin-registry.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/provider-manager.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/taxonomy-manager.js" - }, - { - "bytes_size": 2683, - "extension": ".js", - "lines": 83, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/capability-access.js" - }, - { - "bytes_size": 133, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/channel-access.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/eligibility.js" - }, - { - "bytes_size": 167, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/index.js" - }, - { - "bytes_size": 396, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/limits.js" - }, - { - "bytes_size": 68, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/plan.js" - }, - { - "bytes_size": 1626, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/packages/shared-integration-dispatch/tests/dispatch-baseline.test.js" - }, - { - "bytes_size": 641, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-dispatch-context.js" - }, - { - "bytes_size": 2463, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-dispatch-plan.js" - }, - { - "bytes_size": 538, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-dispatch-response.js" - }, - { - "bytes_size": 1092, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-event-catalog.js" - }, - { - "bytes_size": 607, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-catalog-call.js" - }, - { - "bytes_size": 560, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-protected.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-resource-call.js" - }, - { - "bytes_size": 1142, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-tool-call.js" - }, - { - "bytes_size": 257, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/error-map.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/execution-manager.js" - }, - { - "bytes_size": 781, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/index.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-provider.js" - }, - { - "bytes_size": 436, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-target-app.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-target-integration.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-tool.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/result-normalizer.js" - }, - { - "bytes_size": 884, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/run-call.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/errors/dispatch-error.js" - }, - { - "bytes_size": 279, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/errors/target-resolution-error.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/chunks.js" - }, - { - "bytes_size": 1273, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/compare.js" - }, - { - "bytes_size": 1816, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/excerpts.js" - }, - { - "bytes_size": 900, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/highlights.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/index.js" - }, - { - "bytes_size": 1640, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/sections.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-content-types/src/document-reading.js" - }, - { - "bytes_size": 39, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-content-types/src/index.js" - }, - { - "bytes_size": 1775, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js" - }, - { - "bytes_size": 1765, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js" - }, - { - "bytes_size": 3052, - "extension": ".js", - "lines": 59, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js" - }, - { - "bytes_size": 1574, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/public-contract.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/pwa-contract.js" - }, - { - "bytes_size": 132, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-catalog/src/capability-types.js" - }, - { - "bytes_size": 19240, - "extension": ".js", - "lines": 471, - "path": ".compiled/round10/packages/shared-integration-catalog/src/commercial-readiness-policy.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-catalog/src/communication-modes.js" - }, - { - "bytes_size": 48979, - "extension": ".js", - "lines": 987, - "path": ".compiled/round10/packages/shared-integration-catalog/src/discovery.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-catalog/src/groups.js" - }, - { - "bytes_size": 549, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/packages/shared-integration-catalog/src/index.js" - }, - { - "bytes_size": 349, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-catalog/src/layers.js" - }, - { - "bytes_size": 12276, - "extension": ".js", - "lines": 307, - "path": ".compiled/round10/packages/shared-integration-catalog/src/maturity-snapshot.js" - }, - { - "bytes_size": 4767, - "extension": ".js", - "lines": 133, - "path": ".compiled/round10/packages/shared-integration-catalog/src/maturity.js" - }, - { - "bytes_size": 15881, - "extension": ".js", - "lines": 405, - "path": ".compiled/round10/packages/shared-integration-catalog/src/provider-live-roadmap.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-catalog/src/publication-status.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-catalog/src/resources-index.js" - }, - { - "bytes_size": 206, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-catalog/src/resources.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-catalog/src/tools-index.js" - }, - { - "bytes_size": 692, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/packages/shared-integration-catalog/src/tools.js" - }, - { - "bytes_size": 117, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-catalog/src/versioning-status.js" - }, - { - "bytes_size": 110, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-auth/src/auth-guards.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-auth/src/auth-policy.js" - }, - { - "bytes_size": 1009, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/packages/shared-integration-auth/src/auth-profile.js" - }, - { - "bytes_size": 22663, - "extension": ".js", - "lines": 571, - "path": ".compiled/round10/packages/shared-integration-auth/src/byok-contract.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/packages/shared-integration-auth/src/byok-enrollment.js" - }, - { - "bytes_size": 668, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/packages/shared-integration-auth/src/index.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/auth-loader.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/auth-registry.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/catalog.js" - }, - { - "bytes_size": 193, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/managed-catalog.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/messages.js" - }, - { - "bytes_size": 188, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/policies.js" - }, - { - "bytes_size": 335, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/runtime.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-auth/src/contracts/auth-worker-contract.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-auth/src/contracts/provider-auth-contract.js" - }, - { - "bytes_size": 494, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/channel-resolver.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/dependency-graph.js" - }, - { - "bytes_size": 589, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/domain-resolver.js" - }, - { - "bytes_size": 81, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/drift-format.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/index.js" - }, - { - "bytes_size": 551, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/module-classifier.js" - }, - { - "bytes_size": 106, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/path-parser.js" - }, - { - "bytes_size": 87, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/violation-format.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/admission-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/architecture-drift.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/architecture-violation.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/boundary-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/channel-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/dependency-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/domain-catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/domain-id.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/domain-owner.js" - }, - { - "bytes_size": 407, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/module-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/placement-rule.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/admission-rules.js" - }, - { - "bytes_size": 84, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/channel-rules.js" - }, - { - "bytes_size": 147, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/domain-rules.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/import-rules.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/index.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/naming-rules.js" - }, - { - "bytes_size": 119, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/placement-rules.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/runtime-rules.js" - }, - { - "bytes_size": 14064, - "extension": ".js", - "lines": 266, - "path": ".compiled/round10/packages/shared-integration-admin-ops/tests/admin-ops-baseline.test.js" - }, - { - "bytes_size": 34646, - "extension": ".js", - "lines": 786, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/admin-contracts.js" - }, - { - "bytes_size": 12746, - "extension": ".js", - "lines": 309, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/admin-observability.js" - }, - { - "bytes_size": 2188, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/approvals.js" - }, - { - "bytes_size": 61197, - "extension": ".js", - "lines": 1374, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/backend.js" - }, - { - "bytes_size": 12494, - "extension": ".js", - "lines": 292, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/byok-custody-governance.js" - }, - { - "bytes_size": 15965, - "extension": ".js", - "lines": 436, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/compact-contract.js" - }, - { - "bytes_size": 824, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/doc-links.js" - }, - { - "bytes_size": 1021, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/domain-health.js" - }, - { - "bytes_size": 954, - "extension": ".js", - "lines": 23, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/index.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/operator-assist.js" - }, - { - "bytes_size": 1365, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/overview.js" - }, - { - "bytes_size": 8207, - "extension": ".js", - "lines": 160, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/provider-operations.js" - }, - { - "bytes_size": 10681, - "extension": ".js", - "lines": 245, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-08-evidence-store.js" - }, - { - "bytes_size": 97315, - "extension": ".js", - "lines": 2063, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-08-operational-closure.js" - }, - { - "bytes_size": 52391, - "extension": ".js", - "lines": 1180, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-08-operational-playbook.js" - }, - { - "bytes_size": 90128, - "extension": ".js", - "lines": 1946, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-09-operational-execution.js" - }, - { - "bytes_size": 246190, - "extension": ".js", - "lines": 5047, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-execution-ledger.generated.js" - }, - { - "bytes_size": 3874, - "extension": ".js", - "lines": 65, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-execution-ledger.js" - }, - { - "bytes_size": 349606, - "extension": ".js", - "lines": 9035, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-operational-closure.generated.js" - }, - { - "bytes_size": 20258, - "extension": ".js", - "lines": 432, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-operational-closure.js" - }, - { - "bytes_size": 49298, - "extension": ".js", - "lines": 1036, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-continuity.js" - }, - { - "bytes_size": 48791, - "extension": ".js", - "lines": 1060, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-execution-control.js" - }, - { - "bytes_size": 25073, - "extension": ".js", - "lines": 495, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-service-order-documents.js" - }, - { - "bytes_size": 64240, - "extension": ".js", - "lines": 1360, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-service-order-execution.js" - }, - { - "bytes_size": 2340, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/support.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/types.js" - }, - { - "bytes_size": 580051, - "extension": ".json", - "lines": 0, - "path": ".compiled/round10/inventory/round-10-operational-closure.generated.json" - }, - { - "bytes_size": 4443, - "extension": ".md", - "lines": 58, - "path": ".compiled/round10/inventory/round-10-operational-closure.md" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/vercel-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/vercel-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/vercel-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 431, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/vercel-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/vercel-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 243, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/vercel-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/bridge/config.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/bridge/oauth.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/bridge/session-store.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/vercel-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 1229, - "extension": ".js", - "lines": 21, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/tests/runtime.test.js" - }, - { - "bytes_size": 887, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/index.js" - }, - { - "bytes_size": 276, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/routes/related.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/routes/topics.js" - }, - { - "bytes_size": 2945, - "extension": ".js", - "lines": 73, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/core/topics/build-topic-recommendations.js" - }, - { - "bytes_size": 4042, - "extension": ".js", - "lines": 127, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/core/related/build-related-recommendations.js" - }, - { - "bytes_size": 140, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/index.js" - }, - { - "bytes_size": 1536, - "extension": ".js", - "lines": 40, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/openapi/document.js" - }, - { - "bytes_size": 583, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/workspace/render-workspace.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/session/restore-session.js" - }, - { - "bytes_size": 753, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/reliability/render-reliability.js" - }, - { - "bytes_size": 318, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/presets/render-presets.js" - }, - { - "bytes_size": 637, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbook-content.js" - }, - { - "bytes_size": 489, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbooks.js" - }, - { - "bytes_size": 1221, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/onboarding/render-onboarding.js" - }, - { - "bytes_size": 402, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/offline/render-offline-policy.js" - }, - { - "bytes_size": 754, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/mobile/render-mobile-entry.js" - }, - { - "bytes_size": 1848, - "extension": ".js", - "lines": 38, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/home/render-home.js" - }, - { - "bytes_size": 565, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/discovery/render-discovery.js" - }, - { - "bytes_size": 514, - "extension": ".js", - "lines": 14, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/composition/render-composition.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-catalog.js" - }, - { - "bytes_size": 1224, - "extension": ".js", - "lines": 30, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-provider-detail.js" - }, - { - "bytes_size": 896, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/capabilities/render-capabilities.js" - }, - { - "bytes_size": 4373, - "extension": ".js", - "lines": 88, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/app/router.js" - }, - { - "bytes_size": 1864, - "extension": ".js", - "lines": 40, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/tests/domain.test.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/index.js" - }, - { - "bytes_size": 195, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/routes/batches.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/routes/quarantine.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/routes/sources.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/core/sources/list-source-status.js" - }, - { - "bytes_size": 129, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/core/quarantine/quarantine-operation.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/core/batches/list-batch-health.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/index.js" - }, - { - "bytes_size": 1805, - "extension": ".js", - "lines": 48, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/openapi/document.js" - }, - { - "bytes_size": 9585, - "extension": ".js", - "lines": 233, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/router.js" - }, - { - "bytes_size": 266, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/routes/openapi.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/index.js" - }, - { - "bytes_size": 783, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/pricing/render-pricing.js" - }, - { - "bytes_size": 1675, - "extension": ".js", - "lines": 31, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/integration/render-integration-page.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/home/render-home.js" - }, - { - "bytes_size": 324, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/catalog/render-public-catalog.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/activation/render-activation-entry.js" - }, - { - "bytes_size": 1843, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/app/router.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/app/routes/openapi.js" - }, - { - "bytes_size": 925, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/tests/openapi.test.js" - }, - { - "bytes_size": 5607, - "extension": ".js", - "lines": 85, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/tests/router.test.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/index.js" - }, - { - "bytes_size": 2031, - "extension": ".js", - "lines": 53, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/cors.js" - }, - { - "bytes_size": 2101, - "extension": ".js", - "lines": 63, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/rate-limit.js" - }, - { - "bytes_size": 488, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/redact-logs.js" - }, - { - "bytes_size": 1776, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/route-guard.js" - }, - { - "bytes_size": 1831, - "extension": ".js", - "lines": 40, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/provider/state.js" - }, - { - "bytes_size": 2580, - "extension": ".js", - "lines": 71, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/profile/describe.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 39, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/document.js" - }, - { - "bytes_size": 8283, - "extension": ".js", - "lines": 238, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/paths.js" - }, - { - "bytes_size": 3900, - "extension": ".js", - "lines": 115, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/schemas.js" - }, - { - "bytes_size": 1725, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/observability/trace.js" - }, - { - "bytes_size": 700, - "extension": ".js", - "lines": 14, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/handoff/build-platform-link.js" - }, - { - "bytes_size": 541, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/discovery/list-groups.js" - }, - { - "bytes_size": 395, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/descriptions/describe-tool.js" - }, - { - "bytes_size": 435, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/catalog/list-layers.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-bindings.js" - }, - { - "bytes_size": 498, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-env.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/env.js" - }, - { - "bytes_size": 775, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/response.js" - }, - { - "bytes_size": 4838, - "extension": ".js", - "lines": 95, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/router.js" - }, - { - "bytes_size": 1154, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/admin.js" - }, - { - "bytes_size": 1870, - "extension": ".js", - "lines": 39, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/capabilities.js" - }, - { - "bytes_size": 979, - "extension": ".js", - "lines": 22, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/execute.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/groups.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/handoff.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/health.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/layers.js" - }, - { - "bytes_size": 270, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/limits.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/openapi.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/profile.js" - }, - { - "bytes_size": 761, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/provider-state.js" - }, - { - "bytes_size": 720, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tool.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tools.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/index.js" - }, - { - "bytes_size": 1420, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/security/route-guard.js" - }, - { - "bytes_size": 2588, - "extension": ".js", - "lines": 67, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/profile/describe.js" - }, - { - "bytes_size": 4612, - "extension": ".js", - "lines": 95, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/openapi/document.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/client.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/errors.js" - }, - { - "bytes_size": 78, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/protocol.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/sse.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/federation/list-apps.js" - }, - { - "bytes_size": 648, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/dispatch/forward-call.js" - }, - { - "bytes_size": 346, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/catalog/build-combined-catalog.js" - }, - { - "bytes_size": 153, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/env.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/response.js" - }, - { - "bytes_size": 7367, - "extension": ".js", - "lines": 143, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/router.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/routes/openapi.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/aggregation/merge-capabilities.js" - }, - { - "bytes_size": 9151, - "extension": ".js", - "lines": 124, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/tests/smoke.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/index.js" - }, - { - "bytes_size": 2149, - "extension": ".js", - "lines": 56, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/profile/describe.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-admin-overview.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-operator-assist.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-approval-requests.js" - }, - { - "bytes_size": 226, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-doc-links.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-domain-health.js" - }, - { - "bytes_size": 360, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-provider-operations.js" - }, - { - "bytes_size": 222, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-support-tickets.js" - }, - { - "bytes_size": 8703, - "extension": ".js", - "lines": 151, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/openapi/document.js" - }, - { - "bytes_size": 5471, - "extension": ".js", - "lines": 108, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/app/router.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/index.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/session/current-session.js" - }, - { - "bytes_size": 331, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/openapi/document.js" - }, - { - "bytes_size": 310, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/entitlements/check-entitlement.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/dispatch/route-tool-call.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/core/bootstrap.js" - }, - { - "bytes_size": 340, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/core/errors.js" - }, - { - "bytes_size": 469, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/core/http-surface.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/channels/channel-contract.js" - }, - { - "bytes_size": 3159, - "extension": ".js", - "lines": 58, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/catalog/build-catalog-response.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/config.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/index.js" - }, - { - "bytes_size": 491, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/oauth.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/session-store.js" - }, - { - "bytes_size": 272, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/auth/resolve-user.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/env.js" - }, - { - "bytes_size": 229, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/response.js" - }, - { - "bytes_size": 11020, - "extension": ".js", - "lines": 175, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/router.js" - }, - { - "bytes_size": 375, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/routes/health.js" - }, - { - "bytes_size": 4491, - "extension": ".js", - "lines": 73, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/index.js" - }, - { - "bytes_size": 527, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/policies/assert-document-input.js" - }, - { - "bytes_size": 1169, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/compare-documents.js" - }, - { - "bytes_size": 10713, - "extension": ".js", - "lines": 226, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/content-catalog.js" - }, - { - "bytes_size": 470, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-chunks.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-excerpts.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-navigation.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-reading-resume-point.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-relevant-highlights.js" - }, - { - "bytes_size": 54, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/list-documents.js" - }, - { - "bytes_size": 1310, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/open-document.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/resume-store.js" - }, - { - "bytes_size": 848, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/save-reading-resume-point.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/support.js" - }, - { - "bytes_size": 1832, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/tests/unit/collaboration-worker.test.js" - }, - { - "bytes_size": 1138, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/index.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/routes/collections.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/routes/dossiers.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/routes/review.js" - }, - { - "bytes_size": 3567, - "extension": ".js", - "lines": 93, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/collaboration-registry.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/review/review-collaboration-item.js" - }, - { - "bytes_size": 65, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/dossiers/get-shared-dossier.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/collections/list-shared-collections.js" - }, - { - "bytes_size": 562, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/index.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/packages/validate-package-placement.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/imports/validate-import-boundaries.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/contracts/validate-contract-ownership.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/channels/validate-channel-adapter-scope.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/apps/validate-app-responsibility.js" - }, - { - "bytes_size": 2709, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/support/workspace-governance.js" - }, - { - "bytes_size": 490, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/violations/build-architecture-violations-report.js" - }, - { - "bytes_size": 672, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/drift/build-architecture-drift-report.js" - }, - { - "bytes_size": 1100, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/architecture/build-architecture-report.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/runtime/check-runtime-coupling-policy.js" - }, - { - "bytes_size": 522, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/placement/check-placement-policy.js" - }, - { - "bytes_size": 432, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/naming/check-naming-policy.js" - }, - { - "bytes_size": 313, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/dependencies/check-dependency-policy.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/boundaries/check-boundary-policy.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/admission/check-new-module-admission.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/check-new-module-admission.js" - }, - { - "bytes_size": 526, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/run-architecture-validation.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/ownership/ownership-catalog.js" - }, - { - "bytes_size": 433, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/domains/domain-catalog.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/channels/channel-catalog.js" - }, - { - "bytes_size": 164, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/index.js" - }, - { - "bytes_size": 945, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/document.js" - }, - { - "bytes_size": 359, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/paths.js" - }, - { - "bytes_size": 5399, - "extension": ".js", - "lines": 155, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/core/operations.js" - }, - { - "bytes_size": 12613, - "extension": ".js", - "lines": 315, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/core/runtime.js" - }, - { - "bytes_size": 1015, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/app/router.js" - }, - { - "bytes_size": 10218, - "extension": ".js", - "lines": 199, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/tests/dajuds.mcp.test.js" - }, - { - "bytes_size": 9159, - "extension": ".js", - "lines": 157, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/types.js" - }, - { - "bytes_size": 1233, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/cache.js" - }, - { - "bytes_size": 311, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/describe-tool.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/errors.js" - }, - { - "bytes_size": 4872, - "extension": ".js", - "lines": 90, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/execute-tool.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/list-tools.js" - }, - { - "bytes_size": 4393, - "extension": ".js", - "lines": 113, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/normalize.js" - }, - { - "bytes_size": 1910, - "extension": ".js", - "lines": 53, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/origins.js" - }, - { - "bytes_size": 19019, - "extension": ".js", - "lines": 458, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/process.js" - }, - { - "bytes_size": 1999, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/provider/capabilities.js" - }, - { - "bytes_size": 1618, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/provider/manifest.js" - }, - { - "bytes_size": 1885, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/product/dajuds.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/observability/audit.js" - }, - { - "bytes_size": 1039, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/observability/redaction.js" - }, - { - "bytes_size": 872, - "extension": ".js", - "lines": 30, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/observability/trace.js" - }, - { - "bytes_size": 15716, - "extension": ".js", - "lines": 417, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/mcp/tools.js" - }, - { - "bytes_size": 3360, - "extension": ".js", - "lines": 85, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/monitoring.js" - }, - { - "bytes_size": 6775, - "extension": ".js", - "lines": 152, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/process-enrichment.js" - }, - { - "bytes_size": 7579, - "extension": ".js", - "lines": 198, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/public-link-resolver.js" - }, - { - "bytes_size": 8560, - "extension": ".js", - "lines": 231, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/sources.js" - }, - { - "bytes_size": 101177, - "extension": ".js", - "lines": 2464, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/data/tribunal-catalog.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/catalog/groups.js" - }, - { - "bytes_size": 391, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/catalog/tools-index.js" - }, - { - "bytes_size": 486, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/auth/profile.js" - }, - { - "bytes_size": 735, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/app/http.js" - }, - { - "bytes_size": 2675, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/adapters/openapi.js" - }, - { - "bytes_size": 2354, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/n8n-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 476, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/n8n-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/n8n-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/n8n-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/n8n-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/n8n-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/n8n-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2372, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 485, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 184, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2356, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/mem0-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 477, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/mem0-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mem0-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 176, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/mem0-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/mem0-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mem0-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 246, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mem0-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/gitlab-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/gitlab-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitlab-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitlab-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 269, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/gitlab-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitlab-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitlab-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2358, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/gitea-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 478, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/gitea-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 143, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 429, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/gitea-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 255, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/gitea-para-ia/src/communication/error-normalization.js" - }, - { - "bytes_size": 124, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/gitea-para-ia/src/communication/request-normalization.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/gitea-para-ia/src/communication/response-normalization.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/gitea-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/bridge/callbacks.js" - }, - { - "bytes_size": 316, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/gitea-para-ia/src/bridge/oauth-flow.js" - }, - { - "bytes_size": 190, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/bridge/session-storage.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/oauth.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/session-model.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/token.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2773, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 483, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 283, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/health.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 1534, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/provider-state.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 443, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 2107, - "extension": ".js", - "lines": 57, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/profile/describe.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 280, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/auth/guards.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/auth/required-env.js" - }, - { - "bytes_size": 378, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/adapters/action.js" - }, - { - "bytes_size": 2025, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 71, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/index.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 42, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-de-integracao/index.js" - }, - { - "bytes_size": 544, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/app-padrao-de-integracao/tests/unit/auth.test.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/app-padrao-de-integracao/tests/unit/session.test.js" - }, - { - "bytes_size": 353, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/tests/contract/openapi.contract.test.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/index.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/create-session.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/get-session.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/refresh-session.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/revoke-session.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/cors.js" - }, - { - "bytes_size": 105, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/rate-limit.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/redact-logs.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/route-guard.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/describe-tool.js" - }, - { - "bytes_size": 447, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/execute-tool.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/health.js" - }, - { - "bytes_size": 166, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/list-resources.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/list-tools.js" - }, - { - "bytes_size": 112, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 274, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/openapi/document.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/openapi/paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/openapi/schemas.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/observability/errors.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/observability/logger.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/observability/trace.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-capability-summary.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-handoff-link.js" - }, - { - "bytes_size": 155, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-limits-view.js" - }, - { - "bytes_size": 114, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-resource-summary.js" - }, - { - "bytes_size": 107, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-tool-summary.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/service.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/build-channel-context.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/build-provider-context.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/build-runtime-context.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/check-readiness.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/examples.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/groups.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/layers.js" - }, - { - "bytes_size": 227, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/resources-index.js" - }, - { - "bytes_size": 267, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/tools-index.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/boot/validate-bindings.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/boot/validate-env.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-capability.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-permission.js" - }, - { - "bytes_size": 115, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-resource-access.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-role.js" - }, - { - "bytes_size": 307, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/auth/build-auth-context.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/auth/guards.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/auth/profile.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/env.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/response.js" - }, - { - "bytes_size": 2408, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/router.js" - }, - { - "bytes_size": 215, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/capabilities.js" - }, - { - "bytes_size": 170, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/health.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/openapi.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/tool-call.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/tool-describe.js" - }, - { - "bytes_size": 187, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/tool-list.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/action.js" - }, - { - "bytes_size": 305, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/central.js" - }, - { - "bytes_size": 239, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/openapi.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/public.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/pwa.js" - }, - { - "bytes_size": 6648, - "extension": ".js", - "lines": 116, - "path": ".compiled/round10/app/whatsapp-qr-session/tests/whatsapp-qr-session.test.js" - }, - { - "bytes_size": 1807, - "extension": ".js", - "lines": 33, - "path": ".compiled/round10/app/whatsapp-qr-session/src/index.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/app/whatsapp-qr-session/src/storage/session-store.js" - }, - { - "bytes_size": 5367, - "extension": ".js", - "lines": 120, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/diagnostic-service.js" - }, - { - "bytes_size": 686, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/ids.js" - }, - { - "bytes_size": 3837, - "extension": ".js", - "lines": 105, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/qr-service.js" - }, - { - "bytes_size": 4465, - "extension": ".js", - "lines": 108, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/session-service.js" - }, - { - "bytes_size": 1662, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/status-service.js" - }, - { - "bytes_size": 1304, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/app/whatsapp-qr-session/src/security/redaction.js" - }, - { - "bytes_size": 7437, - "extension": ".js", - "lines": 165, - "path": ".compiled/round10/app/whatsapp-qr-session/src/runtime/tool-executor.js" - }, - { - "bytes_size": 3988, - "extension": ".js", - "lines": 43, - "path": ".compiled/round10/app/whatsapp-qr-session/src/mcp/contract.js" - }, - { - "bytes_size": 680, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/app/whatsapp-qr-session/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/app/whatsapp-qr-session/src/domain/types.js" - }, - { - "bytes_size": 763, - "extension": ".js", - "lines": 14, - "path": ".compiled/round10/app/whatsapp-qr-session/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 17831, - "extension": ".js", - "lines": 340, - "path": ".compiled/round10/app/whatsapp-para-ia/tests/whatsapp-para-ia.test.js" - }, - { - "bytes_size": 3386, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/app/whatsapp-para-ia/src/index.js" - }, - { - "bytes_size": 743, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/app/whatsapp-para-ia/src/webhooks/validation.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/app/whatsapp-para-ia/src/storage/session-store.js" - }, - { - "bytes_size": 1583, - "extension": ".js", - "lines": 33, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/commercial-service.js" - }, - { - "bytes_size": 7421, - "extension": ".js", - "lines": 155, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/diagnostic-service.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 61, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/event-service.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/ids.js" - }, - { - "bytes_size": 4099, - "extension": ".js", - "lines": 102, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/message-service.js" - }, - { - "bytes_size": 3754, - "extension": ".js", - "lines": 103, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/qr-service.js" - }, - { - "bytes_size": 4160, - "extension": ".js", - "lines": 108, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/session-service.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 42, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/status-service.js" - }, - { - "bytes_size": 1330, - "extension": ".js", - "lines": 45, - "path": ".compiled/round10/app/whatsapp-para-ia/src/security/redaction.js" - }, - { - "bytes_size": 10500, - "extension": ".js", - "lines": 218, - "path": ".compiled/round10/app/whatsapp-para-ia/src/runtime/tool-executor.js" - }, - { - "bytes_size": 5774, - "extension": ".js", - "lines": 51, - "path": ".compiled/round10/app/whatsapp-para-ia/src/mcp/contract.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/app/whatsapp-para-ia/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/app/whatsapp-para-ia/src/domain/types.js" - }, - { - "bytes_size": 8689, - "extension": ".js", - "lines": 215, - "path": ".compiled/round10/app/whatsapp-para-ia/src/diagnostics/commercial-readiness.js" - }, - { - "bytes_size": 25932, - "extension": ".js", - "lines": 571, - "path": ".compiled/round10/app/whatsapp-para-ia/src/diagnostics/operational-readiness.js" - }, - { - "bytes_size": 755, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/app/whatsapp-para-ia/src/diagnostics/readiness-matrix.js" - }, - { - "bytes_size": 786, - "extension": ".js", - "lines": 22, - "path": ".compiled/round10/app/whatsapp-para-ia/src/config/product-config.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/app/whatsapp-para-ia/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 10721, - "extension": ".js", - "lines": 297, - "path": ".compiled/packages/shared-integration-workspace-memory/src/build-thematic-memory.js" - }, - { - "bytes_size": 2481, - "extension": ".js", - "lines": 52, - "path": ".compiled/packages/shared-integration-workspace-memory/src/build-workspace-memory.js" - }, - { - "bytes_size": 466, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-workspace-memory/src/defaults.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-workspace-memory/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-workspace-memory/src/types.js" - }, - { - "bytes_size": 90, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-utils/src/compose.js" - }, - { - "bytes_size": 15764, - "extension": ".js", - "lines": 360, - "path": ".compiled/packages/shared-integration-utils/src/finance-event-producers.js" - }, - { - "bytes_size": 413, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-utils/src/format.js" - }, - { - "bytes_size": 7654, - "extension": ".js", - "lines": 160, - "path": ".compiled/packages/shared-integration-utils/src/identity-mcp-flow.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-utils/src/index.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-utils/src/normalize.js" - }, - { - "bytes_size": 168, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-utils/src/parse.js" - }, - { - "bytes_size": 123, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-utils/src/redact.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/channel-contract.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/envelope.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/resource.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/tool.js" - }, - { - "bytes_size": 1868, - "extension": ".js", - "lines": 32, - "path": ".compiled/packages/shared-integration-trace-audit/tests/trace-audit-baseline.test.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-trace-audit/src/audit.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 2, - "path": ".compiled/packages/shared-integration-trace-audit/src/correlation.js" - }, - { - "bytes_size": 688, - "extension": ".js", - "lines": 16, - "path": ".compiled/packages/shared-integration-trace-audit/src/index.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-trace-audit/src/redaction.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace/append-trace-step.js" - }, - { - "bytes_size": 555, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace/create-trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace/finalize-trace.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-channel-metric.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-error-metric.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-latency-metric.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-usage-metric.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-trace-audit/src/correlation/build-correlation-id.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-trace-audit/src/correlation/build-request-id.js" - }, - { - "bytes_size": 389, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-trace-audit/src/audit/create-audit-event.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-trace-audit/src/audit/redact-audit-payload.js" - }, - { - "bytes_size": 1543, - "extension": ".js", - "lines": 44, - "path": ".compiled/packages/shared-integration-session/src/context.js" - }, - { - "bytes_size": 1449, - "extension": ".js", - "lines": 47, - "path": ".compiled/packages/shared-integration-session/src/handoff.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-session/src/index.js" - }, - { - "bytes_size": 2095, - "extension": ".js", - "lines": 57, - "path": ".compiled/packages/shared-integration-session/src/resume.js" - }, - { - "bytes_size": 103, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-session/src/revocation.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 26, - "path": ".compiled/packages/shared-integration-session/src/session-state.js" - }, - { - "bytes_size": 4257, - "extension": ".js", - "lines": 135, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/in-memory-store.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/index.js" - }, - { - "bytes_size": 751, - "extension": ".js", - "lines": 20, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/keys.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/types.js" - }, - { - "bytes_size": 2150, - "extension": ".js", - "lines": 58, - "path": ".compiled/packages/shared-integration-reliability/src/build-confidence-view.js" - }, - { - "bytes_size": 2669, - "extension": ".js", - "lines": 78, - "path": ".compiled/packages/shared-integration-reliability/src/build-integrity-status.js" - }, - { - "bytes_size": 1887, - "extension": ".js", - "lines": 55, - "path": ".compiled/packages/shared-integration-reliability/src/build-lineage-trace.js" - }, - { - "bytes_size": 1256, - "extension": ".js", - "lines": 23, - "path": ".compiled/packages/shared-integration-reliability/src/build-operational-summary.js" - }, - { - "bytes_size": 2284, - "extension": ".js", - "lines": 54, - "path": ".compiled/packages/shared-integration-reliability/src/build-readiness-report.js" - }, - { - "bytes_size": 273, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-reliability/src/index.js" - }, - { - "bytes_size": 1923, - "extension": ".js", - "lines": 55, - "path": ".compiled/packages/shared-integration-reliability/src/list-operational-incidents.js" - }, - { - "bytes_size": 4591, - "extension": ".js", - "lines": 122, - "path": ".compiled/packages/shared-integration-reliability/src/shared.js" - }, - { - "bytes_size": 2282, - "extension": ".js", - "lines": 54, - "path": ".compiled/packages/shared-integration-operations/src/batch-health.js" - }, - { - "bytes_size": 104, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-operations/src/index.js" - }, - { - "bytes_size": 1309, - "extension": ".js", - "lines": 36, - "path": ".compiled/packages/shared-integration-operations/src/quarantine.js" - }, - { - "bytes_size": 1996, - "extension": ".js", - "lines": 56, - "path": ".compiled/packages/shared-integration-operations/src/source-status.js" - }, - { - "bytes_size": 1002, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-openapi/tests/openapi-baseline.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-openapi/src/build-openapi.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-openapi/src/build-paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-openapi/src/build-schemas.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-openapi/src/build-tool-operation.js" - }, - { - "bytes_size": 985, - "extension": ".js", - "lines": 22, - "path": ".compiled/packages/shared-integration-openapi/src/index.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-openapi/src/openapi-document.js" - }, - { - "bytes_size": 79, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-openapi/src/openapi-paths.js" - }, - { - "bytes_size": 58, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-openapi/src/openapi-schemas.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-openapi/src/surface-minima.js" - }, - { - "bytes_size": 194, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/entitlement-schema.js" - }, - { - "bytes_size": 240, - "extension": ".js", - "lines": 11, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/group-schema.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/layer-schema.js" - }, - { - "bytes_size": 341, - "extension": ".js", - "lines": 11, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/resource-schema.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/session-schema.js" - }, - { - "bytes_size": 290, - "extension": ".js", - "lines": 10, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/tool-schema.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/catalog-groups-path.js" - }, - { - "bytes_size": 282, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/catalog-layers-path.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/catalog-tools-path.js" - }, - { - "bytes_size": 277, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/health-path.js" - }, - { - "bytes_size": 745, - "extension": ".js", - "lines": 28, - "path": ".compiled/packages/shared-integration-openapi/src/paths/tool-call-path.js" - }, - { - "bytes_size": 502, - "extension": ".js", - "lines": 20, - "path": ".compiled/packages/shared-integration-openapi/src/paths/tool-describe-path.js" - }, - { - "bytes_size": 818, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-document.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-info.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-paths.js" - }, - { - "bytes_size": 2771, - "extension": ".js", - "lines": 78, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-schemas.js" - }, - { - "bytes_size": 213, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-servers.js" - }, - { - "bytes_size": 209, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-openapi/src/adapters/build-action-openapi.js" - }, - { - "bytes_size": 199, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-openapi/src/adapters/build-mcp-openapi.js" - }, - { - "bytes_size": 473, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-kernel/src/bootstrap.js" - }, - { - "bytes_size": 503, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-kernel/src/guards.js" - }, - { - "bytes_size": 363, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-kernel/src/index.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-kernel/src/manifest.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-kernel/src/orchestrate.js" - }, - { - "bytes_size": 364, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-kernel/src/request-context.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-kernel/src/managers/managed-provider-manager.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-kernel/src/managers/plugin-registry.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-kernel/src/managers/provider-manager.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-kernel/src/managers/taxonomy-manager.js" - }, - { - "bytes_size": 2683, - "extension": ".js", - "lines": 83, - "path": ".compiled/packages/shared-integration-entitlements/src/capability-access.js" - }, - { - "bytes_size": 133, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-entitlements/src/channel-access.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-entitlements/src/eligibility.js" - }, - { - "bytes_size": 167, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-entitlements/src/index.js" - }, - { - "bytes_size": 396, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-entitlements/src/limits.js" - }, - { - "bytes_size": 68, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-entitlements/src/plan.js" - }, - { - "bytes_size": 1626, - "extension": ".js", - "lines": 35, - "path": ".compiled/packages/shared-integration-dispatch/tests/dispatch-baseline.test.js" - }, - { - "bytes_size": 641, - "extension": ".js", - "lines": 16, - "path": ".compiled/packages/shared-integration-dispatch/src/build-dispatch-context.js" - }, - { - "bytes_size": 2463, - "extension": ".js", - "lines": 55, - "path": ".compiled/packages/shared-integration-dispatch/src/build-dispatch-plan.js" - }, - { - "bytes_size": 538, - "extension": ".js", - "lines": 15, - "path": ".compiled/packages/shared-integration-dispatch/src/build-dispatch-response.js" - }, - { - "bytes_size": 1092, - "extension": ".js", - "lines": 28, - "path": ".compiled/packages/shared-integration-dispatch/src/build-event-catalog.js" - }, - { - "bytes_size": 607, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-catalog-call.js" - }, - { - "bytes_size": 560, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-protected.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-resource-call.js" - }, - { - "bytes_size": 1142, - "extension": ".js", - "lines": 17, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-tool-call.js" - }, - { - "bytes_size": 257, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/error-map.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-dispatch/src/execution-manager.js" - }, - { - "bytes_size": 781, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-dispatch/src/index.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-provider.js" - }, - { - "bytes_size": 436, - "extension": ".js", - "lines": 10, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-target-app.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-target-integration.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-tool.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-dispatch/src/result-normalizer.js" - }, - { - "bytes_size": 884, - "extension": ".js", - "lines": 17, - "path": ".compiled/packages/shared-integration-dispatch/src/run-call.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-dispatch/src/errors/dispatch-error.js" - }, - { - "bytes_size": 279, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-dispatch/src/errors/target-resolution-error.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-content-utils/src/chunks.js" - }, - { - "bytes_size": 1273, - "extension": ".js", - "lines": 29, - "path": ".compiled/packages/shared-integration-content-utils/src/compare.js" - }, - { - "bytes_size": 1816, - "extension": ".js", - "lines": 46, - "path": ".compiled/packages/shared-integration-content-utils/src/excerpts.js" - }, - { - "bytes_size": 900, - "extension": ".js", - "lines": 25, - "path": ".compiled/packages/shared-integration-content-utils/src/highlights.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-content-utils/src/index.js" - }, - { - "bytes_size": 1640, - "extension": ".js", - "lines": 52, - "path": ".compiled/packages/shared-integration-content-utils/src/sections.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-content-types/src/document-reading.js" - }, - { - "bytes_size": 39, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-content-types/src/index.js" - }, - { - "bytes_size": 1775, - "extension": ".js", - "lines": 26, - "path": ".compiled/packages/shared-integration-channel-contracts/src/central-contract.js" - }, - { - "bytes_size": 1765, - "extension": ".js", - "lines": 27, - "path": ".compiled/packages/shared-integration-channel-contracts/src/gpt-contract.js" - }, - { - "bytes_size": 3052, - "extension": ".js", - "lines": 59, - "path": ".compiled/packages/shared-integration-channel-contracts/src/index.js" - }, - { - "bytes_size": 1574, - "extension": ".js", - "lines": 25, - "path": ".compiled/packages/shared-integration-channel-contracts/src/public-contract.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 25, - "path": ".compiled/packages/shared-integration-channel-contracts/src/pwa-contract.js" - }, - { - "bytes_size": 132, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-catalog/src/capability-types.js" - }, - { - "bytes_size": 19240, - "extension": ".js", - "lines": 471, - "path": ".compiled/packages/shared-integration-catalog/src/commercial-readiness-policy.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-catalog/src/communication-modes.js" - }, - { - "bytes_size": 48979, - "extension": ".js", - "lines": 987, - "path": ".compiled/packages/shared-integration-catalog/src/discovery.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-catalog/src/groups.js" - }, - { - "bytes_size": 549, - "extension": ".js", - "lines": 15, - "path": ".compiled/packages/shared-integration-catalog/src/index.js" - }, - { - "bytes_size": 349, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-catalog/src/layers.js" - }, - { - "bytes_size": 12276, - "extension": ".js", - "lines": 307, - "path": ".compiled/packages/shared-integration-catalog/src/maturity-snapshot.js" - }, - { - "bytes_size": 4767, - "extension": ".js", - "lines": 133, - "path": ".compiled/packages/shared-integration-catalog/src/maturity.js" - }, - { - "bytes_size": 15881, - "extension": ".js", - "lines": 405, - "path": ".compiled/packages/shared-integration-catalog/src/provider-live-roadmap.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-catalog/src/publication-status.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-catalog/src/resources-index.js" - }, - { - "bytes_size": 206, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-catalog/src/resources.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-catalog/src/tools-index.js" - }, - { - "bytes_size": 692, - "extension": ".js", - "lines": 20, - "path": ".compiled/packages/shared-integration-catalog/src/tools.js" - }, - { - "bytes_size": 117, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-catalog/src/versioning-status.js" - }, - { - "bytes_size": 110, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-auth/src/auth-guards.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-auth/src/auth-policy.js" - }, - { - "bytes_size": 1009, - "extension": ".js", - "lines": 32, - "path": ".compiled/packages/shared-integration-auth/src/auth-profile.js" - }, - { - "bytes_size": 22663, - "extension": ".js", - "lines": 571, - "path": ".compiled/packages/shared-integration-auth/src/byok-contract.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 54, - "path": ".compiled/packages/shared-integration-auth/src/byok-enrollment.js" - }, - { - "bytes_size": 668, - "extension": ".js", - "lines": 16, - "path": ".compiled/packages/shared-integration-auth/src/index.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-auth/src/providers/auth-loader.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-auth/src/providers/auth-registry.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-auth/src/providers/catalog.js" - }, - { - "bytes_size": 193, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-auth/src/providers/managed-catalog.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-auth/src/providers/messages.js" - }, - { - "bytes_size": 188, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-auth/src/providers/policies.js" - }, - { - "bytes_size": 335, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-auth/src/providers/runtime.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-auth/src/contracts/auth-worker-contract.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-auth/src/contracts/provider-auth-contract.js" - }, - { - "bytes_size": 494, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-architecture-utils/src/channel-resolver.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-architecture-utils/src/dependency-graph.js" - }, - { - "bytes_size": 589, - "extension": ".js", - "lines": 15, - "path": ".compiled/packages/shared-integration-architecture-utils/src/domain-resolver.js" - }, - { - "bytes_size": 81, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-architecture-utils/src/drift-format.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-architecture-utils/src/index.js" - }, - { - "bytes_size": 551, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-architecture-utils/src/module-classifier.js" - }, - { - "bytes_size": 106, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-architecture-utils/src/path-parser.js" - }, - { - "bytes_size": 87, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-architecture-utils/src/violation-format.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/admission-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/architecture-drift.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/architecture-violation.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/boundary-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/channel-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/dependency-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/domain-catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/domain-id.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/domain-owner.js" - }, - { - "bytes_size": 407, - "extension": ".js", - "lines": 11, - "path": ".compiled/packages/shared-integration-architecture-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/module-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/placement-rule.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-architecture-rules/src/admission-rules.js" - }, - { - "bytes_size": 84, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-rules/src/channel-rules.js" - }, - { - "bytes_size": 147, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-architecture-rules/src/domain-rules.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-architecture-rules/src/import-rules.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-architecture-rules/src/index.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-architecture-rules/src/naming-rules.js" - }, - { - "bytes_size": 119, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-architecture-rules/src/placement-rules.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-architecture-rules/src/runtime-rules.js" - }, - { - "bytes_size": 12273, - "extension": ".js", - "lines": 242, - "path": ".compiled/packages/shared-integration-admin-ops/tests/admin-ops-baseline.test.js" - }, - { - "bytes_size": 34646, - "extension": ".js", - "lines": 786, - "path": ".compiled/packages/shared-integration-admin-ops/src/admin-contracts.js" - }, - { - "bytes_size": 12746, - "extension": ".js", - "lines": 309, - "path": ".compiled/packages/shared-integration-admin-ops/src/admin-observability.js" - }, - { - "bytes_size": 2188, - "extension": ".js", - "lines": 44, - "path": ".compiled/packages/shared-integration-admin-ops/src/approvals.js" - }, - { - "bytes_size": 59920, - "extension": ".js", - "lines": 1334, - "path": ".compiled/packages/shared-integration-admin-ops/src/backend.js" - }, - { - "bytes_size": 12494, - "extension": ".js", - "lines": 292, - "path": ".compiled/packages/shared-integration-admin-ops/src/byok-custody-governance.js" - }, - { - "bytes_size": 15872, - "extension": ".js", - "lines": 433, - "path": ".compiled/packages/shared-integration-admin-ops/src/compact-contract.js" - }, - { - "bytes_size": 824, - "extension": ".js", - "lines": 18, - "path": ".compiled/packages/shared-integration-admin-ops/src/doc-links.js" - }, - { - "bytes_size": 1021, - "extension": ".js", - "lines": 27, - "path": ".compiled/packages/shared-integration-admin-ops/src/domain-health.js" - }, - { - "bytes_size": 464, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-admin-ops/src/index.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/packages/shared-integration-admin-ops/src/operator-assist.js" - }, - { - "bytes_size": 1365, - "extension": ".js", - "lines": 27, - "path": ".compiled/packages/shared-integration-admin-ops/src/overview.js" - }, - { - "bytes_size": 8207, - "extension": ".js", - "lines": 160, - "path": ".compiled/packages/shared-integration-admin-ops/src/provider-operations.js" - }, - { - "bytes_size": 2340, - "extension": ".js", - "lines": 52, - "path": ".compiled/packages/shared-integration-admin-ops/src/support.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-admin-ops/src/types.js" - }, - { - "bytes_size": 632, - "extension": ".json", - "lines": 25, - "path": ".compiled/no-tsx-round/tsconfig.round-continuity.no-tsx.json" - }, - { - "bytes_size": 368306, - "extension": ".json", - "lines": 10354, - "path": ".compiled/inventory/admin-contract-registry.generated.json" - }, - { - "bytes_size": 3440, - "extension": ".md", - "lines": 42, - "path": ".compiled/inventory/admin-contract-registry.md" - }, - { - "bytes_size": 57086, - "extension": ".json", - "lines": 1690, - "path": ".compiled/inventory/admin-quality-gates.generated.json" - }, - { - "bytes_size": 12547, - "extension": ".md", - "lines": 114, - "path": ".compiled/inventory/admin-quality-gates.md" - }, - { - "bytes_size": 2297, - "extension": ".json", - "lines": 90, - "path": ".compiled/inventory/byok-non-leakage-proof.generated.json" - }, - { - "bytes_size": 796, - "extension": ".md", - "lines": 18, - "path": ".compiled/inventory/byok-non-leakage-proof.md" - }, - { - "bytes_size": 29162, - "extension": ".json", - "lines": 718, - "path": ".compiled/inventory/commercial-readiness-policy.generated.json" - }, - { - "bytes_size": 1916, - "extension": ".md", - "lines": 23, - "path": ".compiled/inventory/commercial-readiness-policy.md" - }, - { - "bytes_size": 1040, - "extension": ".md", - "lines": 14, - "path": ".compiled/inventory/integration-maturity-matrix.md" - }, - { - "bytes_size": 86, - "extension": ".md", - "lines": 3, - "path": ".compiled/inventory/lacunas-finais.md" - }, - { - "bytes_size": 2338, - "extension": ".md", - "lines": 33, - "path": ".compiled/inventory/maturity-status.md" - }, - { - "bytes_size": 59843, - "extension": ".json", - "lines": 1701, - "path": ".compiled/inventory/provider-live-roadmap.generated.json" - }, - { - "bytes_size": 1896, - "extension": ".md", - "lines": 16, - "path": ".compiled/inventory/provider-live-roadmap.md" - }, - { - "bytes_size": 20337, - "extension": ".json", - "lines": 626, - "path": ".compiled/inventory/provider-maturity-snapshot.generated.json" - }, - { - "bytes_size": 1779, - "extension": ".md", - "lines": 14, - "path": ".compiled/inventory/provider-status-matrix.md" - }, - { - "bytes_size": 35437, - "extension": ".json", - "lines": 985, - "path": ".compiled/inventory/whatsapp-operational-readiness.generated.json" - }, - { - "bytes_size": 5280, - "extension": ".md", - "lines": 65, - "path": ".compiled/inventory/whatsapp-operational-readiness.md" - }, - { - "bytes_size": 1036, - "extension": ".md", - "lines": 11, - "path": ".compiled/inventory/homologacao/status-matrix.md" - }, - { - "bytes_size": 409, - "extension": ".md", - "lines": 14, - "path": ".compiled/docs/prova-final/fechamento-de-maturidade.md" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/vercel-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/vercel-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/vercel-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 431, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/vercel-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/vercel-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 243, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/vercel-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/bridge/config.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/bridge/oauth.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/bridge/session-store.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/vercel-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 1229, - "extension": ".js", - "lines": 21, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/tests/runtime.test.js" - }, - { - "bytes_size": 887, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/index.js" - }, - { - "bytes_size": 276, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/routes/related.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/routes/topics.js" - }, - { - "bytes_size": 2945, - "extension": ".js", - "lines": 73, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/core/topics/build-topic-recommendations.js" - }, - { - "bytes_size": 4042, - "extension": ".js", - "lines": 127, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/core/related/build-related-recommendations.js" - }, - { - "bytes_size": 140, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/index.js" - }, - { - "bytes_size": 1536, - "extension": ".js", - "lines": 40, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/openapi/document.js" - }, - { - "bytes_size": 583, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/workspace/render-workspace.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/session/restore-session.js" - }, - { - "bytes_size": 753, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/reliability/render-reliability.js" - }, - { - "bytes_size": 318, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/presets/render-presets.js" - }, - { - "bytes_size": 637, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbook-content.js" - }, - { - "bytes_size": 489, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbooks.js" - }, - { - "bytes_size": 1221, - "extension": ".js", - "lines": 28, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/onboarding/render-onboarding.js" - }, - { - "bytes_size": 402, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/offline/render-offline-policy.js" - }, - { - "bytes_size": 754, - "extension": ".js", - "lines": 17, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/mobile/render-mobile-entry.js" - }, - { - "bytes_size": 1848, - "extension": ".js", - "lines": 38, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/home/render-home.js" - }, - { - "bytes_size": 565, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/discovery/render-discovery.js" - }, - { - "bytes_size": 514, - "extension": ".js", - "lines": 14, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/composition/render-composition.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-catalog.js" - }, - { - "bytes_size": 1224, - "extension": ".js", - "lines": 30, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-provider-detail.js" - }, - { - "bytes_size": 896, - "extension": ".js", - "lines": 27, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/capabilities/render-capabilities.js" - }, - { - "bytes_size": 4373, - "extension": ".js", - "lines": 88, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/app/router.js" - }, - { - "bytes_size": 1864, - "extension": ".js", - "lines": 40, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/tests/domain.test.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 29, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/index.js" - }, - { - "bytes_size": 195, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/routes/batches.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/routes/quarantine.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/routes/sources.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/core/sources/list-source-status.js" - }, - { - "bytes_size": 129, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/core/quarantine/quarantine-operation.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/core/batches/list-batch-health.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/index.js" - }, - { - "bytes_size": 1805, - "extension": ".js", - "lines": 48, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/openapi/document.js" - }, - { - "bytes_size": 9585, - "extension": ".js", - "lines": 233, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/router.js" - }, - { - "bytes_size": 266, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/routes/openapi.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/index.js" - }, - { - "bytes_size": 783, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/pricing/render-pricing.js" - }, - { - "bytes_size": 1675, - "extension": ".js", - "lines": 31, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/integration/render-integration-page.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/home/render-home.js" - }, - { - "bytes_size": 324, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/catalog/render-public-catalog.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/activation/render-activation-entry.js" - }, - { - "bytes_size": 1843, - "extension": ".js", - "lines": 36, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/app/router.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/app/routes/openapi.js" - }, - { - "bytes_size": 925, - "extension": ".js", - "lines": 16, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/tests/openapi.test.js" - }, - { - "bytes_size": 4519, - "extension": ".js", - "lines": 72, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/tests/router.test.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/index.js" - }, - { - "bytes_size": 2031, - "extension": ".js", - "lines": 53, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/cors.js" - }, - { - "bytes_size": 2101, - "extension": ".js", - "lines": 63, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/rate-limit.js" - }, - { - "bytes_size": 488, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/redact-logs.js" - }, - { - "bytes_size": 1776, - "extension": ".js", - "lines": 46, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/route-guard.js" - }, - { - "bytes_size": 1831, - "extension": ".js", - "lines": 40, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/provider/state.js" - }, - { - "bytes_size": 2580, - "extension": ".js", - "lines": 71, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/profile/describe.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 39, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/document.js" - }, - { - "bytes_size": 8283, - "extension": ".js", - "lines": 238, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/paths.js" - }, - { - "bytes_size": 3900, - "extension": ".js", - "lines": 115, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/schemas.js" - }, - { - "bytes_size": 1725, - "extension": ".js", - "lines": 46, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/observability/trace.js" - }, - { - "bytes_size": 700, - "extension": ".js", - "lines": 14, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/handoff/build-platform-link.js" - }, - { - "bytes_size": 541, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/discovery/list-groups.js" - }, - { - "bytes_size": 395, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/descriptions/describe-tool.js" - }, - { - "bytes_size": 435, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/catalog/list-layers.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-bindings.js" - }, - { - "bytes_size": 498, - "extension": ".js", - "lines": 17, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-env.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/env.js" - }, - { - "bytes_size": 775, - "extension": ".js", - "lines": 26, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/response.js" - }, - { - "bytes_size": 4838, - "extension": ".js", - "lines": 95, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/router.js" - }, - { - "bytes_size": 1154, - "extension": ".js", - "lines": 25, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/admin.js" - }, - { - "bytes_size": 1870, - "extension": ".js", - "lines": 39, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/capabilities.js" - }, - { - "bytes_size": 979, - "extension": ".js", - "lines": 22, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/execute.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/groups.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/handoff.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/health.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/layers.js" - }, - { - "bytes_size": 270, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/limits.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/openapi.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/profile.js" - }, - { - "bytes_size": 761, - "extension": ".js", - "lines": 16, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/provider-state.js" - }, - { - "bytes_size": 720, - "extension": ".js", - "lines": 15, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tool.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tools.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/index.js" - }, - { - "bytes_size": 1420, - "extension": ".js", - "lines": 35, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/security/route-guard.js" - }, - { - "bytes_size": 2588, - "extension": ".js", - "lines": 67, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/profile/describe.js" - }, - { - "bytes_size": 4612, - "extension": ".js", - "lines": 95, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/openapi/document.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/client.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/errors.js" - }, - { - "bytes_size": 78, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/protocol.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/sse.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/federation/list-apps.js" - }, - { - "bytes_size": 648, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/dispatch/forward-call.js" - }, - { - "bytes_size": 346, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/catalog/build-combined-catalog.js" - }, - { - "bytes_size": 153, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/env.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/response.js" - }, - { - "bytes_size": 7367, - "extension": ".js", - "lines": 143, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/router.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/routes/openapi.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/aggregation/merge-capabilities.js" - }, - { - "bytes_size": 6851, - "extension": ".js", - "lines": 93, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/tests/smoke.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/index.js" - }, - { - "bytes_size": 2149, - "extension": ".js", - "lines": 56, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/profile/describe.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-admin-overview.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-operator-assist.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-approval-requests.js" - }, - { - "bytes_size": 226, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-doc-links.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-domain-health.js" - }, - { - "bytes_size": 360, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-provider-operations.js" - }, - { - "bytes_size": 222, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-support-tickets.js" - }, - { - "bytes_size": 7701, - "extension": ".js", - "lines": 143, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/openapi/document.js" - }, - { - "bytes_size": 5189, - "extension": ".js", - "lines": 104, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/app/router.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/index.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/session/current-session.js" - }, - { - "bytes_size": 331, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/openapi/document.js" - }, - { - "bytes_size": 310, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/entitlements/check-entitlement.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/dispatch/route-tool-call.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/core/bootstrap.js" - }, - { - "bytes_size": 340, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/core/errors.js" - }, - { - "bytes_size": 469, - "extension": ".js", - "lines": 16, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/core/http-surface.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/channels/channel-contract.js" - }, - { - "bytes_size": 3159, - "extension": ".js", - "lines": 58, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/catalog/build-catalog-response.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/config.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/index.js" - }, - { - "bytes_size": 491, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/oauth.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/session-store.js" - }, - { - "bytes_size": 272, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/auth/resolve-user.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/env.js" - }, - { - "bytes_size": 229, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/response.js" - }, - { - "bytes_size": 11020, - "extension": ".js", - "lines": 175, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/router.js" - }, - { - "bytes_size": 375, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/routes/health.js" - }, - { - "bytes_size": 4491, - "extension": ".js", - "lines": 73, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/index.js" - }, - { - "bytes_size": 527, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/policies/assert-document-input.js" - }, - { - "bytes_size": 1169, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/compare-documents.js" - }, - { - "bytes_size": 10713, - "extension": ".js", - "lines": 226, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/content-catalog.js" - }, - { - "bytes_size": 470, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-chunks.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-excerpts.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-navigation.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-reading-resume-point.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-relevant-highlights.js" - }, - { - "bytes_size": 54, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/list-documents.js" - }, - { - "bytes_size": 1310, - "extension": ".js", - "lines": 28, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/open-document.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/resume-store.js" - }, - { - "bytes_size": 848, - "extension": ".js", - "lines": 18, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/save-reading-resume-point.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/support.js" - }, - { - "bytes_size": 1832, - "extension": ".js", - "lines": 37, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/tests/unit/collaboration-worker.test.js" - }, - { - "bytes_size": 1138, - "extension": ".js", - "lines": 24, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/index.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/routes/collections.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/routes/dossiers.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/routes/review.js" - }, - { - "bytes_size": 3567, - "extension": ".js", - "lines": 93, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/collaboration-registry.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/review/review-collaboration-item.js" - }, - { - "bytes_size": 65, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/dossiers/get-shared-dossier.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/collections/list-shared-collections.js" - }, - { - "bytes_size": 562, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/index.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/packages/validate-package-placement.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/imports/validate-import-boundaries.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/contracts/validate-contract-ownership.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/channels/validate-channel-adapter-scope.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/apps/validate-app-responsibility.js" - }, - { - "bytes_size": 2709, - "extension": ".js", - "lines": 54, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/support/workspace-governance.js" - }, - { - "bytes_size": 490, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/violations/build-architecture-violations-report.js" - }, - { - "bytes_size": 672, - "extension": ".js", - "lines": 18, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/drift/build-architecture-drift-report.js" - }, - { - "bytes_size": 1100, - "extension": ".js", - "lines": 26, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/architecture/build-architecture-report.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/runtime/check-runtime-coupling-policy.js" - }, - { - "bytes_size": 522, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/placement/check-placement-policy.js" - }, - { - "bytes_size": 432, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/naming/check-naming-policy.js" - }, - { - "bytes_size": 313, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/dependencies/check-dependency-policy.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/boundaries/check-boundary-policy.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/admission/check-new-module-admission.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/check-new-module-admission.js" - }, - { - "bytes_size": 526, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/run-architecture-validation.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/ownership/ownership-catalog.js" - }, - { - "bytes_size": 433, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/domains/domain-catalog.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/channels/channel-catalog.js" - }, - { - "bytes_size": 164, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/index.js" - }, - { - "bytes_size": 945, - "extension": ".js", - "lines": 26, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/document.js" - }, - { - "bytes_size": 359, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/paths.js" - }, - { - "bytes_size": 5399, - "extension": ".js", - "lines": 155, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/core/operations.js" - }, - { - "bytes_size": 12613, - "extension": ".js", - "lines": 315, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/core/runtime.js" - }, - { - "bytes_size": 1015, - "extension": ".js", - "lines": 20, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/app/router.js" - }, - { - "bytes_size": 10218, - "extension": ".js", - "lines": 199, - "path": ".compiled/apps/tudo-para-ia-dajuds/tests/dajuds.mcp.test.js" - }, - { - "bytes_size": 9159, - "extension": ".js", - "lines": 157, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/types.js" - }, - { - "bytes_size": 1233, - "extension": ".js", - "lines": 36, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/cache.js" - }, - { - "bytes_size": 311, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/describe-tool.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 37, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/errors.js" - }, - { - "bytes_size": 4872, - "extension": ".js", - "lines": 90, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/execute-tool.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/list-tools.js" - }, - { - "bytes_size": 4393, - "extension": ".js", - "lines": 113, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/normalize.js" - }, - { - "bytes_size": 1910, - "extension": ".js", - "lines": 53, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/origins.js" - }, - { - "bytes_size": 19019, - "extension": ".js", - "lines": 458, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/process.js" - }, - { - "bytes_size": 1999, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/provider/capabilities.js" - }, - { - "bytes_size": 1618, - "extension": ".js", - "lines": 32, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/provider/manifest.js" - }, - { - "bytes_size": 1885, - "extension": ".js", - "lines": 52, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/product/dajuds.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/observability/audit.js" - }, - { - "bytes_size": 1039, - "extension": ".js", - "lines": 29, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/observability/redaction.js" - }, - { - "bytes_size": 872, - "extension": ".js", - "lines": 30, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/observability/trace.js" - }, - { - "bytes_size": 15716, - "extension": ".js", - "lines": 417, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/mcp/tools.js" - }, - { - "bytes_size": 3360, - "extension": ".js", - "lines": 85, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/monitoring.js" - }, - { - "bytes_size": 6775, - "extension": ".js", - "lines": 152, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/process-enrichment.js" - }, - { - "bytes_size": 7579, - "extension": ".js", - "lines": 198, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/public-link-resolver.js" - }, - { - "bytes_size": 8560, - "extension": ".js", - "lines": 231, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/sources.js" - }, - { - "bytes_size": 101177, - "extension": ".js", - "lines": 2464, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/data/tribunal-catalog.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/catalog/groups.js" - }, - { - "bytes_size": 391, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/catalog/tools-index.js" - }, - { - "bytes_size": 486, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/auth/profile.js" - }, - { - "bytes_size": 735, - "extension": ".js", - "lines": 24, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/app/http.js" - }, - { - "bytes_size": 2675, - "extension": ".js", - "lines": 54, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/adapters/openapi.js" - }, - { - "bytes_size": 2354, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/n8n-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 476, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/n8n-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/n8n-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/n8n-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/n8n-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/n8n-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/n8n-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2372, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/mercado-pago-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 485, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/mercado-pago-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mercado-pago-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 184, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/mercado-pago-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/mercado-pago-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mercado-pago-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mercado-pago-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2356, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/mem0-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 477, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/mem0-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mem0-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 176, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/mem0-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/mem0-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mem0-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 246, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mem0-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/gitlab-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/gitlab-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitlab-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitlab-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 269, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/gitlab-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitlab-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitlab-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2358, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/gitea-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 478, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/gitea-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 143, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 429, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/gitea-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 255, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/gitea-para-ia/src/communication/error-normalization.js" - }, - { - "bytes_size": 124, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/gitea-para-ia/src/communication/request-normalization.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/gitea-para-ia/src/communication/response-normalization.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/gitea-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/bridge/callbacks.js" - }, - { - "bytes_size": 316, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/gitea-para-ia/src/bridge/oauth-flow.js" - }, - { - "bytes_size": 190, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/bridge/session-storage.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/auth/oauth.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/auth/session-model.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/auth/token.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2773, - "extension": ".js", - "lines": 55, - "path": ".compiled/apps/cloudflare-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 483, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 283, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/health.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 1534, - "extension": ".js", - "lines": 35, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/provider-state.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/cloudflare-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 443, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/cloudflare-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 2107, - "extension": ".js", - "lines": 57, - "path": ".compiled/apps/cloudflare-para-ia/src/profile/describe.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/cloudflare-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/cloudflare-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/cloudflare-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/cloudflare-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 280, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/cloudflare-para-ia/src/auth/guards.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/auth/required-env.js" - }, - { - "bytes_size": 378, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/cloudflare-para-ia/src/adapters/action.js" - }, - { - "bytes_size": 2025, - "extension": ".js", - "lines": 46, - "path": ".compiled/apps/cloudflare-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 71, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/index.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 42, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-de-integracao/index.js" - }, - { - "bytes_size": 544, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/app-padrao-de-integracao/tests/unit/auth.test.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/app-padrao-de-integracao/tests/unit/session.test.js" - }, - { - "bytes_size": 353, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/tests/contract/openapi.contract.test.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/index.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/create-session.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/get-session.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/refresh-session.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/revoke-session.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/cors.js" - }, - { - "bytes_size": 105, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/rate-limit.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/redact-logs.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/route-guard.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/describe-tool.js" - }, - { - "bytes_size": 447, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/execute-tool.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/health.js" - }, - { - "bytes_size": 166, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/list-resources.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/list-tools.js" - }, - { - "bytes_size": 112, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 274, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/openapi/document.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/openapi/paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/openapi/schemas.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/observability/errors.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/observability/logger.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/observability/trace.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-capability-summary.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-handoff-link.js" - }, - { - "bytes_size": 155, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-limits-view.js" - }, - { - "bytes_size": 114, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-resource-summary.js" - }, - { - "bytes_size": 107, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-tool-summary.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/service.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/build-channel-context.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/build-provider-context.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/build-runtime-context.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/check-readiness.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/examples.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/groups.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/layers.js" - }, - { - "bytes_size": 227, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/resources-index.js" - }, - { - "bytes_size": 267, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/tools-index.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/boot/validate-bindings.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/boot/validate-env.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-capability.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-permission.js" - }, - { - "bytes_size": 115, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-resource-access.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-role.js" - }, - { - "bytes_size": 307, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/auth/build-auth-context.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/auth/guards.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/auth/profile.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/env.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/response.js" - }, - { - "bytes_size": 2408, - "extension": ".js", - "lines": 52, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/router.js" - }, - { - "bytes_size": 215, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/capabilities.js" - }, - { - "bytes_size": 170, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/health.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/openapi.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/tool-call.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/tool-describe.js" - }, - { - "bytes_size": 187, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/tool-list.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/action.js" - }, - { - "bytes_size": 305, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/central.js" - }, - { - "bytes_size": 239, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/openapi.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/public.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/pwa.js" - }, - { - "bytes_size": 6648, - "extension": ".js", - "lines": 116, - "path": ".compiled/app/whatsapp-qr-session/tests/whatsapp-qr-session.test.js" - }, - { - "bytes_size": 1807, - "extension": ".js", - "lines": 33, - "path": ".compiled/app/whatsapp-qr-session/src/index.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/app/whatsapp-qr-session/src/storage/session-store.js" - }, - { - "bytes_size": 5367, - "extension": ".js", - "lines": 120, - "path": ".compiled/app/whatsapp-qr-session/src/services/diagnostic-service.js" - }, - { - "bytes_size": 686, - "extension": ".js", - "lines": 20, - "path": ".compiled/app/whatsapp-qr-session/src/services/ids.js" - }, - { - "bytes_size": 3837, - "extension": ".js", - "lines": 105, - "path": ".compiled/app/whatsapp-qr-session/src/services/qr-service.js" - }, - { - "bytes_size": 4465, - "extension": ".js", - "lines": 108, - "path": ".compiled/app/whatsapp-qr-session/src/services/session-service.js" - }, - { - "bytes_size": 1662, - "extension": ".js", - "lines": 44, - "path": ".compiled/app/whatsapp-qr-session/src/services/status-service.js" - }, - { - "bytes_size": 1304, - "extension": ".js", - "lines": 36, - "path": ".compiled/app/whatsapp-qr-session/src/security/redaction.js" - }, - { - "bytes_size": 7437, - "extension": ".js", - "lines": 165, - "path": ".compiled/app/whatsapp-qr-session/src/runtime/tool-executor.js" - }, - { - "bytes_size": 3988, - "extension": ".js", - "lines": 43, - "path": ".compiled/app/whatsapp-qr-session/src/mcp/contract.js" - }, - { - "bytes_size": 680, - "extension": ".js", - "lines": 10, - "path": ".compiled/app/whatsapp-qr-session/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/app/whatsapp-qr-session/src/domain/types.js" - }, - { - "bytes_size": 763, - "extension": ".js", - "lines": 14, - "path": ".compiled/app/whatsapp-qr-session/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 17831, - "extension": ".js", - "lines": 340, - "path": ".compiled/app/whatsapp-para-ia/tests/whatsapp-para-ia.test.js" - }, - { - "bytes_size": 3386, - "extension": ".js", - "lines": 46, - "path": ".compiled/app/whatsapp-para-ia/src/index.js" - }, - { - "bytes_size": 743, - "extension": ".js", - "lines": 19, - "path": ".compiled/app/whatsapp-para-ia/src/webhooks/validation.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/app/whatsapp-para-ia/src/storage/session-store.js" - }, - { - "bytes_size": 1583, - "extension": ".js", - "lines": 33, - "path": ".compiled/app/whatsapp-para-ia/src/services/commercial-service.js" - }, - { - "bytes_size": 7421, - "extension": ".js", - "lines": 155, - "path": ".compiled/app/whatsapp-para-ia/src/services/diagnostic-service.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 61, - "path": ".compiled/app/whatsapp-para-ia/src/services/event-service.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 26, - "path": ".compiled/app/whatsapp-para-ia/src/services/ids.js" - }, - { - "bytes_size": 4099, - "extension": ".js", - "lines": 102, - "path": ".compiled/app/whatsapp-para-ia/src/services/message-service.js" - }, - { - "bytes_size": 3754, - "extension": ".js", - "lines": 103, - "path": ".compiled/app/whatsapp-para-ia/src/services/qr-service.js" - }, - { - "bytes_size": 4160, - "extension": ".js", - "lines": 108, - "path": ".compiled/app/whatsapp-para-ia/src/services/session-service.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 42, - "path": ".compiled/app/whatsapp-para-ia/src/services/status-service.js" - }, - { - "bytes_size": 1330, - "extension": ".js", - "lines": 45, - "path": ".compiled/app/whatsapp-para-ia/src/security/redaction.js" - }, - { - "bytes_size": 10500, - "extension": ".js", - "lines": 218, - "path": ".compiled/app/whatsapp-para-ia/src/runtime/tool-executor.js" - }, - { - "bytes_size": 5774, - "extension": ".js", - "lines": 51, - "path": ".compiled/app/whatsapp-para-ia/src/mcp/contract.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 9, - "path": ".compiled/app/whatsapp-para-ia/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/app/whatsapp-para-ia/src/domain/types.js" - }, - { - "bytes_size": 8689, - "extension": ".js", - "lines": 215, - "path": ".compiled/app/whatsapp-para-ia/src/diagnostics/commercial-readiness.js" - }, - { - "bytes_size": 25932, - "extension": ".js", - "lines": 571, - "path": ".compiled/app/whatsapp-para-ia/src/diagnostics/operational-readiness.js" - }, - { - "bytes_size": 755, - "extension": ".js", - "lines": 8, - "path": ".compiled/app/whatsapp-para-ia/src/diagnostics/readiness-matrix.js" - }, - { - "bytes_size": 786, - "extension": ".js", - "lines": 22, - "path": ".compiled/app/whatsapp-para-ia/src/config/product-config.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 19, - "path": ".compiled/app/whatsapp-para-ia/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 4339, - "extension": ".sql", - "lines": 150, - "path": ".compiled/app/whatsapp-para-ia/schema/whatsapp_para_ia.sql" } ], "git_present": true, @@ -123218,7 +114756,7 @@ "readme_excerpt": "# tudo-para-ia-integracoes-plataform\n\nMonorepo da plataforma de integracoes de Tudo Para IA.\n\n## Fundacao materializada\n\n- raiz de monorepo com apps, packages, templates, inventory, inventario, tests, scripts e docs\n- apps centrais do dominio e gateways institucionais\n- apps de integracao minimos para Cloudflare, Gitea, GitLab, Vercel, n8n, Mem0 e Mercado Pago\n- packages compartilhados para tipos, kernel, auth, catalogo, dispatch, openapi, trace, sessao, persistencia semantica, memoria de workspace, entitlements e utilitarios\n- areas numeradas de 001 a 017 para continuidade da fila\n\n## Fronteira institucional\n\n- o dominio permanece neste repositorio\n- a documentacao institucional sobe para `tudo-para-ia-docs-plataform`\n- a operacao humana sobe para `tudo-para-ia-admins-plataform`\n- a superficie MCP interna sobe para `tudo-para-ia-mcps-internos-plataform`", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", - "scanned_at": "2026-04-30T10:32:18+00:00", + "scanned_at": "2026-04-30T11:32:31+00:00", "scripts": [ { "command": "tsc --noEmit -p tsconfig.build.json", @@ -123227,7 +114765,7 @@ "source_file": "package.json" }, { - "command": "tsx scripts/docs/build-maturity-snapshot.ts && tsx scripts/docs/build-admin-operational-snapshots.ts && tsx scripts/docs/build-round-continuity-snapshot.ts && tsx scripts/docs/build-round-execution-control-snapshot.ts && tsx scripts/docs/build-active-service-order-snapshot.ts && tsx scripts/docs/build-round-08-operational-closure-snapshot.ts && tsx scripts/docs/build-round-09-operational-execution-snapshot.ts && tsx scripts/docs/build-round-10-operational-closure-snapshot.ts && tsx scripts/docs/build-round-11-operational-execution-snapshot.ts && tsx scripts/docs/build-doc-index.ts", + "command": "tsx scripts/docs/build-maturity-snapshot.ts && tsx scripts/docs/build-admin-operational-snapshots.ts && tsx scripts/docs/build-round-continuity-snapshot.ts && tsx scripts/docs/build-round-execution-control-snapshot.ts && tsx scripts/docs/build-active-service-order-snapshot.ts && tsx scripts/docs/build-round-08-operational-closure-snapshot.ts && tsx scripts/docs/build-round-09-operational-execution-snapshot.ts && tsx scripts/docs/build-round-10-operational-closure-snapshot.ts && node scripts/round/materialize-round-11-operational-execution.mjs && tsx scripts/docs/build-doc-index.ts", "intent": "build", "name": "docs:build", "source_file": "package.json" @@ -123280,12 +114818,24 @@ "name": "ops:round10:materialize", "source_file": "package.json" }, + { + "command": "node scripts/round/materialize-round-11-operational-execution.mjs", + "intent": "operation", + "name": "ops:round11:materialize", + "source_file": "package.json" + }, { "command": "node scripts/ops/round-continuity-smoke-no-tsx.mjs", "intent": "validation", "name": "smoke:round-continuity:no-tsx", "source_file": "package.json" }, + { + "command": "node scripts/ops/round11-no-spawn-smoke.mjs", + "intent": "validation", + "name": "smoke:round11:no-tsx", + "source_file": "package.json" + }, { "command": "tsx scripts/sync/check-sync.ts", "intent": "operation", @@ -123331,7 +114881,7 @@ ], "warnings": [] }, - "summary": "Integracoes Platform foi analisada com 172063 linhas de codigo e 498 evidencias locais. Score medio humano: 100." + "summary": "Integracoes Platform foi analisada com 85505 linhas de codigo e 474 evidencias locais. Score medio humano: 100." }, { "cells": [ @@ -123734,7 +115284,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "estado unsupported/configuracao incompleta precisa decisao formal" ], @@ -123936,7 +115486,7 @@ { "confidence": 0.55, "kind": "mcp_tool", - "line": 10, + "line": 7, "path": "apps/intelligence-worker/package.json", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] @@ -124013,6 +115563,14 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 3, + "path": "apps/intelligence-worker/src/operational-closeout.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -124053,6 +115611,22 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 3, + "path": "apps/intelligence-worker/src/release-readiness-board.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 18, + "path": "apps/intelligence-worker/src/round-documentation-export.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -124069,6 +115643,14 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 49, + "path": "apps/intelligence-worker/src/service-order-governance.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -124085,14 +115667,6 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 3, - "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, { "confidence": 0.55, "kind": "mcp_tool", @@ -124277,6 +115851,17 @@ "observability" ] }, + { + "confidence": 0.68, + "kind": "observability", + "line": 7, + "path": "apps/intelligence-worker/package.json", + "summary": "Texto menciona 'readiness', sinalizando capacidade humana ou operacional.", + "tags": [ + "operations", + "observability" + ] + }, { "confidence": 0.68, "kind": "observability", @@ -124302,7 +115887,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 32, + "line": 41, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -124313,7 +115898,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 69, + "line": 87, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -124324,7 +115909,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 69, + "line": 87, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs", "summary": "Texto menciona 'trace', sinalizando capacidade humana ou operacional.", "tags": [ @@ -124530,17 +116115,6 @@ "observability" ] }, - { - "confidence": 0.68, - "kind": "observability", - "line": 5, - "path": "apps/intelligence-worker/src/index.js", - "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", - "tags": [ - "operations", - "observability" - ] - }, { "confidence": 0.78, "kind": "openapi", @@ -124645,6 +116219,14 @@ "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "openapi", + "line": 78, + "path": "apps/intelligence-worker/src/release-readiness-board.js", + "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.78, "kind": "openapi", @@ -124661,14 +116243,6 @@ "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.78, - "kind": "openapi", - "line": 39, - "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", - "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", - "tags": [] - }, { "confidence": 0.78, "kind": "openapi", @@ -124812,7 +116386,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 33, + "line": 43, "path": "apps/intelligence-worker/src/index.js", "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] @@ -124830,7 +116404,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 124, + "line": 186, "path": "apps/intelligence-worker/src/intelligence-core.js", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -124855,6 +116429,16 @@ "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": 217, + "path": "apps/intelligence-worker/src/operational-closeout.js", + "summary": "Texto menciona 'screen', sinalizando capacidade humana ou operacional.", + "tags": [ + "experience" + ] + }, { "confidence": 0.78, "kind": "ui_surface", @@ -124917,16 +116501,6 @@ "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.78, - "kind": "ui_surface", - "line": 17, - "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", - "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", - "tags": [ - "experience" - ] - }, { "confidence": 0.55, "kind": "ui_surface", @@ -124940,7 +116514,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 489, + "line": 650, "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -125063,6 +116637,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/git-sync-governance.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -125095,6 +116677,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/operational-closeout.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -125135,6 +116725,22 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/release-readiness-board.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/round-documentation-export.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -125151,6 +116757,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/service-order-governance.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -125215,9 +116829,9 @@ "path": "README.md" }, { - "bytes_size": 1659, + "bytes_size": 1889, "extension": ".md", - "lines": 30, + "lines": 31, "path": "status/summary.md" }, { @@ -125251,7 +116865,7 @@ "path": "docs/operational-contract.md" }, { - "bytes_size": 1090, + "bytes_size": 1502, "extension": ".json", "lines": 13, "path": "apps/intelligence-worker/package.json" @@ -125269,9 +116883,9 @@ "path": "apps/intelligence-worker/wrangler.toml" }, { - "bytes_size": 12286, + "bytes_size": 16102, "extension": ".mjs", - "lines": 285, + "lines": 363, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs" }, { @@ -125317,15 +116931,21 @@ "path": "apps/intelligence-worker/src/gate-orchestrator.js" }, { - "bytes_size": 8829, + "bytes_size": 16215, "extension": ".js", - "lines": 165, + "lines": 424, + "path": "apps/intelligence-worker/src/git-sync-governance.js" + }, + { + "bytes_size": 10770, + "extension": ".js", + "lines": 185, "path": "apps/intelligence-worker/src/index.js" }, { - "bytes_size": 37154, + "bytes_size": 46292, "extension": ".js", - "lines": 942, + "lines": 1133, "path": "apps/intelligence-worker/src/intelligence-core.js" }, { @@ -125340,6 +116960,12 @@ "lines": 502, "path": "apps/intelligence-worker/src/mcp-runtime-registration.js" }, + { + "bytes_size": 30552, + "extension": ".js", + "lines": 766, + "path": "apps/intelligence-worker/src/operational-closeout.js" + }, { "bytes_size": 20161, "extension": ".js", @@ -125370,6 +116996,18 @@ "lines": 605, "path": "apps/intelligence-worker/src/release-governance.js" }, + { + "bytes_size": 24160, + "extension": ".js", + "lines": 573, + "path": "apps/intelligence-worker/src/release-readiness-board.js" + }, + { + "bytes_size": 14181, + "extension": ".js", + "lines": 375, + "path": "apps/intelligence-worker/src/round-documentation-export.js" + }, { "bytes_size": 29200, "extension": ".js", @@ -125382,6 +117020,12 @@ "lines": 489, "path": "apps/intelligence-worker/src/runtime-promotion.js" }, + { + "bytes_size": 18279, + "extension": ".js", + "lines": 464, + "path": "apps/intelligence-worker/src/service-order-governance.js" + }, { "bytes_size": 20740, "extension": ".js", @@ -125407,15 +117051,15 @@ "path": "apps/intelligence-worker/scripts/run-http-smoke.mjs" }, { - "bytes_size": 234951, + "bytes_size": 892339, "extension": ".json", - "lines": 7252, + "lines": 0, "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json" }, { - "bytes_size": 15101, + "bytes_size": 18837, "extension": ".json", - "lines": 598, + "lines": 759, "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json" } ], @@ -125455,7 +117099,7 @@ "readme_excerpt": "# tudo-para-ia-intelligence-platform\n\nPlataforma de inteligencia decisoria do ecossistema Tudo Para IA.\n\nEsta versao materializa o projeto real que antes estava ausente. Ela entrega um Worker local MCP-ready, contrato operacional minimo, read models gerenciais, governanca de dados, integracao catalogavel pelo control-plane MCP, smoke HTTP local, gates institucionais, admin view same-source para GPT e painel, plano Cloudflare por `wrangler`, dossie de release e governanca cross-platform.\n\n## Layout\n\n- `apps/intelligence-worker`: Worker local com endpoints MCP-ready.\n- `apps/intelligence-worker/src`: contrato, tools, read models, readiness e auditoria.\n- `apps/intelligence-worker/contracts`: contrato completo e resumo gerados por `npm run build`.\n- `docs/operational-contract.md`: contrato operacional minimo da plataforma.\n- `docs/data-read-models.md`: mapa inicial de dados, snapshots e read models.\n- `docs/mcp-control-plane-integration.md`: regra de integracao com MCP.\n- `docs/governance-security.md`: governanca minima de dados e evidencias.\n- `docs/maturity-roadmap.md`: roadmap de maturidade e desbloqueio.\n- `status/summary.md`: estado operacional local.\n\n## API local\n\n- `GET /v1/health`\n- `GET /v1/profile`\n- `GET /v1/readiness`\n- `GET /v1/openapi`\n- `GET /v1/tools`\n- `GET /v1/tools/describe?tool=`\n- `GET /v1/contract`\n- `GET /v1/contract/summary`\n- `GET /v1/storage`\n- `GET /v1/gates`\n- `GET /v1/cloudflare/operational-state`\n- `GET /v1/cloudflare/wrangler-runbook`\n- `GET /v1/release/dossier`\n- `GET /v1/release/closeout-package`\n- `GET /v1/ecosystem/governance`\n- `GET /v1/ecosystem/dependency-graph`\n- `GET /v1/ecosystem/alignment`\n- `GET /v1/admin/overview`\n- `GET /v1/admin/same-source`\n- `POST /v1/tool/call`\n- `POST /v1/execute`\n\n## Comandos\n\n```powershell\nnpm run build\nnpm test\nnpm run smoke\nnpm run smoke:http-local\nnpm run verify\n```\n\nOs comandos usam apenas Node.js nativo. Nao ha dependencia externa obrigatoria para a validacao local.\n\n## Estado\n\n- projeto real: materializado em `G:/_codex-git/tudo-para-ia-intelligence-platform`\n- status local: `catalogOnly-local-ready`\n- status operacional amplo: `planned`, com bloqueio de endpoint HTTP publico e gates externos\n- storage Cloudflare real: D1 remoto comprovado; KV namespace comprovado; KV read/write e R2 pendentes por `spawn EPERM`\n- deploy Cloudflare: `wrangler deploy --dry-run` bloqueado neste ambiente por `child_process.spawn EPERM`\n- contrato: gerado localmente em `apps/intelligence-worker/contracts`\n- evidencia local: `npm run smoke:http-local` sobe servidor HTTP em loopback e valida health/profile/readiness/openapi/storage/gates/admin/execute\n- proximo gate: publicar endpoint HTTP real, registrar smoke central e validar Identity/Business/Docs", "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git", "repo_path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform", - "scanned_at": "2026-04-30T10:32:19+00:00", + "scanned_at": "2026-04-30T11:32:32+00:00", "scripts": [ { "command": "npm --workspace apps/intelligence-worker run build", @@ -125484,7 +117128,7 @@ ], "warnings": [] }, - "summary": "Intelligence Platform foi analisada com 10456 linhas de codigo e 153 evidencias locais. Score medio humano: 100." + "summary": "Intelligence Platform foi analisada com 13347 linhas de codigo e 161 evidencias locais. Score medio humano: 100." }, { "cells": [ @@ -125858,7 +117502,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -128350,6 +119994,16 @@ "integration" ] }, + { + "confidence": 0.78, + "kind": "security", + "line": 988, + "path": "deploy/mcps-gateway/src/providers/managed-catalog.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional.", + "tags": [ + "security" + ] + }, { "confidence": 0.78, "kind": "security", @@ -129441,7 +121095,7 @@ { "confidence": 0.55, "kind": "unknown", - "line": 305, + "line": 306, "path": "deploy/mcps-gateway/src/providers/runtime.ts", "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", "tags": [ @@ -133724,15 +125378,15 @@ "path": "deploy/mcps-gateway/src/security/auth.ts" }, { - "bytes_size": 28246, + "bytes_size": 29582, "extension": ".ts", - "lines": 700, + "lines": 730, "path": "deploy/mcps-gateway/src/providers/catalog.ts" }, { - "bytes_size": 32524, + "bytes_size": 36766, "extension": ".ts", - "lines": 930, + "lines": 1038, "path": "deploy/mcps-gateway/src/providers/managed-catalog.ts" }, { @@ -133748,9 +125402,9 @@ "path": "deploy/mcps-gateway/src/providers/policies.ts" }, { - "bytes_size": 24868, + "bytes_size": 24938, "extension": ".ts", - "lines": 667, + "lines": 668, "path": "deploy/mcps-gateway/src/providers/runtime.ts" }, { @@ -133958,9 +125612,9 @@ "path": "deploy/mcps-gateway/src/managers/intelligence-lifecycle-policy.ts" }, { - "bytes_size": 18376, + "bytes_size": 25069, "extension": ".ts", - "lines": 564, + "lines": 731, "path": "deploy/mcps-gateway/src/managers/managed-provider-manager.ts" }, { @@ -136133,7 +127787,7 @@ "readme_excerpt": "# Tudo Para IA MCPs Internos Plataform\n\nMonorepo institucional da camada interna de MCPs do ecossistema Tudo Para IA.\n\n## Escopo desta rodada\n\n- control plane central de MCPs internos\n- bridge com admins\n- bridge com docs\n- gateway para agentes\n- persistencia explicita de estado operacional\n- MCP interno da frente integracoes\n\n## Superficies materializadas\n\n- `tudo-para-ia-mcps-central` — Control plane central de discovery institucional, catalogo de superfices, auth interna, tracing, auditoria e health.\n- `tudo-para-ia-mcps-admin-bridge` — Bridge de handoff entre admins e as superfices MCP internas do ecossistema.\n- `tudo-para-ia-mcps-docs-bridge` — Bridge documental para provas, manuais e surfaces indexadas a partir do catalogo interno.\n- `tudo-para-ia-mcps-gateway-ia` — Gateway unico para agentes e IA assistiva consumirem o catalogo interno com explicabilidade e trilha.\n- `tudo-para-ia-mcps-persistencia` — Camada explicita de persistencia de sessao, workspace, homologacao e contexto operacional.\n- `mcp-interno-tudo-para-ia-integracoes` — Superficie MCP interna especifica da frente integracoes com discovery, catalogo, execucao canonica, tracing e auditoria.\n\n## Packages compartilhados\n\n- `shared-mcp-types` — Tipos basicos para superfices internas, tools, sessao e evidencia.\n- `shared-mcp-kernel` — Helpers para chaves canonic-as, nomes de superficie e agrupamento.\n- `shared-mcp-catalog` — Flatten e leitura do catalogo progressivo de superfices e tools.\n- `shared-mcp-discovery` — Camadas de discovery progressivo e breadcrumbs institucionais.\n- `shared-mcp-auth` — Politicas de acesso, escopo e leitura de entitlements internos.\n- `shared-mcp-execution` — Canonizacao de chamadas internas e shape minimo de dispatch.\n- `shared-mcp-trace` — Correlacao de requests, headers e encadeamento observavel.\n- `shared-mcp-audit` — Trilha de auditoria minima e eventos de superficie interna.\n- `shared-mcp-health` — Health, readiness e sinais sinteticos de confianca operacional.\n- `shared-mcp-session` — Sessao, favoritos e continuidade entre bridges e canais.\n- `shared-mcp-memory` — Memoria operacional, contexto de workspace e snapshots basicos.\n- `shared-mcp-governance` — Checklist institucional para rollout, prova e fechamento.\n- `shared-mcp-evidence` — Vinculo entre teste, verdade operacional e evidence links.\n\n## Areas cobertas\n\n- `001_fundacao-estrutural` — Fundacao do monorepo, bootstrap, manifests e base institucional.\n- `002_legado-migracao-e-compatibilizacao` — Leitura do legado, mapa de origem e regras de migracao.\n- `003_nucleo-multicanal` — Nucleo do controle-plane e separacao de superfices por canal.\n- `004_packages-compartilhados` — Packages de tipos, kernel, catalogo, auth e observabilidade.\n- `005_app-padrao-e-template` — Template canonico para novos MCPs internos e bridges.\n- `006_apps-de-integracao-prioritarios` — Superficies priorizadas para discovery e operacao institucional.\n- `007_apps-de-integracao-secundarios` — Superficies de apoio e extensoes futuras do ecossistema.\n- `008_catalogo-descoberta-e-experiencia` — Catalogo progressivo, descoberta assistida e leitura de contexto.\n- `009_identidade-sessao-e-entitlements` — Sessao, identidade institucional e entitlements internos.\n- `010_workspace-e-memoria-de-uso` — Workspace, favoritos, retomada e memoria operacional.\n- `011_governanca-da-base-viva` — Governanca do inventario vivo e estado da base ativa.\n- `012_seguranca-observabilidade-risco-e-saude` — Seguranca, tracing, auditoria, health e abuso.\n- `013_operacao-comercial-e-entrega` — Operacao comercial, elegibilidade, rollout e entrega.\n- `014_integracao-com-admin-docs-mcps` — Handoffs entre dominio, admins, docs e MCPs internos.\n- `015_homologacao-por-integracao` — Homologacao por superficie e trilha de aceitacao.\n- `016_testes-estruturais-e-bateria-final` — Bateria de teste estrutural e prova institucional.\n- `017_endurecimento-institucional` — Fechamento institucional, coerencia e matriz de lacunas.\n- `018_persistencia-", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", - "scanned_at": "2026-04-30T10:32:20+00:00", + "scanned_at": "2026-04-30T11:32:41+00:00", "scripts": [ { "command": "node scripts/runtime/run-tsc.mjs --noEmit -p tsconfig.build.json", @@ -136198,7 +127852,7 @@ ], "warnings": [] }, - "summary": "MCPs Internos Platform foi analisada com 92559 linhas de codigo e 428 evidencias locais. Score medio humano: 100." + "summary": "MCPs Internos Platform foi analisada com 92865 linhas de codigo e 429 evidencias locais. Score medio humano: 100." }, { "cells": [ @@ -136314,14 +127968,14 @@ }, { "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "explanation": "Platform Base atende Atendimento ao cliente em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "gaps": [], @@ -136424,14 +128078,14 @@ }, { "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "explanation": "Platform Base atende Secretaria em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "gaps": [], @@ -136452,14 +128106,14 @@ }, { "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "explanation": "Platform Base atende Tecnico em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "gaps": [], @@ -136480,14 +128134,14 @@ }, { "evidence_refs": [ + "package.json:25", "tools/cli/index.ts", "tools/cli/commands/init-platform.ts", "tools/cli/commands/new-module.ts", "tools/cli/commands/new-os.ts", "tools/cli/commands/validate-platform.ts", - "tests/retention-executor-and-adoption.test.ts:195", - "scripts/materializar_mcps_semantica_v1_autonoma.py", - "scripts/materializar_mcps_semantica_v1_autonoma.py:13" + "tests/mcp-administration.test.ts:7", + "tests/retention-executor-and-adoption.test.ts:195" ], "explanation": "Platform Base atende Usuario final em nivel excelente, com maturidade auditable e evidencias tecnicas suficientes para leitura humana.", "gaps": [], @@ -136575,7 +128229,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -136982,6 +128636,26 @@ "commercial" ] }, + { + "confidence": 0.68, + "kind": "business_rule", + "line": 134, + "path": "packages/core-operational-readiness/src/mcp-administration-fixtures.ts", + "summary": "Texto menciona 'entitlement', sinalizando capacidade humana ou operacional.", + "tags": [ + "commercial" + ] + }, + { + "confidence": 0.68, + "kind": "business_rule", + "line": 362, + "path": "packages/core-operational-readiness/src/mcp-administration-fixtures.ts", + "summary": "Texto menciona 'invoice', sinalizando capacidade humana ou operacional.", + "tags": [ + "finance" + ] + }, { "confidence": 0.65, "kind": "config", @@ -137302,6 +128976,14 @@ "summary": "Configuracao operacional encontrada.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 25, + "path": "package.json", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -137342,6 +129024,14 @@ "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 7, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -137398,6 +129088,22 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": null, + "path": "scripts/reports/generate-mcp-administration-artifacts.ts", + "summary": "Possivel tool ou superficie MCP encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 6, + "path": "scripts/reports/generate-mcp-administration-artifacts.ts", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -137478,67 +129184,27 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 73, - "path": "reports/operational-readiness/release-execution-manifest.md", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 4030, - "path": "reports/operational-readiness/release-lots.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 64, - "path": "reports/operational-readiness/release-lots.md", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 137, - "path": "reports/operational-readiness/shared-readiness-roadmap.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 8, - "path": "registry/platform-registry.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, { "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/classificacao_semantica_manual - Copia.tsv", + "path": "reports/operational-readiness/mcp-administration-artifact-index.json", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/classificacao_semantica_manual.tsv", - "summary": "Possivel tool ou superficie MCP encontrada.", + "line": 3, + "path": "reports/operational-readiness/mcp-administration-artifact-index.json", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMANTICA_V1_AUTONOMA.md", + "path": "reports/operational-readiness/mcp-administration-artifact-receipt.md", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, @@ -137546,7 +129212,7 @@ "confidence": 0.55, "kind": "mcp_tool", "line": 1, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMANTICA_V1_AUTONOMA.md", + "path": "reports/operational-readiness/mcp-administration-artifact-receipt.md", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, @@ -137554,7 +129220,7 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/lote_064.csv", + "path": "reports/operational-readiness/mcp-administration-contracts.json", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, @@ -137562,23 +129228,15 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/lote_064.sqlite", + "path": "reports/operational-readiness/mcp-administration-contracts.md", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/resumo_lote_064.md", - "summary": "Possivel tool ou superficie MCP encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 3, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/resumo_lote_064.md", + "line": 1, + "path": "reports/operational-readiness/mcp-administration-contracts.md", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, @@ -137586,31 +129244,15 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/lote_063.csv", + "path": "reports/operational-readiness/mcp-administration-readiness.json", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/lote_063.sqlite", - "summary": "Possivel tool ou superficie MCP encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/resumo_lote_063.md", - "summary": "Possivel tool ou superficie MCP encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 3, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/resumo_lote_063.md", + "line": 2, + "path": "reports/operational-readiness/mcp-administration-readiness.json", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, @@ -137618,7 +129260,39 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_062/lote_062.csv", + "path": "reports/operational-readiness/mcp-administration-readiness.md", + "summary": "Possivel tool ou superficie MCP encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 1, + "path": "reports/operational-readiness/mcp-administration-readiness.md", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": null, + "path": "reports/operational-readiness/mcp-administration-roadmap.json", + "summary": "Possivel tool ou superficie MCP encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 2, + "path": "reports/operational-readiness/mcp-administration-roadmap.json", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": null, + "path": "reports/operational-readiness/mcp-administration-roadmap.md", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, @@ -137765,6 +129439,39 @@ "observability" ] }, + { + "confidence": 0.68, + "kind": "observability", + "line": 12, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'readiness', sinalizando capacidade humana ou operacional.", + "tags": [ + "operations", + "observability" + ] + }, + { + "confidence": 0.68, + "kind": "observability", + "line": 44, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'trace', sinalizando capacidade humana ou operacional.", + "tags": [ + "governance", + "observability" + ] + }, + { + "confidence": 0.68, + "kind": "observability", + "line": 46, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", + "tags": [ + "governance", + "observability" + ] + }, { "confidence": 0.68, "kind": "observability", @@ -138029,39 +129736,6 @@ "observability" ] }, - { - "confidence": 0.68, - "kind": "observability", - "line": 9, - "path": "service-orders/_templates/os-integracao-template.md", - "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", - "tags": [ - "governance", - "observability" - ] - }, - { - "confidence": 0.68, - "kind": "observability", - "line": 9, - "path": "service-orders/_indexes/by-domain.md", - "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", - "tags": [ - "governance", - "observability" - ] - }, - { - "confidence": 0.68, - "kind": "observability", - "line": 9, - "path": "service-orders/_indexes/by-platform.md", - "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", - "tags": [ - "governance", - "observability" - ] - }, { "confidence": 0.78, "kind": "openapi", @@ -138532,6 +130206,16 @@ "generation" ] }, + { + "confidence": 0.62, + "kind": "package_script", + "line": null, + "path": "package.json", + "summary": "Script 'report:mcp-administration-artifacts' com intencao 'generation'.", + "tags": [ + "generation" + ] + }, { "confidence": 0.62, "kind": "package_script", @@ -138772,16 +130456,6 @@ "operation" ] }, - { - "confidence": 0.62, - "kind": "package_script", - "line": null, - "path": "package.json", - "summary": "Script 'verify' com intencao 'test'.", - "tags": [ - "test" - ] - }, { "confidence": 0.75, "kind": "readme", @@ -139384,6 +131058,14 @@ "summary": "Arquivo de teste ou especificacao encontrado.", "tags": [] }, + { + "confidence": 0.72, + "kind": "test", + "line": null, + "path": "tests/mcp-administration.test.ts", + "summary": "Arquivo de teste ou especificacao encontrado.", + "tags": [] + }, { "confidence": 0.72, "kind": "test", @@ -140198,9 +131880,9 @@ "path": "package-lock.json" }, { - "bytes_size": 6471, + "bytes_size": 6640, "extension": ".json", - "lines": 56, + "lines": 57, "path": "package.json" }, { @@ -140335,6 +132017,12 @@ "lines": 210, "path": "tests/lockfile-coherence.test.ts" }, + { + "bytes_size": 25395, + "extension": ".ts", + "lines": 599, + "path": "tests/mcp-administration.test.ts" + }, { "bytes_size": 10763, "extension": ".ts", @@ -140899,6 +132587,12 @@ "lines": 33, "path": "scripts/reports/generate-git-sync-governance.ts" }, + { + "bytes_size": 1317, + "extension": ".ts", + "lines": 28, + "path": "scripts/reports/generate-mcp-administration-artifacts.ts" + }, { "bytes_size": 1918, "extension": ".ts", @@ -141188,13 +132882,13 @@ "path": "reports/operational-readiness/git-branch.snapshot.txt" }, { - "bytes_size": 38268, + "bytes_size": 38301, "extension": ".txt", - "lines": 653, + "lines": 654, "path": "reports/operational-readiness/git-status.snapshot.txt" }, { - "bytes_size": 44241, + "bytes_size": 44275, "extension": ".json", "lines": 169, "path": "reports/operational-readiness/git-sync-governance.json" @@ -141217,6 +132911,66 @@ "lines": 32, "path": "reports/operational-readiness/lockfile-coherence.md" }, + { + "bytes_size": 3023, + "extension": ".json", + "lines": 116, + "path": "reports/operational-readiness/mcp-administration-artifact-index.json" + }, + { + "bytes_size": 897, + "extension": ".md", + "lines": 16, + "path": "reports/operational-readiness/mcp-administration-artifact-receipt.md" + }, + { + "bytes_size": 1111301, + "extension": ".json", + "lines": 0, + "path": "reports/operational-readiness/mcp-administration-contracts.json" + }, + { + "bytes_size": 12478, + "extension": ".md", + "lines": 184, + "path": "reports/operational-readiness/mcp-administration-contracts.md" + }, + { + "bytes_size": 124472, + "extension": ".json", + "lines": 2947, + "path": "reports/operational-readiness/mcp-administration-readiness.json" + }, + { + "bytes_size": 53801, + "extension": ".md", + "lines": 398, + "path": "reports/operational-readiness/mcp-administration-readiness.md" + }, + { + "bytes_size": 127411, + "extension": ".json", + "lines": 2300, + "path": "reports/operational-readiness/mcp-administration-roadmap.json" + }, + { + "bytes_size": 74098, + "extension": ".md", + "lines": 1081, + "path": "reports/operational-readiness/mcp-administration-roadmap.md" + }, + { + "bytes_size": 41771, + "extension": ".json", + "lines": 1130, + "path": "reports/operational-readiness/mcp-transit-ledger.json" + }, + { + "bytes_size": 7090, + "extension": ".md", + "lines": 93, + "path": "reports/operational-readiness/mcp-transit-ledger.md" + }, { "bytes_size": 6020, "extension": ".json", @@ -141242,27 +132996,27 @@ "path": "reports/operational-readiness/platform-promotion-plan.md" }, { - "bytes_size": 1228083, + "bytes_size": 1228951, "extension": ".json", "lines": 0, "path": "reports/operational-readiness/release-execution-manifest.json" }, { - "bytes_size": 187860, + "bytes_size": 187974, "extension": ".md", - "lines": 1055, + "lines": 1056, "path": "reports/operational-readiness/release-execution-manifest.md" }, { - "bytes_size": 393713, + "bytes_size": 394186, "extension": ".json", - "lines": 10722, + "lines": 10738, "path": "reports/operational-readiness/release-lots.json" }, { - "bytes_size": 46391, + "bytes_size": 46438, "extension": ".md", - "lines": 737, + "lines": 738, "path": "reports/operational-readiness/release-lots.md" }, { @@ -141332,15 +133086,15 @@ "path": "reports/operational-readiness/stj-v9-git-rm-cached-count.txt" }, { - "bytes_size": 258957, + "bytes_size": 431914, "extension": ".json", - "lines": 4829, + "lines": 0, "path": "reports/operational-readiness/stj-v9-retention-execution-receipt.json" }, { - "bytes_size": 150900, + "bytes_size": 238379, "extension": ".md", - "lines": 472, + "lines": 763, "path": "reports/operational-readiness/stj-v9-retention-execution-receipt.md" }, { @@ -151136,9 +142890,9 @@ "path": "packages/core-operational-readiness/src/git.ts" }, { - "bytes_size": 994, + "bytes_size": 1442, "extension": ".ts", - "lines": 24, + "lines": 33, "path": "packages/core-operational-readiness/src/index.ts" }, { @@ -151148,17 +142902,23 @@ "path": "packages/core-operational-readiness/src/lockfile-coherence.ts" }, { - "bytes_size": 38624, + "bytes_size": 39099, "extension": ".ts", - "lines": 628, + "lines": 631, "path": "packages/core-operational-readiness/src/mcp-administration-catalog.ts" }, { - "bytes_size": 28860, + "bytes_size": 28861, "extension": ".ts", "lines": 782, "path": "packages/core-operational-readiness/src/mcp-administration-contracts.ts" }, + { + "bytes_size": 28764, + "extension": ".ts", + "lines": 930, + "path": "packages/core-operational-readiness/src/mcp-administration-fixtures.ts" + }, { "bytes_size": 21301, "extension": ".ts", @@ -151166,7 +142926,7 @@ "path": "packages/core-operational-readiness/src/mcp-administration-ledger.ts" }, { - "bytes_size": 26466, + "bytes_size": 26498, "extension": ".ts", "lines": 681, "path": "packages/core-operational-readiness/src/mcp-administration-policy.ts" @@ -151177,6 +142937,18 @@ "lines": 395, "path": "packages/core-operational-readiness/src/mcp-administration-readiness.ts" }, + { + "bytes_size": 17657, + "extension": ".ts", + "lines": 468, + "path": "packages/core-operational-readiness/src/mcp-administration-roadmap.ts" + }, + { + "bytes_size": 8091, + "extension": ".ts", + "lines": 266, + "path": "packages/core-operational-readiness/src/mcp-administration-serialization.ts" + }, { "bytes_size": 11326, "extension": ".ts", @@ -151244,9 +143016,9 @@ "path": "packages/core-operational-readiness/src/service-order-closure.ts" }, { - "bytes_size": 17909, + "bytes_size": 18899, "extension": ".ts", - "lines": 515, + "lines": 539, "path": "packages/core-operational-readiness/src/stj-retention-executor.ts" }, { @@ -153354,7 +145126,7 @@ "readme_excerpt": "# Tudo Para IA Platform Base\n\nBase oficial de derivacao, governanca, serializacao e operacao das plataformas do ecossistema Tudo Para IA. Execute `npm run verify` antes de abrir ou sincronizar uma derivada relevante.\n\n## Blocos obrigatorios\n\n- docs, architecture, standards e governance\n- service-orders, serialization, memory e audits\n- app-shell, packages compartilhados, contracts e schemas\n- scripts, tools, tests, qa, observability, ops, deployment e security", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-platform-base", - "scanned_at": "2026-04-30T10:32:22+00:00", + "scanned_at": "2026-04-30T11:32:58+00:00", "scripts": [ { "command": "tsc --noEmit -p tsconfig.build.json", @@ -153446,6 +145218,12 @@ "name": "report:git-sync-governance", "source_file": "package.json" }, + { + "command": "node scripts/tooling/run-tsx.mjs scripts/reports/generate-mcp-administration-artifacts.ts", + "intent": "generation", + "name": "report:mcp-administration-artifacts", + "source_file": "package.json" + }, { "command": "node scripts/tooling/run-tsx.mjs scripts/reports/generate-no-deploy-closeout-model.ts", "intent": "deploy", @@ -153537,7 +145315,7 @@ "source_file": "package.json" }, { - "command": "node scripts/tooling/run-tsx.mjs --test tests/foundation.test.ts tests/app-shell.test.ts tests/core-config.test.ts tests/serialization.test.ts tests/scaffold.test.ts tests/sync-anchors.test.ts tests/structure/repository-structure.spec.ts tests/structure/template-integrity.spec.ts tests/contract/contracts.spec.ts tests/contract/diagnostics.contract.spec.ts tests/smoke/platform-shell.smoke.spec.ts tests/final-battery/institutional-battery.test.ts tests/operational-readiness.test.ts tests/release-governance.test.ts tests/verify-evidence.test.ts tests/git-evidence.test.ts tests/verify-command-policy.test.ts tests/lockfile-coherence.test.ts tests/workspace-hygiene.test.ts tests/round-readiness.test.ts tests/service-order-closure.test.ts tests/coverage-baseline.test.ts tests/contract-governance.test.ts tests/round-governance.test.ts tests/git-sync-governance.test.ts tests/external-retention-governance.test.ts tests/round-closeout-evidence.test.ts tests/retention-executor-and-adoption.test.ts tests/round-execution-ledger.test.ts", + "command": "node scripts/tooling/run-tsx.mjs --test tests/foundation.test.ts tests/app-shell.test.ts tests/core-config.test.ts tests/serialization.test.ts tests/scaffold.test.ts tests/sync-anchors.test.ts tests/structure/repository-structure.spec.ts tests/structure/template-integrity.spec.ts tests/contract/contracts.spec.ts tests/contract/diagnostics.contract.spec.ts tests/smoke/platform-shell.smoke.spec.ts tests/final-battery/institutional-battery.test.ts tests/operational-readiness.test.ts tests/release-governance.test.ts tests/verify-evidence.test.ts tests/git-evidence.test.ts tests/verify-command-policy.test.ts tests/lockfile-coherence.test.ts tests/workspace-hygiene.test.ts tests/round-readiness.test.ts tests/service-order-closure.test.ts tests/coverage-baseline.test.ts tests/contract-governance.test.ts tests/round-governance.test.ts tests/git-sync-governance.test.ts tests/external-retention-governance.test.ts tests/round-closeout-evidence.test.ts tests/retention-executor-and-adoption.test.ts tests/round-execution-ledger.test.ts tests/mcp-administration.test.ts", "intent": "test", "name": "test", "source_file": "package.json" @@ -153599,7 +145377,7 @@ ], "warnings": [] }, - "summary": "Platform Base foi analisada com 20226 linhas de codigo e 388 evidencias locais. Score medio humano: 100." + "summary": "Platform Base foi analisada com 22553 linhas de codigo e 391 evidencias locais. Score medio humano: 100." }, { "cells": [ @@ -153960,7 +145738,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "falta contrato OpenAPI ou equivalente para integracao auditavel" ], @@ -154054,6 +145832,14 @@ "summary": "Configuracao operacional encontrada.", "tags": [] }, + { + "confidence": 0.65, + "kind": "config", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0051_EXECUTIVA__executar-pages-deploy-com-wrangler-486-em-host-aprovado.md", + "summary": "Configuracao operacional encontrada.", + "tags": [] + }, { "confidence": 0.65, "kind": "config", @@ -154710,7 +146496,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 206, + "line": 209, "path": "apps/public-site/tests/release-control.test.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -154721,7 +146507,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 368, + "line": 371, "path": "apps/public-site/tests/release-control.test.mjs", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -154820,7 +146606,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 255, + "line": 267, "path": "apps/public-site/src/evidence-control.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -155855,7 +147641,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 1252, + "line": 1256, "path": "apps/public-site/src/mcp-contract.mjs", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -155918,6 +147704,46 @@ "summary": "Possivel superficie visual encontrada.", "tags": [] }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0043_GERENCIAL__pactuar-ui-platform-consumer-public-contract-0-7.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0046_EXECUTIVA__executar-pages-deploy-em-host-com-esbuild-e-cache-liberados.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0048_GERENCIAL__pactuar-mutacao-mcp-central-e-consumo-ui-contract.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0052_EXECUTIVA__substituir-canonical-local-por-dominio-publico-e-verificar-522.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0053_EXECUTIVA__aplicar-registro-mcp-central-com-ui-consumer-readback.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, { "confidence": 0.55, "kind": "ui_surface", @@ -155929,7 +147755,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 1866, + "line": 1989, "path": "apps/public-site/contracts/public-mcp-ready.contract.json", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -155939,7 +147765,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 534, + "line": 569, "path": "apps/public-site/contracts/public-mcp-ready.summary.json", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -156142,46 +147968,6 @@ "summary": "Possivel superficie visual encontrada.", "tags": [] }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/zh-cn/guides/sidebar.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/zh-cn/guides/site-search.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/ru/guides/authoring-content.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/ru/guides/css-and-tailwind.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/ru/guides/customization.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, { "confidence": 0.55, "kind": "unknown", @@ -156352,6 +148138,46 @@ "support" ] }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 113, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-CLOSURE__2026-04-30.json", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 82, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-EVIDENCE__2026-04-30.json", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 175, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-EVIDENCE__2026-04-30.json", + "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 88, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-SEMANTIC__2026-04-30.json", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, { "confidence": 0.55, "kind": "unknown", @@ -156452,6 +148278,36 @@ "support" ] }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0042_GERENCIAL__aprovar-dominio-publico-slo-alertas-e-rollback.md", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 22, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais/AVALIACAO-GERENCIAL-DA-PLATAFORMA__2026-04-30__public-platform-current-control.md", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 28, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0047_GERENCIAL__decidir-dominio-publico-e-politica-pagesdev-rollback.md", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, { "confidence": 0.55, "kind": "unknown", @@ -156512,76 +148368,6 @@ "support" ] }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 17, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/collection.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 214, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/head.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 7, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/i18n.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 91, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/plugins.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 149, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/user-config.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 31, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/routing/index.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 48, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/routing/types.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, { "confidence": 0.6, "kind": "worker", @@ -156598,6 +148384,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0041_GERENCIAL__homologar-runner-cloudflare-pages-com-esbuild-e-cache.md", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -156672,9 +148466,9 @@ "path": "apps/public-site/tests/public-site.test.mjs" }, { - "bytes_size": 17082, + "bytes_size": 17105, "extension": ".mjs", - "lines": 458, + "lines": 461, "path": "apps/public-site/tests/release-control.test.mjs" }, { @@ -156708,9 +148502,9 @@ "path": "apps/public-site/src/current-round.mjs" }, { - "bytes_size": 23652, + "bytes_size": 24117, "extension": ".mjs", - "lines": 645, + "lines": 657, "path": "apps/public-site/src/evidence-control.mjs" }, { @@ -156732,9 +148526,9 @@ "path": "apps/public-site/src/leads.mjs" }, { - "bytes_size": 50914, + "bytes_size": 51007, "extension": ".mjs", - "lines": 1300, + "lines": 1304, "path": "apps/public-site/src/mcp-contract.mjs" }, { @@ -156941,6 +148735,42 @@ "lines": 575, "path": "apps/public-site/reports/ORDER-PACKAGE__2026-04-29__round-4.json" }, + { + "bytes_size": 13564, + "extension": ".json", + "lines": 325, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-CLOSURE__2026-04-30.json" + }, + { + "bytes_size": 840382, + "extension": ".json", + "lines": 0, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-CONTROL__2026-04-30.json" + }, + { + "bytes_size": 11516, + "extension": ".json", + "lines": 305, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-EVIDENCE__2026-04-30.json" + }, + { + "bytes_size": 950019, + "extension": ".json", + "lines": 0, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-REPORT__2026-04-30.json" + }, + { + "bytes_size": 1197, + "extension": ".json", + "lines": 32, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-RUNTIME-POLICY__2026-04-30.json" + }, + { + "bytes_size": 65026, + "extension": ".json", + "lines": 581, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-SEMANTIC__2026-04-30.json" + }, { "bytes_size": 13754, "extension": ".json", @@ -157247,6 +149077,186 @@ "lines": 29, "path": "apps/public-site/reports/central-closeout__2026-04-30/audit/AUDITORIA-GPT__2026-04-30__public-platform-promotion-control.md" }, + { + "bytes_size": 684, + "extension": ".md", + "lines": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/status/STATUS__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 4365, + "extension": ".md", + "lines": 65, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/EXECUCAO__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 1175, + "extension": ".md", + "lines": 25, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/PENDENCIAS-CODEX__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 2313, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0041_GERENCIAL__homologar-runner-cloudflare-pages-com-esbuild-e-cache.md" + }, + { + "bytes_size": 2221, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0042_GERENCIAL__aprovar-dominio-publico-slo-alertas-e-rollback.md" + }, + { + "bytes_size": 2260, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0043_GERENCIAL__pactuar-ui-platform-consumer-public-contract-0-7.md" + }, + { + "bytes_size": 2258, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0044_GERENCIAL__governar-docs-peer-sourcehash-frequencia-e-conflitos.md" + }, + { + "bytes_size": 2230, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0045_GERENCIAL__homologar-retencao-purge-suporte-public-leads.md" + }, + { + "bytes_size": 1255, + "extension": ".md", + "lines": 28, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais/AVALIACAO-GERENCIAL-DA-PLATAFORMA__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 2458, + "extension": ".md", + "lines": 76, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0046_EXECUTIVA__executar-pages-deploy-em-host-com-esbuild-e-cache-liberados.md" + }, + { + "bytes_size": 2352, + "extension": ".md", + "lines": 74, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0047_EXECUTIVA__aplicar-dominio-https-final-e-validar-canonical-smoke.md" + }, + { + "bytes_size": 2409, + "extension": ".md", + "lines": 74, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0048_EXECUTIVA__aplicar-mutacao-mcp-central-com-snapshot-readback-e-rollback.md" + }, + { + "bytes_size": 2389, + "extension": ".md", + "lines": 74, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0049_EXECUTIVA__obter-manifesto-docs-platform-e-promover-sourcehash-synced.md" + }, + { + "bytes_size": 2419, + "extension": ".md", + "lines": 75, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0050_EXECUTIVA__registrar-aceite-lead-handoff-e-publicar-evidencia-sem-pii.md" + }, + { + "bytes_size": 1831, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0046_GERENCIAL__homologar-runtime-pages-deploy-externo-com-slo-de-upload.md" + }, + { + "bytes_size": 1795, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0047_GERENCIAL__decidir-dominio-publico-e-politica-pagesdev-rollback.md" + }, + { + "bytes_size": 1805, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0048_GERENCIAL__pactuar-mutacao-mcp-central-e-consumo-ui-contract.md" + }, + { + "bytes_size": 1792, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0049_GERENCIAL__pactuar-docs-platform-manifesto-peer-public-platform.md" + }, + { + "bytes_size": 1759, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0050_GERENCIAL__aprovar-retencao-purge-suporte-leads-publicos.md" + }, + { + "bytes_size": 1807, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0051_EXECUTIVA__executar-pages-deploy-com-wrangler-486-em-host-aprovado.md" + }, + { + "bytes_size": 1835, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0052_EXECUTIVA__substituir-canonical-local-por-dominio-publico-e-verificar-522.md" + }, + { + "bytes_size": 1812, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0053_EXECUTIVA__aplicar-registro-mcp-central-com-ui-consumer-readback.md" + }, + { + "bytes_size": 1801, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0054_EXECUTIVA__reconciliar-manifesto-docs-peer-e-public-docs-sourcehash.md" + }, + { + "bytes_size": 1845, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0055_EXECUTIVA__homologar-aceites-lead-handoff-com-business-compliance-customerops.md" + }, + { + "bytes_size": 2328, + "extension": ".md", + "lines": 31, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/indexes/INDEX__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 2328, + "extension": ".md", + "lines": 31, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/indexes/ordens-executivas-index.md" + }, + { + "bytes_size": 2328, + "extension": ".md", + "lines": 31, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/indexes/ordens-gerenciais-index.md" + }, + { + "bytes_size": 684, + "extension": ".md", + "lines": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/current/current-project-state.md" + }, + { + "bytes_size": 684, + "extension": ".md", + "lines": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/current/CURRENT__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 1032, + "extension": ".md", + "lines": 30, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/audit/AUDITORIA-GPT__2026-04-30__public-platform-current-control.md" + }, { "bytes_size": 80, "extension": ".txt", @@ -157290,15 +149300,15 @@ "path": "apps/public-site/contracts/public-docs.version.json" }, { - "bytes_size": 51210, + "bytes_size": 54306, "extension": ".json", - "lines": 1951, + "lines": 2074, "path": "apps/public-site/contracts/public-mcp-ready.contract.json" }, { - "bytes_size": 15253, + "bytes_size": 15987, "extension": ".json", - "lines": 650, + "lines": 685, "path": "apps/public-site/contracts/public-mcp-ready.summary.json" }, { @@ -161939,7 +153949,7 @@ "readme_excerpt": "# Tudo Para IA Public Platform\n\nPublic Platform is the public entrance for the Tudo Para IA ecosystem. It is Cloudflare-first and MCP-ready locally, with a public site, institutional pages, product pages, public documentation, a D1-ready lead form, public status, SEO checks, trace/audit identifiers, and a local catalog of public tools.\n\n## Layout\n\n- `_paradigmas/astro-starlight`: full upstream Astro Starlight source archive expanded as the chosen public/docs paradigm.\n- `apps/public-site`: Cloudflare Pages application with static pages and Pages Functions API/BFF.\n- `apps/public-site/contracts/public-mcp-ready.contract.json`: local MCP-ready contract.\n- `apps/public-site/contracts/public-mcp-ready.summary.json`: compact contract summary for GPT, UI and operational audits.\n- `apps/public-site/contracts/public-docs.version.json`: public docs source manifest for Docs Platform reconciliation.\n- `apps/public-site/migrations/0001_public_leads.sql`: D1 schema for public lead persistence.\n- `apps/public-site/docs/cloudflare-provisioning.md`: checklist for real Cloudflare resources and production readiness.\n\n## Public API\n\n- `/api/health`\n- `/api/profile`\n- `/api/readiness`\n- `/api/maturity`\n- `/api/contract`\n- `/api/contract/summary`\n- `/api/docs/version`\n- `/api/mcp/registration`\n- `/api/mcp/execute`\n\n## Commands\n\n```powershell\nnpm run build\nnpm test\nnpm run mcp:smoke\nnpm run readiness:audit\nnpm run verify\n```\n\nThe first version has no mandatory runtime dependency on Linux and does not change the central MCP.\n\nFor production, bind real Cloudflare KV, D1, R2 and Queue resources in `apps/public-site/wrangler.toml`, set `PUBLIC_CANONICAL_ORIGIN` to the final public domain, apply the D1 migration, reconcile MCP central and Docs Platform, run `npm run readiness:audit`, and then re-run `npm run verify`.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-public-platform", - "scanned_at": "2026-04-30T10:32:24+00:00", + "scanned_at": "2026-04-30T11:33:08+00:00", "scripts": [ { "command": "npm --workspace apps/public-site run build", @@ -162102,7 +154112,7 @@ "contrato OpenAPI nao encontrado por varredura local" ] }, - "summary": "Public Platform foi analisada com 42061 linhas de codigo e 286 evidencias locais. Score medio humano: 100." + "summary": "Public Platform foi analisada com 42080 linhas de codigo e 288 evidencias locais. Score medio humano: 100." }, { "cells": [ @@ -162483,7 +154493,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "nenhuma lacuna principal detectada pela matriz atual" ], @@ -185858,7 +177868,7 @@ "readme_excerpt": "# ia-stj-platform\n\nRepositório novo e independente para a nova arquitetura IA+STJ.\n\n## Decisão desta rodada\n\n- `busca-ami-ia` e `busca-ami-android` permanecem legados históricos.\n- o desenvolvimento estrutural novo começa neste repositório.\n- a execução foi concluída nas três frentes exigidas: `busca-ami-ia`, `busca-ami-android` técnico e `busca-ami-android` visual.\n\n## Estrutura criada\n\n- `apps/ia-stj-busca`\n- `apps/ia-stj-auth`\n- `apps/ia-stj-persistencia`\n- `apps/ia-stj-gateway-core`\n- `apps/ia-stj-gateway-gpt`\n- `apps/ia-stj-gateway-pwa`\n- `apps/ia-stj-pwa`\n- `apps/ia-stj-workspace`\n- `apps/ia-stj-gateway-admin`\n- `apps/ia-stj-admin`\n- `apps/ia-stj-content-delivery`\n- `apps/ia-stj-cross-channel`\n- `apps/ia-stj-collaboration`\n- `apps/ia-stj-recommendation`\n- `apps/ia-stj-trust`\n- `apps/ia-stj-operations`\n- `apps/ia-stj-architecture-governance`\n- `packages/shared-types`\n- `packages/shared-links`\n- `packages/shared-openapi`\n- `packages/shared-utils`\n- `packages/shared-text`\n- `packages/shared-dates`\n- `packages/shared-legacy`\n- `packages/shared-admin-types`\n- `packages/shared-admin-openapi`\n- `packages/shared-admin-text`\n- `packages/shared-admin-utils`\n- `packages/shared-content-types`\n- `packages/shared-content-openapi`\n- `packages/shared-content-utils`\n- `packages/shared-cross-channel-types`\n- `packages/shared-cross-channel-utils`\n- `packages/shared-architecture-types`\n- `packages/shared-architecture-rules`\n- `packages/shared-architecture-utils`\n- `docs`\n- `scripts`\n- `infra`\n\n## Situação atual\n\n- `ia-stj-busca` responde `health`, `capabilities`, `relators`, `search`, `search/espelho`, `search/integra` e a família completa `semantic-response`.\n- `ia-stj-persistencia` cobre gravação, recuperação, status, expiração, purge e delete por `responseId`.\n- `ia-stj-auth` centraliza vínculo de identidades, política de sessão, revogação administrativa e avaliação de step-up.\n- `ia-stj-gateway-core` normaliza o payload comum e preserva o original.\n- `ia-stj-gateway-gpt` expõe contrato e OpenAPI próprios para GPT.\n- `ia-stj-gateway-mcp` expõe health, profile, catalogo em camadas, OpenAPI e execução gerencial protegida para consumo pelo MCP central.\n- `ia-stj-gateway-pwa` expõe view model próprio para a aplicação visual.\n- `ia-stj-pwa` entrega shell responsiva, reabertura por `responseId`, exportação JSON e DOCX e estado básico após F5.\n- `ia-stj-workspace` concentra memória de trabalho, alertas e vínculo com dossiês.\n- `ia-stj-content-delivery` entrega leitura integral, navegação, comparação e retomada.\n- `ia-stj-cross-channel` concentra handoff, restauração e sincronização multicanal.\n- `ia-stj-gateway-admin` e `ia-stj-admin` formam o produto interno da empresa operadora.\n- `ia-stj-collaboration`, `ia-stj-recommendation`, `ia-stj-trust` e `ia-stj-operations` materializam os domínios residuais do escopo até 0091.\n- a conta alvo da plataforma nova é a Cloudflare `8dd48b8e7c2757b178283ce19872482d`.\n\n## Fundação definitiva\n\n- `docs/paridade-legado-nova-arquitetura.md` centraliza a paridade entre legados e apps novos.\n- `docs/topologia-cloudflare-oficial.md` centraliza workers, bindings, vars e recursos reais da conta `PARA-IA`.\n- `docs/politica-desligamento-legados.md` fixa o que ainda é referência histórica e o que não pode mais ser usado em runtime.\n- `packages/shared-types/src/platform-topology.ts` e `packages/shared-utils/src/platform-topology.ts` concentram o contrato oficial da topologia.\n- `packages/shared-types/src/auth/` e `packages/shared-utils/src/auth/` concentram o contrato e a política oficial de identidade, sessão e step-up.\n\n## Smoke tests por app\n\n- comando único: `npm run test:smoke`\n- diretórios mínimos:\n - `tests/smoke/ia-stj-busca`\n - `tests/smoke/ia-stj-persistencia`\n - `tests/smoke/ia-stj-gateway-core`\n - `tests/smoke/ia-stj-gateway-gpt`\n - `tests/smoke/ia-stj-gateway-pwa`\n - `tests/smoke/ia-stj-pwa`\n\n## Integração por domínio\n\n- `tests/integration/auth`\n- `tests/integration/workspace`\n- `tests/integration/admi", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-stj-platform", - "scanned_at": "2026-04-30T10:32:26+00:00", + "scanned_at": "2026-04-30T11:33:36+00:00", "scripts": [ { "command": "node ./node_modules/typescript/lib/tsc.js -p tsconfig.build.json", @@ -186395,7 +178405,7 @@ "evidencias devem ser exportaveis para GPT, painel e central de ordens", "cada lacuna humana deve gerar OS executavel com validacao clara" ], - "generated_at": "2026-04-30T10:32:37+00:00", + "generated_at": "2026-04-30T11:34:54+00:00", "missing_for_humans": [ "falta contrato OpenAPI ou equivalente para integracao auditavel" ], @@ -240222,7 +232232,7 @@ "readme_excerpt": "# tudo-para-ia-ui-platform\n\nPlataforma visual institucional do ecossistema Tudo Para IA.\n\nEsta base concentra design tokens, componentes, layouts, telas-base, PWA e contrato MCP-ready local. Ela nao decide regra de negocio: apenas exibe, organiza, padroniza e envia intencoes para APIs/MCPs externos.\n\n## Paradigma principal\n\nO paradigma principal absorvido e shadcn/ui, clonado integralmente em `_paradigmas/shadcn-ui`. A versao Tudo Para IA usa a filosofia de ownership local, tokens semanticos, acessibilidade por padrao e composicao Cloudflare-first.\n\n## Execucao local\n\n- `npm run generate:contract`: regenera o snapshot estatico a partir do contrato vivo.\n- `npm test`: valida catalogo, tokens, telas e contrato MCP-ready.\n- `npm run mcp:smoke`: executa smoke local no formato de tools.\n- `npm run release:manifest`: gera manifest auditavel do snapshot, hashes e evidencias locais.\n- `npm run cloudflare:preview-plan`: gera plano local de preview/promocao/rollback sem deploy e sem segredo.\n- `npm run verify`: regenera snapshot, executa testes e smoke MCP local.\n- `npm run browser:validate`: valida o app estatico em browser headless quando Chrome/Edge estiver disponivel e grava evidencia em `reports`.\n\n## Contrato visual\n\nO contrato vivo fica em `packages/design-system/src/index.mjs` e pode ser consumido em `full`, `summary` ou `scope`. Consultas por escopo aceitam `limit`, `cursor` e `page`, retornando `pagination.count`, `pagination.total` e `pagination.nextCursor`.\n\nA politica de versionamento, compatibilidade e migracao esta em `docs/visual-contract-versioning.md`. O snapshot publicado em `apps/ui-platform/src/contract-data.js` deve ser regenerado com `npm run generate:contract` antes de release.\n\n## Gettys Overview\n\nA tela externa `gettys-overview` pode ser consumida pela UI Platform sem backend paralelo usando o template `templates/gettys-overview.json`. A fonte oficial e o endpoint publicado da Gettys:\n\n- provider MCP central: `gettys`\n- sourceToolId: `gettys.admin.screen.overview`\n- sourceEndpoint: `https://tudo-para-ia-gettys-platform.ami-app.workers.dev/v1/admin/screens/gettys-overview`\n- regra: `panelReady=true`, `sameSource=true`, `mutationAllowed=false`\n\n## Cloudflare-first\n\nO app em `apps/ui-platform` e estatico/PWA e pode ser publicado em Cloudflare Pages. O Worker BFF visual e opcional e fica preparado para KV, D1, R2 e Queues sem obrigar Linux, Docker ou banco pesado.\n\nO procedimento material de preview, promocao e rollback esta em `docs/cloudflare-pages-preview-rollback.md`.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-ui-platform", - "scanned_at": "2026-04-30T10:32:37+00:00", + "scanned_at": "2026-04-30T11:34:53+00:00", "scripts": [ { "command": "node scripts/validate-static-app-browser.mjs", @@ -248529,7 +240539,7 @@ "readme_excerpt": "# tudo-para-ia-business-platform\n\nMonorepo materializado para o bloco comercial-financeiro, administrativo e documental de Tudo Para IA, integrado ao `ia-stj-platform` como primeiro produto atendido.\n\nEsta plataforma business concentra a relacao comercial vista pelo cliente: contratacao, plano ativo, checkout, cobranca, fatura, historico financeiro, entitlement, consumo, inadimplencia comercial e decisao de bloqueio ou liberacao do servico.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-business-platform", - "scanned_at": "2026-04-30T10:31:58+00:00", + "scanned_at": "2026-04-30T11:32:07+00:00", "scripts": [ { "command": "tsc --noEmit -p tsconfig.build.json", @@ -273629,7 +265639,7 @@ "readme_excerpt": "# Tudo Para IA Compliance Platform\n\nPlataforma Cloudflare-first de governanca, politicas, auditoria, evidencias, redaction, retencao, incidentes e revisao de acesso para o ecossistema Tudo Para IA.\n\n## Estado\n\n- Paradigma principal: Open Policy Agent, preservado em `_paradigmas/github/repos-clonados/opa`.\n- Runtime inicial: Cloudflare Worker em `apps/compliance-worker`.\n- Storage live validado: D1 para politicas/evidencias/auditoria, KV para regras/cache, R2 para evidencias, Queues para eventos de auditoria.\n- Camada local MCP-ready: `/mcp/tools`, `/mcp/tools/{toolId}`, `/mcp/call`, `health`, `profile`, `readiness`, `smoke`, diagnostico de bindings, maturidade, classificacao de dados e ciclo minimo de incidentes.\n- Worker live: `https://tudo-para-ia-compliance-platform.ami-app.workers.dev`, protegido por `COMPLIANCE_AUTH_TOKEN`.\n\n## Superficies operacionais\n\n- `GET /compliance/diagnostics/bindings`: retorna bindings Cloudflare, modo de fallback e pendencias sem expor segredo.\n- `GET /compliance/maturity` e `compliance.maturity.avaliar`: retornam score, nivel, gates, blockers e proximas acoes.\n- `POST /compliance/data/classificar`: reaproveita redaction e classifica payload como `public`, `restricted`, `sensitive`, `synthetic` ou `unknown`.\n- `POST /compliance/incidents/simular`, `GET /compliance/incidents` e `POST /compliance/incidents/fechar`: criam, listam e fecham incidentes com trace, audit e resolucao persistivel.\n- `GET /compliance/admin/readiness`: contrato de Admin View para painel humano e GPT usando as mesmas fontes de readiness, diagnostics, maturity e report.\n\n## Comandos\n\n```powershell\nnpm ci --no-audit --no-fund\nnpm test\nnpm run typecheck\nnpm run evidence:local\nnpm run build\nnpm run smoke:local\n```\n\n## Contrato minimo\n\nAs tools MCP-ready locais usam envelope:\n\n```json\n{\n \"toolId\": \"compliance.redaction.validar\",\n \"input\": {\n \"payload\": {\n \"authorization\": \"secret\"\n }\n },\n \"traceId\": \"trace:externo\"\n}\n```\n\nTodas as respostas operacionais retornam `ok`, `toolId`, `traceId`, `auditId`, `timestamp` e payload especifico da ferramenta.\n\n## Tools adicionadas na rodada 2026-04-29\n\n- `compliance.admin_view.readiness`: retorna contrato compacto de tela com fonte, status, blockers, proximas acoes e evidencias HTTP.\n- `compliance.diagnostics.bindings`: informa presenca de D1, KV, R2 e Queue, modo de fallback e pendencias de producao.\n- `compliance.maturity.avaliar`: calcula score, nivel, gates, blockers e proximas acoes.\n- `compliance.data.classificar`: classifica payload como `public`, `restricted`, `sensitive`, `synthetic` ou `unknown`, reaproveitando redaction.\n- `compliance.incidents.listar`: lista incidentes por status, severidade ou trace.\n- `compliance.incidents.fechar`: fecha incidente com resolucao rastreavel.\n\nRotas HTTP equivalentes:\n\n- `GET /compliance/diagnostics/bindings`\n- `GET /compliance/maturity`\n- `GET /compliance/admin/readiness`\n- `POST /compliance/data/classificar`\n- `GET /compliance/incidents`\n- `POST /compliance/incidents/fechar`\n\n## Contratos documentados\n\n- `docs/contracts/data-classification.md`: exemplos canonicos para dados publicos, restritos, sensiveis, sinteticos e desconhecidos.\n- `docs/contracts/admin-view-readiness.md`: fonte unica GPT/painel para readiness da Compliance Platform.\n- `docs/contracts/regression-evidence.md`: formato do snapshot JSON de regressao sem segredo.\n\n## Prova live Cloudflare 2026-04-29\n\n- D1 remoto criado: `tudo-para-ia-compliance` (`bdabb3cd-34ab-4d87-b594-b27a1d058e2b`).\n- KV remoto criado: `COMPLIANCE_RULES` (`da68b8b6dd2f415c872a241e68c184b3`), preview `8070b6d669ce428eae444e2249ad3619`.\n- R2 remoto criado: `tudo-para-ia-compliance-evidence`.\n- Queue remota criada: `tudo-para-ia-compliance-audit-events`.\n- Worker live respondeu `allBindingsPresent: true`, maturidade `100`, Admin View `productionReady: true` e smoke com 11 passos.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-compliance-platform", - "scanned_at": "2026-04-30T10:32:02+00:00", + "scanned_at": "2026-04-30T11:32:11+00:00", "scripts": [ { "command": "node apps/compliance-worker/tests/rotate-auth-token.ts", @@ -301207,7 +293217,7 @@ "readme_excerpt": "# Tudo Para IA Customer Ops Platform\n\nPlataforma Cloudflare-first para atendimento operacional, diagnostico de cliente, historico de erros, tickets, conversas, traces, auditoria e proxima acao sugerida.\n\n## Paradigma adotado\n\nO paradigma principal incorporado em `_paradigmas/chatwoot` e o Chatwoot, usado como referencia real de mercado para inbox omnichannel, contatos, conversas, agentes, integracoes, help center, relatorios e automacoes.\n\n## Aplicacao inicial\n\nA primeira aplicacao executavel esta em `apps/customer-ops-worker` e expoe um Worker MCP-ready local:\n\n- `GET /health`\n- `GET /profile`\n- `GET /readiness`\n- `GET /mcp/tools`\n- `POST /mcp/call`\n- `GET /admin/atendimento`\n- `POST /admin/atendimento/instances`\n- `GET /admin/atendimento/instances/:instanceId`\n- `GET /admin/atendimento/instances/:instanceId/explain`\n- `GET /admin/atendimento/instances/:instanceId/validate`\n- `GET /channels`\n- `GET /incidents`\n- `GET /evidence/http`\n- `GET /service-orders/continuity/plan`\n- `POST /service-orders/continuity/evidence`\n- `POST /service-orders/continuity/gate`\n- `POST /service-orders/continuity/outgoing-orders`\n- `POST /service-orders/continuity/compare`\n\nO Worker foi desenhado para D1, KV e R2 por configuracao Cloudflare, mas roda localmente em modo simulado quando as bindings nao existem.\n\n## Superficies MCP atuais\n\nA plataforma cobre o atendimento operacional com ferramentas para:\n\n- tickets, contexto de usuario e organizacao;\n- diagnostico por trace e historico de erro;\n- estado e diagnostico de canais, incluindo WhatsApp Para IA;\n- incidentes operacionais com runbook e referencias de evidencia;\n- Admin View `customer_ops.admin_view.atendimento` com `panelReady`, `sameSource` e `sourceRecordsHash`;\n- modos `full`, `compact` e `evidenceOnly` na Admin View, com `limit`, `cursor`, `failuresOnly` e `includeEvidence`;\n- instancias materializadas da Admin View para GPT e painel humano compartilharem o mesmo hash, trace, audit e validade temporal;\n- evidencia HTTP compacta em `customer_ops.evidencia.http`.\n- continuidade de ordens de servico em `customer_ops.ordens.continuidade.*`, reconciliando `current/`, `orders/`, evidencia Wrangler, SQL semantico e ordens de saida.\n\nQuando `CUSTOMER_OPS_DB` esta bound, canais e incidentes sao lidos de D1. Sem binding, ou com tabela vazia/indisponivel no ambiente local, a resposta preserva o mesmo shape e registra fallback para fixtures locais.\n\nO contrato de contexto externo esperado para Business e Identity esta em `docs/customer-ops-cross-platform-context.md`.\nComandos humanos equivalentes ficam em `docs/customer-ops-human-commands.md`.\n\nNenhuma superficie retorna telefone real, QR bruto, cookie, token, auth state ou erro bruto. Esses campos sao redigidos no envelope MCP.\n\n## Validacao local\n\n```bash\nnpm test\nnpm run test:mcp\nnpm run sync:contract\n```", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-customer-ops-platform", - "scanned_at": "2026-04-30T10:32:09+00:00", + "scanned_at": "2026-04-30T11:32:17+00:00", "scripts": [ { "command": "node scripts/generate-operational-governance-assets.mjs && node scripts/generate-governance-persistence-assets.mjs && node scripts/generate-live-readiness-assets.mjs && node scripts/generate-wrangler-operations-assets.mjs && node scripts/generate-wrangler-round-proof-assets.mjs && node scripts/generate-live-operation-execution-assets.mjs && node scripts/generate-live-round-closeout-assets.mjs && node scripts/generate-round-advance-assets.mjs && node scripts/generate-service-order-continuity-assets.mjs", @@ -307600,7 +299610,7 @@ "readme_excerpt": "# Tudo Para IA Docs Plataform\n\nCamada documental central do ecossistema Tudo Para IA, com indices IA, ownership, revisoes, runbooks, playbooks, evidencias e verdade documental.\n\n## Apps materializados\n\n- `tudo-para-ia-docs-central` — Servico central da plataforma documental com index mestre, verdade documental e ownership.\n- `tudo-para-ia-docs-indexador-ia` — Indexador IA para descoberta documental, agrupamento por area e busca assistida.\n- `tudo-para-ia-docs-evidence-hub` — Hub de evidencias, validacao humana e prova documental institucional.\n- `tudo-para-ia-docs-integracoes` — Camada documental profunda da frente integracoes com tecnico, usuario, gestao, homologacao e runbooks.\n\n## Packages compartilhados\n\n- `shared-doc-types` — Tipos documentais compartilhados para catalogo, revisao e evidencia.\n- `shared-doc-indexing` — Helpers para indexacao IA, agrupamento e menus documentais.\n- `shared-doc-governance` — Governanca editorial, ownership e ciclos de revisao da base viva.\n- `shared-doc-evidence` — Vinculo entre evidence, validacao humana e verdade documental.\n- `shared-doc-runbooks` — Secoes canonic-as para runbooks, playbooks e troubleshooting.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-docs-plataform", - "scanned_at": "2026-04-30T10:32:10+00:00", + "scanned_at": "2026-04-30T11:32:17+00:00", "scripts": [ { "command": "node --experimental-strip-types scripts/testing/alias-http-smoke.ts", @@ -323361,7 +315371,7 @@ "readme_excerpt": "# tudo-para-ia-finance-platform\n\nPlataforma financeira Cloudflare-first do ecossistema Tudo Para IA.\n\nEla nasce separada da Business Platform: Business decide produto, plano, preco, entitlement e liberacao comercial; Finance apura custos, receitas, margem, conciliacao, demonstrativos e fechamento.\n\n## Entregaveis desta OS\n\n- Paradigma principal trazido em `_paradigmas/lago`.\n- Worker local MCP-ready em `apps/finance-worker`.\n- Contrato local de tools, schemas, payloads, trace, audit e redaction.\n- Contrato canonico de eventos em `docs/finance-events-canonical.md`.\n- Trilha de evidencia D1/KV/R2/Queue em `docs/evidence-trail.md`.\n- Consumer da Queue `FINANCE_EVENTS` e consulta segura `GET /v1/evidence`.\n- Smoke publico recorrente em `docs/public-smoke.md`.\n- Runbook pos-publicacao em `docs/finance-operations-post-publication.md`.\n- Control-plane operacional com alertas, scorecard, politica plugin Cloudflare, release cross-platform, retencao, auditoria de escopos e contrato UI/Admin.\n- Relatorios e SQLite institucional em `G:/_codex-git/ordens-de-servico-codex/projects/_repo_tudo-para-ia-finance-platform`.\n- Documentacao publicada tambem em `G:/_codex-git/tudo-para-ia-docs-plataform/docs/platforms/tudo-para-ia-finance-platform`.\n\n## Validacao local\n\n```powershell\nnpm test\nnpm run smoke\nnpm run smoke:public\n```\n\n## Estado operacional\n\n- Local implementado: Worker e testes MCP-ready.\n- MCP-ready: contrato local em `apps/finance-worker/schemas/tools.contract.json`.\n- Cloudflare real: operacional em `https://tudo-para-ia-finance-worker.ami-app.workers.dev`.\n- D1 real: `tudo-para-ia-finance-db` migrado com `apps/finance-worker/schema.sql`.\n- Evidencia real: D1/KV/R2/Queue gravados com `audit-real-smoke-finance-evidence-json-2026-04-29`.\n- Contrato local: 38 tools validadas por `npm run smoke`; smoke publico `2026-04-29T18:07:00.793Z` verde.\n\nO roteiro de promocao fica em `docs/cloudflare-real-roadmap.md`.", "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git", "repo_path": "G:\\_codex-git\\tudo-para-ia-finance-platform", - "scanned_at": "2026-04-30T10:32:14+00:00", + "scanned_at": "2026-04-30T11:32:21+00:00", "scripts": [ { "command": "npm --workspace apps/finance-worker run smoke", @@ -332414,7 +324424,7 @@ "readme_excerpt": "# Tudo Para IA Gettys Platform\n\nGettys Platform e a plataforma propria de contexto operacional e evidencias do ecossistema Tudo Para IA.\n\nEla nasce para responder, de forma MCP-ready e Cloudflare-first, perguntas operacionais como:\n\n- qual e o contexto consolidado de uma organizacao, usuario, produto ou atendimento;\n- qual status operacional deve ser visto por Customer Ops;\n- quais evidencias, traceIds e auditIds sustentam uma decisao ou simulacao;\n- quais acoes podem ser simuladas com seguranca antes de tocar Business, Identity, UI ou MCP central.\n\n## Runtime\n\n- Worker: `apps/gettys-worker`\n- D1: binding previsto `GETTYS_DB`\n- KV: binding previsto `GETTYS_CONTEXT_KV`\n- R2: binding previsto `GETTYS_EVIDENCE_R2`\n- Migração D1: `apps/gettys-worker/migrations/0001_gettys_evidence.sql`\n- Migração D1 lifecycle: `apps/gettys-worker/migrations/0002_gettys_lifecycle.sql`\n- Persistencia opcional de evidencias: D1, KV e R2 quando os bindings existem; simulada localmente quando ausentes\n- Reconciliacao read-only de evidencias: D1, KV e R2 por `evidenceId`, sem expor payload sensivel\n- Taxonomia de dados: `real`, `persisted`, `local_simulated`, `fixture`, `synthetic`, `derived`, `stale`, `partial`, `blocked`\n- Retencao: evidencias por 365 dias, snapshots por 180 dias e auditoria por 730 dias, sempre com redaction antes de persistir payload sensivel\n- Observabilidade: habilitada em `wrangler.jsonc`\n- Auth publicado: `/health` e `/openapi.json` publicos; rotas read-only protegidas por `GETTYS_READONLY_KEY`; operacoes internas protegidas por `GETTYS_INTERNAL_KEY`\n- Rate limit leve: controlado por `GETTYS_RATE_LIMIT_PER_MINUTE`, com padrao por minuto para leitura e operacoes internas\n- MCP central: nao alterado nesta OS\n- Contrato HTTP local: `GET /openapi.json`, versionado como `gettys.http-admin.v0.2.0`\n- Tela administrativa local: `GET /v1/admin/screens/gettys-overview`, versionada como `gettys.screen.overview/0.2`\n\n## Paradigma\n\nO paradigma escolhido e Hono, mantido em `_paradigmas/hono` como snapshot completo do codigo-fonte upstream. O clone Git auxiliar usado para gerar o snapshot fica ignorado por `.gitignore`.\n\n## Validacao local\n\n```bash\nnpm run verify\n```\n\n## Superficie HTTP local\n\nRotas principais expostas pelo Worker:\n\n- `GET /health` e `GET /v1/health`: status basico do Worker.\n- `GET /profile` e `GET /v1/profile`: perfil da Gettys Platform.\n- `GET /readiness` e `GET /v1/readiness`: prontidao local e bindings detectados.\n- `GET /v1/tools`: catalogo local MCP-ready.\n- `GET /openapi.json`: contrato HTTP compacto para validacao por painel, GPT e testes.\n- `GET /v1/admin/screens/gettys-overview`: contrato de tela administrativa com `panelReady`, `sameSource`, `dataTruth` e `sourceRecordsHash`.\n- `GET /v1/evidences/{evidenceId}/reconciliation`: diagnostico D1/KV/R2 sem payload sensivel.\n- `POST /v1/mcp/execute`: execucao de tool local por `toolId`.\n- `POST /v1/status/snapshots`: cria snapshot de status e persiste em D1/KV quando bindings existem.\n- `POST /v1/smoke`: smoke local sem mutacao externa.\n\n## Fontes read-only\n\nA Gettys representa Business, Identity e Customer Ops por adaptadores read-only locais. Esses adaptadores nao chamam endpoint externo no fallback local, nao fazem mutacao e mascaram campos sensiveis antes de responder.\n\n- tool: `gettys.fontes.readonly.consultar`\n- tool: `gettys.evidencias.reconciliar`\n- contrato: `gettys.readonly.adapters.v1`\n- fontes: `business`, `identity`, `customer_ops`\n- modo atual: `local_readonly_fallback`\n\n## Cloudflare remoto\n\nRecursos reais provisionados no account Cloudflare `PARA-IA`:\n\n- D1 `gettys_context_db`: `7e7be905-4c01-4403-8de2-eac220e5c04b`\n- KV `GETTYS_CONTEXT_KV`: `e3b509967d0a4a109acd6a9fb29e9417`\n- R2 `gettys-evidence`\n- Worker publicado: `https://tudo-para-ia-gettys-platform.ami-app.workers.dev`\n- versionId remoto validado: `b18bbda9-06c6-43b5-9423-dcbcaddba42a`\n\nComandos de criacao/identificacao aplicados:\n\n```powershell\nwrangler d1 list\nwrangler kv namespace list\nwrangler r", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-gettys-platform", - "scanned_at": "2026-04-30T10:32:15+00:00", + "scanned_at": "2026-04-30T11:32:22+00:00", "scripts": [ { "command": "node --check apps/gettys-worker/src/index.js", @@ -338477,7 +330487,7 @@ "readme_excerpt": "# tudo-para-ia-identity-platform\n\nPlataforma Identity worker-first do ecossistema Tudo Para IA.\n\nEstado atual:\n- Cloudflare Worker TypeScript em `src/index.ts`;\n- rotas operacionais `/health`, `/profile`, `/openapi` e `/identity/*`;\n- tools MCP-ready publicadas via `tudo-para-ia-mcps-internos-plataform`;\n- redacao de headers, tokens, cookies, segredos e chaves Moesif-like;\n- store em memoria com contrato D1-ready em `migrations/`;\n- incidentes e evidencias com paginacao, cursor, filtros operacionais e limpeza por retencao;\n- admin views com modo compacto, summaryOnly, failuresOnly, evidenceOnly e cursor;\n- politica publica de auth, rotacao e break-glass em `/identity/security/auth/policy`;\n- contratos versionados em `/identity/contracts` e metadados de versao nos envelopes;\n- snapshots operacionais persistiveis para readiness, smoke, admin query e retencao;\n- scheduler de retencao em dry-run com alertas por volume;\n- RBAC institucional `identity-rbac-v3` com roles canonicas e negacoes explicitas por produto/provedor;\n- smoke local em `npm run smoke:local`;\n- regressao remota segura em `npm run smoke:remote`;\n- sem frontend e sem dependencia de conta Moesif SaaS.\n\nValidacao local:\n\n```powershell\nnpm run typecheck\nnpm test\nnpm run smoke:local\nnpm run smoke:remote\nnpm run build\n```\n\nObservacao: `npm test` e os smokes usam `node --experimental-strip-types` para evitar bloqueio de spawn do `tsx`/esbuild em espelhos Windows restritos.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-identity-platform", - "scanned_at": "2026-04-30T10:32:16+00:00", + "scanned_at": "2026-04-30T11:32:23+00:00", "scripts": [ { "command": "wrangler deploy --dry-run --outdir dist", @@ -338614,7 +330624,7 @@ { "confidence": 0.68, "kind": "business_rule", - "line": 230, + "line": 233, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'entitlement', sinalizando capacidade humana ou operacional.", "tags": [ @@ -339282,7 +331292,7 @@ { "confidence": 0.55, "kind": "mcp_tool", - "line": 26, + "line": 28, "path": "package.json", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] @@ -339616,7 +331626,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 27, + "line": 29, "path": "package.json", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -339627,7 +331637,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 27, + "line": 29, "path": "package.json", "summary": "Texto menciona 'trace', sinalizando capacidade humana ou operacional.", "tags": [ @@ -339833,6 +331843,17 @@ "observability" ] }, + { + "confidence": 0.68, + "kind": "observability", + "line": 114, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", + "tags": [ + "operations", + "observability" + ] + }, { "confidence": 0.68, "kind": "observability", @@ -339979,7 +332000,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 81, + "line": 84, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -339990,7 +332011,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 109, + "line": 112, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -340020,17 +332041,6 @@ "observability" ] }, - { - "confidence": 0.68, - "kind": "observability", - "line": 70, - "path": "scripts/docs/validate-docs.ts", - "summary": "Texto menciona 'readiness', sinalizando capacidade humana ou operacional.", - "tags": [ - "operations", - "observability" - ] - }, { "confidence": 0.78, "kind": "openapi", @@ -340042,7 +332052,7 @@ { "confidence": 0.78, "kind": "openapi", - "line": 27, + "line": 29, "path": "package.json", "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] @@ -340095,6 +332105,14 @@ "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "openapi", + "line": 31, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.78, "kind": "openapi", @@ -340202,11 +332220,19 @@ { "confidence": 0.78, "kind": "openapi", - "line": 67, + "line": 70, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "openapi", + "line": 24, + "path": "scripts/ops/round11-no-spawn-smoke.mjs", + "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.78, "kind": "openapi", @@ -340335,22 +332361,6 @@ "summary": "Arquivo com indicio de contrato OpenAPI.", "tags": [] }, - { - "confidence": 0.78, - "kind": "openapi", - "line": 1, - "path": "packages/shared-integration-openapi/src/build-schemas.ts", - "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.8, - "kind": "openapi", - "line": null, - "path": "packages/shared-integration-openapi/src/build-tool-operation.ts", - "summary": "Arquivo com indicio de contrato OpenAPI.", - "tags": [] - }, { "confidence": 0.62, "kind": "package_script", @@ -340451,6 +332461,16 @@ "operation" ] }, + { + "confidence": 0.62, + "kind": "package_script", + "line": null, + "path": "package.json", + "summary": "Script 'ops:round11:materialize' com intencao 'operation'.", + "tags": [ + "operation" + ] + }, { "confidence": 0.62, "kind": "package_script", @@ -340461,6 +332481,16 @@ "validation" ] }, + { + "confidence": 0.62, + "kind": "package_script", + "line": null, + "path": "package.json", + "summary": "Script 'smoke:round11:no-tsx' com intencao 'validation'.", + "tags": [ + "validation" + ] + }, { "confidence": 0.62, "kind": "package_script", @@ -341181,156 +333211,6 @@ "route" ] }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/providers", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/apps", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/channels", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js", - "summary": "Rota ou chamada HTTP detectada: /central/capabilities", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/profile", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/tools", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js", - "summary": "Rota ou chamada HTTP detectada: /gpt/layers", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/providers", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/session", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js", - "summary": "Rota ou chamada HTTP detectada: /v1/channel-contract", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/public-contract.js", - "summary": "Rota ou chamada HTTP detectada: /public/health", - "tags": [ - "route" - ] - }, - { - "confidence": 0.66, - "kind": "route", - "line": null, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/public-contract.js", - "summary": "Rota ou chamada HTTP detectada: /public/home", - "tags": [ - "route" - ] - }, { "confidence": 0.78, "kind": "security", @@ -341381,6 +333261,16 @@ "security" ] }, + { + "confidence": 0.78, + "kind": "security", + "line": 109, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional.", + "tags": [ + "security" + ] + }, { "confidence": 0.78, "kind": "security", @@ -341721,16 +333611,6 @@ "security" ] }, - { - "confidence": 0.78, - "kind": "security", - "line": 2, - "path": "packages/shared-integration-admin-ops/src/round-continuity.ts", - "summary": "Texto menciona 'byok', sinalizando capacidade humana ou operacional.", - "tags": [ - "integration" - ] - }, { "confidence": 0.72, "kind": "test", @@ -341851,6 +333731,14 @@ "summary": "Arquivo de teste ou especificacao encontrado.", "tags": [] }, + { + "confidence": 0.72, + "kind": "test", + "line": null, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Arquivo de teste ou especificacao encontrado.", + "tags": [] + }, { "confidence": 0.72, "kind": "test", @@ -342043,14 +333931,6 @@ "summary": "Arquivo de teste ou especificacao encontrado.", "tags": [] }, - { - "confidence": 0.72, - "kind": "test", - "line": null, - "path": "apps/tudo-para-ia-integracoes-recommendation/tests/runtime.test.ts", - "summary": "Arquivo de teste ou especificacao encontrado.", - "tags": [] - }, { "confidence": 0.55, "kind": "ui_surface", @@ -342067,6 +333947,14 @@ "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "ui_surface", + "line": 11, + "path": "tests/round-11-operational-execution.test.ts", + "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "ui_surface", @@ -342102,7 +333990,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 60, + "line": 63, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] @@ -342365,14 +334253,6 @@ "summary": "Possivel superficie visual encontrada.", "tags": [] }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "packages/shared-integration-dispatch/src/build-dispatch-response.ts", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, { "confidence": 0.55, "kind": "unknown", @@ -342436,7 +334316,7 @@ { "confidence": 0.55, "kind": "unknown", - "line": 147, + "line": 150, "path": "scripts/round/materialize-round-11-operational-execution.mjs", "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", "tags": [ @@ -343004,94 +334884,6 @@ "path": "apps/cloudflare-para-ia/docs/tools.md", "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/packages/shared-integration-auth/src/contracts/auth-worker-contract.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/index.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/describe-tool.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/execute-tool.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/health.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/list-tools.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/provider-state.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/capabilities.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/manifest.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/metadata.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] - }, - { - "confidence": 0.6, - "kind": "worker", - "line": null, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/profile/describe.js", - "summary": "Indicador de Worker ou Cloudflare encontrado.", - "tags": [] } ], "exists": true, @@ -343109,9 +334901,9 @@ "path": "package-lock.json" }, { - "bytes_size": 4203, + "bytes_size": 4378, "extension": ".json", - "lines": 35, + "lines": 37, "path": "package.json" }, { @@ -343234,6 +335026,12 @@ "lines": 216, "path": "tests/round-10-operational-closure.test.ts" }, + { + "bytes_size": 10134, + "extension": ".ts", + "lines": 214, + "path": "tests/round-11-operational-execution.test.ts" + }, { "bytes_size": 5675, "extension": ".ts", @@ -343427,9 +335225,9 @@ "path": "scripts/round/materialize-round-10-operational-closure.mjs" }, { - "bytes_size": 40419, + "bytes_size": 49774, "extension": ".mjs", - "lines": 976, + "lines": 1203, "path": "scripts/round/materialize-round-11-operational-execution.mjs" }, { @@ -343438,6 +335236,12 @@ "lines": 287, "path": "scripts/ops/round-continuity-smoke-no-tsx.mjs" }, + { + "bytes_size": 8902, + "extension": ".mjs", + "lines": 178, + "path": "scripts/ops/round11-no-spawn-smoke.mjs" + }, { "bytes_size": 13595, "extension": ".mjs", @@ -345503,13 +337307,13 @@ "path": "packages/shared-integration-admin-ops/src/round-10-operational-closure.ts" }, { - "bytes_size": 481338, + "bytes_size": 482224, "extension": ".ts", "lines": 0, "path": "packages/shared-integration-admin-ops/src/round-11-operational-execution.generated.ts" }, { - "bytes_size": 34846, + "bytes_size": 34874, "extension": ".ts", "lines": 916, "path": "packages/shared-integration-admin-ops/src/round-11-operational-execution.ts" @@ -345766,6 +337570,24 @@ "lines": 197, "path": "inventory/round-09-operational-execution.md" }, + { + "bytes_size": 1829, + "extension": ".json", + "lines": 38, + "path": "inventory/round-11-no-spawn-smoke.generated.json" + }, + { + "bytes_size": 510427, + "extension": ".json", + "lines": 0, + "path": "inventory/round-11-operational-execution.generated.json" + }, + { + "bytes_size": 4545, + "extension": ".md", + "lines": 70, + "path": "inventory/round-11-operational-execution.md" + }, { "bytes_size": 86058, "extension": ".json", @@ -352023,8280 +343845,6 @@ "extension": ".md", "lines": 23, "path": "_legados/whatsapp-qr-session/deploy/checklist.md" - }, - { - "bytes_size": 5791, - "extension": ".js", - "lines": 88, - "path": ".compiled/tests/admin-contracts-governance.test.js" - }, - { - "bytes_size": 2039, - "extension": ".js", - "lines": 35, - "path": ".compiled/tests/admin-governance-surface.test.js" - }, - { - "bytes_size": 2686, - "extension": ".js", - "lines": 37, - "path": ".compiled/tests/architecture-governance.test.js" - }, - { - "bytes_size": 4564, - "extension": ".js", - "lines": 68, - "path": ".compiled/tests/area07-multichannel.test.js" - }, - { - "bytes_size": 4097, - "extension": ".js", - "lines": 72, - "path": ".compiled/tests/content-delivery.test.js" - }, - { - "bytes_size": 4192, - "extension": ".js", - "lines": 119, - "path": ".compiled/tests/core-app-structure.test.js" - }, - { - "bytes_size": 7321, - "extension": ".js", - "lines": 152, - "path": ".compiled/tests/finance-event-producers.test.js" - }, - { - "bytes_size": 1237, - "extension": ".js", - "lines": 32, - "path": ".compiled/tests/foundation.test.js" - }, - { - "bytes_size": 2692, - "extension": ".js", - "lines": 48, - "path": ".compiled/tests/identity-mcp-flow.test.js" - }, - { - "bytes_size": 4372, - "extension": ".js", - "lines": 153, - "path": ".compiled/tests/package-structure.test.js" - }, - { - "bytes_size": 1275, - "extension": ".js", - "lines": 44, - "path": ".compiled/tests/provider-app-structure.test.js" - }, - { - "bytes_size": 1470, - "extension": ".js", - "lines": 29, - "path": ".compiled/tests/semantic-persistence.test.js" - }, - { - "bytes_size": 23949, - "extension": ".js", - "lines": 404, - "path": ".compiled/tests/surface.test.js" - }, - { - "bytes_size": 1952, - "extension": ".js", - "lines": 36, - "path": ".compiled/tests/template-structure.test.js" - }, - { - "bytes_size": 1526, - "extension": ".js", - "lines": 30, - "path": ".compiled/tests/workspace-memory.test.js" - }, - { - "bytes_size": 1044, - "extension": ".js", - "lines": 16, - "path": ".compiled/tests/workspace-surface.test.js" - }, - { - "bytes_size": 1161, - "extension": ".js", - "lines": 21, - "path": ".compiled/tests/structure/architecture-governance-structure.test.js" - }, - { - "bytes_size": 575, - "extension": ".js", - "lines": 16, - "path": ".compiled/tests/structure/architecture-structure.test.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 10, - "path": ".compiled/tests/padrao/app-padrao-contracts.test.js" - }, - { - "bytes_size": 800, - "extension": ".js", - "lines": 19, - "path": ".compiled/tests/padrao/app-padrao-structure.test.js" - }, - { - "bytes_size": 532, - "extension": ".js", - "lines": 10, - "path": ".compiled/tests/padrao/template-docs.test.js" - }, - { - "bytes_size": 809, - "extension": ".js", - "lines": 18, - "path": ".compiled/tests/padrao/template-structure.test.js" - }, - { - "bytes_size": 1469, - "extension": ".js", - "lines": 18, - "path": ".compiled/tests/integration/architecture/domain.test.js" - }, - { - "bytes_size": 25405, - "extension": ".js", - "lines": 495, - "path": ".compiled/tests/flows/provider-flow.test.js" - }, - { - "bytes_size": 1575, - "extension": ".js", - "lines": 24, - "path": ".compiled/tests/final-battery/institutional-battery.test.js" - }, - { - "bytes_size": 6836, - "extension": ".js", - "lines": 132, - "path": ".compiled/tests/contracts/catalog-auth-dispatch.test.js" - }, - { - "bytes_size": 496, - "extension": ".js", - "lines": 11, - "path": ".compiled/scripts/sync/check-sync.js" - }, - { - "bytes_size": 2338, - "extension": ".js", - "lines": 62, - "path": ".compiled/scripts/sync/shared.js" - }, - { - "bytes_size": 676, - "extension": ".js", - "lines": 20, - "path": ".compiled/scripts/sync/validate-paths.js" - }, - { - "bytes_size": 114680, - "extension": ".js", - "lines": 3430, - "path": ".compiled/scripts/round/materialize-integracoes-foundation.js" - }, - { - "bytes_size": 6115, - "extension": ".js", - "lines": 166, - "path": ".compiled/scripts/ops/verify-and-cleanup-node-modules.js" - }, - { - "bytes_size": 3431, - "extension": ".js", - "lines": 46, - "path": ".compiled/scripts/docs/build-admin-operational-snapshots.js" - }, - { - "bytes_size": 1272, - "extension": ".js", - "lines": 32, - "path": ".compiled/scripts/docs/build-doc-index.js" - }, - { - "bytes_size": 1922, - "extension": ".js", - "lines": 29, - "path": ".compiled/scripts/docs/build-maturity-snapshot.js" - }, - { - "bytes_size": 4424, - "extension": ".js", - "lines": 101, - "path": ".compiled/scripts/docs/validate-docs.js" - }, - { - "bytes_size": 5791, - "extension": ".js", - "lines": 88, - "path": ".compiled/round10/tests/admin-contracts-governance.test.js" - }, - { - "bytes_size": 2039, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/tests/admin-governance-surface.test.js" - }, - { - "bytes_size": 2686, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/tests/architecture-governance.test.js" - }, - { - "bytes_size": 4564, - "extension": ".js", - "lines": 68, - "path": ".compiled/round10/tests/area07-multichannel.test.js" - }, - { - "bytes_size": 4097, - "extension": ".js", - "lines": 72, - "path": ".compiled/round10/tests/content-delivery.test.js" - }, - { - "bytes_size": 4192, - "extension": ".js", - "lines": 119, - "path": ".compiled/round10/tests/core-app-structure.test.js" - }, - { - "bytes_size": 7321, - "extension": ".js", - "lines": 152, - "path": ".compiled/round10/tests/finance-event-producers.test.js" - }, - { - "bytes_size": 1237, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/tests/foundation.test.js" - }, - { - "bytes_size": 2692, - "extension": ".js", - "lines": 48, - "path": ".compiled/round10/tests/identity-mcp-flow.test.js" - }, - { - "bytes_size": 4372, - "extension": ".js", - "lines": 153, - "path": ".compiled/round10/tests/package-structure.test.js" - }, - { - "bytes_size": 1275, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/tests/provider-app-structure.test.js" - }, - { - "bytes_size": 17564, - "extension": ".js", - "lines": 292, - "path": ".compiled/round10/tests/round-08-operational-closure.test.js" - }, - { - "bytes_size": 16300, - "extension": ".js", - "lines": 278, - "path": ".compiled/round10/tests/round-08-playbook-integrity.test.js" - }, - { - "bytes_size": 12560, - "extension": ".js", - "lines": 202, - "path": ".compiled/round10/tests/round-09-operational-execution.test.js" - }, - { - "bytes_size": 10022, - "extension": ".js", - "lines": 152, - "path": ".compiled/round10/tests/round-10-operational-closure.test.js" - }, - { - "bytes_size": 5703, - "extension": ".js", - "lines": 80, - "path": ".compiled/round10/tests/round-execution-control.test.js" - }, - { - "bytes_size": 9412, - "extension": ".js", - "lines": 147, - "path": ".compiled/round10/tests/round-service-order-execution.test.js" - }, - { - "bytes_size": 1470, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/tests/semantic-persistence.test.js" - }, - { - "bytes_size": 23949, - "extension": ".js", - "lines": 404, - "path": ".compiled/round10/tests/surface.test.js" - }, - { - "bytes_size": 1952, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/tests/template-structure.test.js" - }, - { - "bytes_size": 1526, - "extension": ".js", - "lines": 30, - "path": ".compiled/round10/tests/workspace-memory.test.js" - }, - { - "bytes_size": 1044, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/tests/workspace-surface.test.js" - }, - { - "bytes_size": 1161, - "extension": ".js", - "lines": 21, - "path": ".compiled/round10/tests/structure/architecture-governance-structure.test.js" - }, - { - "bytes_size": 575, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/tests/structure/architecture-structure.test.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/tests/padrao/app-padrao-contracts.test.js" - }, - { - "bytes_size": 800, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/tests/padrao/app-padrao-structure.test.js" - }, - { - "bytes_size": 532, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/tests/padrao/template-docs.test.js" - }, - { - "bytes_size": 809, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/tests/padrao/template-structure.test.js" - }, - { - "bytes_size": 1469, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/tests/integration/architecture/domain.test.js" - }, - { - "bytes_size": 25405, - "extension": ".js", - "lines": 495, - "path": ".compiled/round10/tests/flows/provider-flow.test.js" - }, - { - "bytes_size": 1575, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/tests/final-battery/institutional-battery.test.js" - }, - { - "bytes_size": 6836, - "extension": ".js", - "lines": 132, - "path": ".compiled/round10/tests/contracts/catalog-auth-dispatch.test.js" - }, - { - "bytes_size": 496, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/scripts/sync/check-sync.js" - }, - { - "bytes_size": 2338, - "extension": ".js", - "lines": 62, - "path": ".compiled/round10/scripts/sync/shared.js" - }, - { - "bytes_size": 676, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/scripts/sync/validate-paths.js" - }, - { - "bytes_size": 114680, - "extension": ".js", - "lines": 3430, - "path": ".compiled/round10/scripts/round/materialize-integracoes-foundation.js" - }, - { - "bytes_size": 6115, - "extension": ".js", - "lines": 166, - "path": ".compiled/round10/scripts/ops/verify-and-cleanup-node-modules.js" - }, - { - "bytes_size": 1418, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-active-service-order-snapshot.js" - }, - { - "bytes_size": 3431, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/scripts/docs/build-admin-operational-snapshots.js" - }, - { - "bytes_size": 1272, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/scripts/docs/build-doc-index.js" - }, - { - "bytes_size": 1922, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/scripts/docs/build-maturity-snapshot.js" - }, - { - "bytes_size": 2541, - "extension": ".js", - "lines": 34, - "path": ".compiled/round10/scripts/docs/build-round-08-operational-closure-snapshot.js" - }, - { - "bytes_size": 1455, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-round-09-operational-execution-snapshot.js" - }, - { - "bytes_size": 1409, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-round-10-operational-closure-snapshot.js" - }, - { - "bytes_size": 1049, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/scripts/docs/build-round-continuity-snapshot.js" - }, - { - "bytes_size": 1400, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/scripts/docs/build-round-execution-control-snapshot.js" - }, - { - "bytes_size": 4510, - "extension": ".js", - "lines": 103, - "path": ".compiled/round10/scripts/docs/validate-docs.js" - }, - { - "bytes_size": 10721, - "extension": ".js", - "lines": 297, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/build-thematic-memory.js" - }, - { - "bytes_size": 2481, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/build-workspace-memory.js" - }, - { - "bytes_size": 466, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/defaults.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-workspace-memory/src/types.js" - }, - { - "bytes_size": 90, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-utils/src/compose.js" - }, - { - "bytes_size": 15764, - "extension": ".js", - "lines": 360, - "path": ".compiled/round10/packages/shared-integration-utils/src/finance-event-producers.js" - }, - { - "bytes_size": 413, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-utils/src/format.js" - }, - { - "bytes_size": 7654, - "extension": ".js", - "lines": 160, - "path": ".compiled/round10/packages/shared-integration-utils/src/identity-mcp-flow.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-utils/src/index.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-utils/src/normalize.js" - }, - { - "bytes_size": 168, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-utils/src/parse.js" - }, - { - "bytes_size": 123, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-utils/src/redact.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/channel-contract.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/envelope.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/resource.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-types/src/tool.js" - }, - { - "bytes_size": 1868, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/packages/shared-integration-trace-audit/tests/trace-audit-baseline.test.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/audit.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 2, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/correlation.js" - }, - { - "bytes_size": 688, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/index.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/redaction.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace/append-trace-step.js" - }, - { - "bytes_size": 555, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace/create-trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/trace/finalize-trace.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-channel-metric.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-error-metric.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-latency-metric.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/metrics/create-usage-metric.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/correlation/build-correlation-id.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/correlation/build-request-id.js" - }, - { - "bytes_size": 389, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/audit/create-audit-event.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-trace-audit/src/audit/redact-audit-payload.js" - }, - { - "bytes_size": 1543, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/packages/shared-integration-session/src/context.js" - }, - { - "bytes_size": 1449, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/packages/shared-integration-session/src/handoff.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-session/src/index.js" - }, - { - "bytes_size": 2095, - "extension": ".js", - "lines": 57, - "path": ".compiled/round10/packages/shared-integration-session/src/resume.js" - }, - { - "bytes_size": 103, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-session/src/revocation.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/packages/shared-integration-session/src/session-state.js" - }, - { - "bytes_size": 4257, - "extension": ".js", - "lines": 135, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/in-memory-store.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/index.js" - }, - { - "bytes_size": 751, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/keys.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-semantic-persistence/src/types.js" - }, - { - "bytes_size": 2150, - "extension": ".js", - "lines": 58, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-confidence-view.js" - }, - { - "bytes_size": 2669, - "extension": ".js", - "lines": 78, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-integrity-status.js" - }, - { - "bytes_size": 1887, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-lineage-trace.js" - }, - { - "bytes_size": 1256, - "extension": ".js", - "lines": 23, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-operational-summary.js" - }, - { - "bytes_size": 2284, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/packages/shared-integration-reliability/src/build-readiness-report.js" - }, - { - "bytes_size": 273, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-reliability/src/index.js" - }, - { - "bytes_size": 1923, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/packages/shared-integration-reliability/src/list-operational-incidents.js" - }, - { - "bytes_size": 4591, - "extension": ".js", - "lines": 122, - "path": ".compiled/round10/packages/shared-integration-reliability/src/shared.js" - }, - { - "bytes_size": 2282, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/packages/shared-integration-operations/src/batch-health.js" - }, - { - "bytes_size": 104, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-operations/src/index.js" - }, - { - "bytes_size": 1309, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/packages/shared-integration-operations/src/quarantine.js" - }, - { - "bytes_size": 1996, - "extension": ".js", - "lines": 56, - "path": ".compiled/round10/packages/shared-integration-operations/src/source-status.js" - }, - { - "bytes_size": 1002, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-openapi/tests/openapi-baseline.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-openapi.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-schemas.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-openapi/src/build-tool-operation.js" - }, - { - "bytes_size": 985, - "extension": ".js", - "lines": 22, - "path": ".compiled/round10/packages/shared-integration-openapi/src/index.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-openapi/src/openapi-document.js" - }, - { - "bytes_size": 79, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-openapi/src/openapi-paths.js" - }, - { - "bytes_size": 58, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-openapi/src/openapi-schemas.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-openapi/src/surface-minima.js" - }, - { - "bytes_size": 194, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/entitlement-schema.js" - }, - { - "bytes_size": 240, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/group-schema.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/layer-schema.js" - }, - { - "bytes_size": 341, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/resource-schema.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/session-schema.js" - }, - { - "bytes_size": 290, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/packages/shared-integration-openapi/src/schemas/tool-schema.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/catalog-groups-path.js" - }, - { - "bytes_size": 282, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/catalog-layers-path.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/catalog-tools-path.js" - }, - { - "bytes_size": 277, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/health-path.js" - }, - { - "bytes_size": 745, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/tool-call-path.js" - }, - { - "bytes_size": 502, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/packages/shared-integration-openapi/src/paths/tool-describe-path.js" - }, - { - "bytes_size": 818, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-document.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-info.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-paths.js" - }, - { - "bytes_size": 2771, - "extension": ".js", - "lines": 78, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-schemas.js" - }, - { - "bytes_size": 213, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-openapi/src/builders/build-openapi-servers.js" - }, - { - "bytes_size": 209, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-openapi/src/adapters/build-action-openapi.js" - }, - { - "bytes_size": 199, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-openapi/src/adapters/build-mcp-openapi.js" - }, - { - "bytes_size": 473, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-kernel/src/bootstrap.js" - }, - { - "bytes_size": 503, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-kernel/src/guards.js" - }, - { - "bytes_size": 363, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-kernel/src/index.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-kernel/src/manifest.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-kernel/src/orchestrate.js" - }, - { - "bytes_size": 364, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-kernel/src/request-context.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/managed-provider-manager.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/plugin-registry.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/provider-manager.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-kernel/src/managers/taxonomy-manager.js" - }, - { - "bytes_size": 2683, - "extension": ".js", - "lines": 83, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/capability-access.js" - }, - { - "bytes_size": 133, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/channel-access.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/eligibility.js" - }, - { - "bytes_size": 167, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/index.js" - }, - { - "bytes_size": 396, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/limits.js" - }, - { - "bytes_size": 68, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-entitlements/src/plan.js" - }, - { - "bytes_size": 1626, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/packages/shared-integration-dispatch/tests/dispatch-baseline.test.js" - }, - { - "bytes_size": 641, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-dispatch-context.js" - }, - { - "bytes_size": 2463, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-dispatch-plan.js" - }, - { - "bytes_size": 538, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-dispatch-response.js" - }, - { - "bytes_size": 1092, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/build-event-catalog.js" - }, - { - "bytes_size": 607, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-catalog-call.js" - }, - { - "bytes_size": 560, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-protected.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-resource-call.js" - }, - { - "bytes_size": 1142, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch-tool-call.js" - }, - { - "bytes_size": 257, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/dispatch.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/error-map.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/execution-manager.js" - }, - { - "bytes_size": 781, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/index.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-provider.js" - }, - { - "bytes_size": 436, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-target-app.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-target-integration.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/resolve-tool.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/result-normalizer.js" - }, - { - "bytes_size": 884, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/run-call.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/errors/dispatch-error.js" - }, - { - "bytes_size": 279, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-dispatch/src/errors/target-resolution-error.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/chunks.js" - }, - { - "bytes_size": 1273, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/compare.js" - }, - { - "bytes_size": 1816, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/excerpts.js" - }, - { - "bytes_size": 900, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/highlights.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/index.js" - }, - { - "bytes_size": 1640, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/packages/shared-integration-content-utils/src/sections.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-content-types/src/document-reading.js" - }, - { - "bytes_size": 39, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-content-types/src/index.js" - }, - { - "bytes_size": 1775, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/central-contract.js" - }, - { - "bytes_size": 1765, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/gpt-contract.js" - }, - { - "bytes_size": 3052, - "extension": ".js", - "lines": 59, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/index.js" - }, - { - "bytes_size": 1574, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/public-contract.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/packages/shared-integration-channel-contracts/src/pwa-contract.js" - }, - { - "bytes_size": 132, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-catalog/src/capability-types.js" - }, - { - "bytes_size": 19240, - "extension": ".js", - "lines": 471, - "path": ".compiled/round10/packages/shared-integration-catalog/src/commercial-readiness-policy.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-catalog/src/communication-modes.js" - }, - { - "bytes_size": 48979, - "extension": ".js", - "lines": 987, - "path": ".compiled/round10/packages/shared-integration-catalog/src/discovery.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-catalog/src/groups.js" - }, - { - "bytes_size": 549, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/packages/shared-integration-catalog/src/index.js" - }, - { - "bytes_size": 349, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-catalog/src/layers.js" - }, - { - "bytes_size": 12276, - "extension": ".js", - "lines": 307, - "path": ".compiled/round10/packages/shared-integration-catalog/src/maturity-snapshot.js" - }, - { - "bytes_size": 4767, - "extension": ".js", - "lines": 133, - "path": ".compiled/round10/packages/shared-integration-catalog/src/maturity.js" - }, - { - "bytes_size": 15881, - "extension": ".js", - "lines": 405, - "path": ".compiled/round10/packages/shared-integration-catalog/src/provider-live-roadmap.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-catalog/src/publication-status.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-catalog/src/resources-index.js" - }, - { - "bytes_size": 206, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-catalog/src/resources.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-catalog/src/tools-index.js" - }, - { - "bytes_size": 692, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/packages/shared-integration-catalog/src/tools.js" - }, - { - "bytes_size": 117, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-catalog/src/versioning-status.js" - }, - { - "bytes_size": 110, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-auth/src/auth-guards.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-auth/src/auth-policy.js" - }, - { - "bytes_size": 1009, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/packages/shared-integration-auth/src/auth-profile.js" - }, - { - "bytes_size": 22663, - "extension": ".js", - "lines": 571, - "path": ".compiled/round10/packages/shared-integration-auth/src/byok-contract.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/packages/shared-integration-auth/src/byok-enrollment.js" - }, - { - "bytes_size": 668, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/packages/shared-integration-auth/src/index.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/auth-loader.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/auth-registry.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/catalog.js" - }, - { - "bytes_size": 193, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/managed-catalog.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/messages.js" - }, - { - "bytes_size": 188, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/policies.js" - }, - { - "bytes_size": 335, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-auth/src/providers/runtime.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-auth/src/contracts/auth-worker-contract.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-auth/src/contracts/provider-auth-contract.js" - }, - { - "bytes_size": 494, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/channel-resolver.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/dependency-graph.js" - }, - { - "bytes_size": 589, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/domain-resolver.js" - }, - { - "bytes_size": 81, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/drift-format.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/index.js" - }, - { - "bytes_size": 551, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/module-classifier.js" - }, - { - "bytes_size": 106, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/path-parser.js" - }, - { - "bytes_size": 87, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/packages/shared-integration-architecture-utils/src/violation-format.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/admission-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/architecture-drift.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/architecture-violation.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/boundary-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/channel-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/dependency-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/domain-catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/domain-id.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/domain-owner.js" - }, - { - "bytes_size": 407, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/module-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-types/src/placement-rule.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/admission-rules.js" - }, - { - "bytes_size": 84, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/channel-rules.js" - }, - { - "bytes_size": 147, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/domain-rules.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/import-rules.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/index.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/naming-rules.js" - }, - { - "bytes_size": 119, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/placement-rules.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/packages/shared-integration-architecture-rules/src/runtime-rules.js" - }, - { - "bytes_size": 14064, - "extension": ".js", - "lines": 266, - "path": ".compiled/round10/packages/shared-integration-admin-ops/tests/admin-ops-baseline.test.js" - }, - { - "bytes_size": 34646, - "extension": ".js", - "lines": 786, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/admin-contracts.js" - }, - { - "bytes_size": 12746, - "extension": ".js", - "lines": 309, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/admin-observability.js" - }, - { - "bytes_size": 2188, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/approvals.js" - }, - { - "bytes_size": 61197, - "extension": ".js", - "lines": 1374, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/backend.js" - }, - { - "bytes_size": 12494, - "extension": ".js", - "lines": 292, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/byok-custody-governance.js" - }, - { - "bytes_size": 15965, - "extension": ".js", - "lines": 436, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/compact-contract.js" - }, - { - "bytes_size": 824, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/doc-links.js" - }, - { - "bytes_size": 1021, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/domain-health.js" - }, - { - "bytes_size": 954, - "extension": ".js", - "lines": 23, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/index.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/operator-assist.js" - }, - { - "bytes_size": 1365, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/overview.js" - }, - { - "bytes_size": 8207, - "extension": ".js", - "lines": 160, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/provider-operations.js" - }, - { - "bytes_size": 10681, - "extension": ".js", - "lines": 245, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-08-evidence-store.js" - }, - { - "bytes_size": 97315, - "extension": ".js", - "lines": 2063, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-08-operational-closure.js" - }, - { - "bytes_size": 52391, - "extension": ".js", - "lines": 1180, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-08-operational-playbook.js" - }, - { - "bytes_size": 90128, - "extension": ".js", - "lines": 1946, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-09-operational-execution.js" - }, - { - "bytes_size": 246190, - "extension": ".js", - "lines": 5047, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-execution-ledger.generated.js" - }, - { - "bytes_size": 3874, - "extension": ".js", - "lines": 65, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-execution-ledger.js" - }, - { - "bytes_size": 349606, - "extension": ".js", - "lines": 9035, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-operational-closure.generated.js" - }, - { - "bytes_size": 20258, - "extension": ".js", - "lines": 432, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-10-operational-closure.js" - }, - { - "bytes_size": 49298, - "extension": ".js", - "lines": 1036, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-continuity.js" - }, - { - "bytes_size": 48791, - "extension": ".js", - "lines": 1060, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-execution-control.js" - }, - { - "bytes_size": 25073, - "extension": ".js", - "lines": 495, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-service-order-documents.js" - }, - { - "bytes_size": 64240, - "extension": ".js", - "lines": 1360, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/round-service-order-execution.js" - }, - { - "bytes_size": 2340, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/support.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/packages/shared-integration-admin-ops/src/types.js" - }, - { - "bytes_size": 580051, - "extension": ".json", - "lines": 0, - "path": ".compiled/round10/inventory/round-10-operational-closure.generated.json" - }, - { - "bytes_size": 4443, - "extension": ".md", - "lines": 58, - "path": ".compiled/round10/inventory/round-10-operational-closure.md" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/vercel-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/vercel-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/vercel-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 431, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/vercel-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/vercel-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 243, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/vercel-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/bridge/config.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/bridge/oauth.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/vercel-para-ia/src/bridge/session-store.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/vercel-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/vercel-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 1229, - "extension": ".js", - "lines": 21, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/tests/runtime.test.js" - }, - { - "bytes_size": 887, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/index.js" - }, - { - "bytes_size": 276, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/routes/related.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/routes/topics.js" - }, - { - "bytes_size": 2945, - "extension": ".js", - "lines": 73, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/core/topics/build-topic-recommendations.js" - }, - { - "bytes_size": 4042, - "extension": ".js", - "lines": 127, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-recommendation/src/core/related/build-related-recommendations.js" - }, - { - "bytes_size": 140, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/index.js" - }, - { - "bytes_size": 1536, - "extension": ".js", - "lines": 40, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/openapi/document.js" - }, - { - "bytes_size": 583, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/workspace/render-workspace.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/session/restore-session.js" - }, - { - "bytes_size": 753, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/reliability/render-reliability.js" - }, - { - "bytes_size": 318, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/presets/render-presets.js" - }, - { - "bytes_size": 637, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbook-content.js" - }, - { - "bytes_size": 489, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbooks.js" - }, - { - "bytes_size": 1221, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/onboarding/render-onboarding.js" - }, - { - "bytes_size": 402, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/offline/render-offline-policy.js" - }, - { - "bytes_size": 754, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/mobile/render-mobile-entry.js" - }, - { - "bytes_size": 1848, - "extension": ".js", - "lines": 38, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/home/render-home.js" - }, - { - "bytes_size": 565, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/discovery/render-discovery.js" - }, - { - "bytes_size": 514, - "extension": ".js", - "lines": 14, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/composition/render-composition.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-catalog.js" - }, - { - "bytes_size": 1224, - "extension": ".js", - "lines": 30, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-provider-detail.js" - }, - { - "bytes_size": 896, - "extension": ".js", - "lines": 27, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/features/capabilities/render-capabilities.js" - }, - { - "bytes_size": 4373, - "extension": ".js", - "lines": 88, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-pwa/src/app/router.js" - }, - { - "bytes_size": 1864, - "extension": ".js", - "lines": 40, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/tests/domain.test.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/index.js" - }, - { - "bytes_size": 195, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/routes/batches.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/routes/quarantine.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/routes/sources.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/core/sources/list-source-status.js" - }, - { - "bytes_size": 129, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/core/quarantine/quarantine-operation.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-operations/src/core/batches/list-batch-health.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/index.js" - }, - { - "bytes_size": 1805, - "extension": ".js", - "lines": 48, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/openapi/document.js" - }, - { - "bytes_size": 9585, - "extension": ".js", - "lines": 233, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/router.js" - }, - { - "bytes_size": 266, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/routes/openapi.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/index.js" - }, - { - "bytes_size": 783, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/pricing/render-pricing.js" - }, - { - "bytes_size": 1675, - "extension": ".js", - "lines": 31, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/integration/render-integration-page.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/home/render-home.js" - }, - { - "bytes_size": 324, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/catalog/render-public-catalog.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/pages/activation/render-activation-entry.js" - }, - { - "bytes_size": 1843, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/app/router.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-public/src/app/routes/openapi.js" - }, - { - "bytes_size": 925, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/tests/openapi.test.js" - }, - { - "bytes_size": 5607, - "extension": ".js", - "lines": 85, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/tests/router.test.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/index.js" - }, - { - "bytes_size": 2031, - "extension": ".js", - "lines": 53, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/cors.js" - }, - { - "bytes_size": 2101, - "extension": ".js", - "lines": 63, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/rate-limit.js" - }, - { - "bytes_size": 488, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/redact-logs.js" - }, - { - "bytes_size": 1776, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/route-guard.js" - }, - { - "bytes_size": 1831, - "extension": ".js", - "lines": 40, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/provider/state.js" - }, - { - "bytes_size": 2580, - "extension": ".js", - "lines": 71, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/profile/describe.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 39, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/document.js" - }, - { - "bytes_size": 8283, - "extension": ".js", - "lines": 238, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/paths.js" - }, - { - "bytes_size": 3900, - "extension": ".js", - "lines": 115, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/schemas.js" - }, - { - "bytes_size": 1725, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/observability/trace.js" - }, - { - "bytes_size": 700, - "extension": ".js", - "lines": 14, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/handoff/build-platform-link.js" - }, - { - "bytes_size": 541, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/discovery/list-groups.js" - }, - { - "bytes_size": 395, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/descriptions/describe-tool.js" - }, - { - "bytes_size": 435, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/catalog/list-layers.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-bindings.js" - }, - { - "bytes_size": 498, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-env.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/env.js" - }, - { - "bytes_size": 775, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/response.js" - }, - { - "bytes_size": 4838, - "extension": ".js", - "lines": 95, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/router.js" - }, - { - "bytes_size": 1154, - "extension": ".js", - "lines": 25, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/admin.js" - }, - { - "bytes_size": 1870, - "extension": ".js", - "lines": 39, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/capabilities.js" - }, - { - "bytes_size": 979, - "extension": ".js", - "lines": 22, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/execute.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/groups.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/handoff.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/health.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/layers.js" - }, - { - "bytes_size": 270, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/limits.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/openapi.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/profile.js" - }, - { - "bytes_size": 761, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/provider-state.js" - }, - { - "bytes_size": 720, - "extension": ".js", - "lines": 15, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tool.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tools.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/index.js" - }, - { - "bytes_size": 1420, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/security/route-guard.js" - }, - { - "bytes_size": 2588, - "extension": ".js", - "lines": 67, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/profile/describe.js" - }, - { - "bytes_size": 4612, - "extension": ".js", - "lines": 95, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/openapi/document.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/client.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/errors.js" - }, - { - "bytes_size": 78, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/protocol.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/sse.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/federation/list-apps.js" - }, - { - "bytes_size": 648, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/dispatch/forward-call.js" - }, - { - "bytes_size": 346, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/catalog/build-combined-catalog.js" - }, - { - "bytes_size": 153, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/env.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/response.js" - }, - { - "bytes_size": 7367, - "extension": ".js", - "lines": 143, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/router.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/app/routes/openapi.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-central/src/aggregation/merge-capabilities.js" - }, - { - "bytes_size": 9151, - "extension": ".js", - "lines": 124, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/tests/smoke.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/index.js" - }, - { - "bytes_size": 2149, - "extension": ".js", - "lines": 56, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/profile/describe.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-admin-overview.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-operator-assist.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-approval-requests.js" - }, - { - "bytes_size": 226, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-doc-links.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-domain-health.js" - }, - { - "bytes_size": 360, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-provider-operations.js" - }, - { - "bytes_size": 222, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-support-tickets.js" - }, - { - "bytes_size": 8703, - "extension": ".js", - "lines": 151, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/openapi/document.js" - }, - { - "bytes_size": 5471, - "extension": ".js", - "lines": 108, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-gateway-admin/src/app/router.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/index.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/session/current-session.js" - }, - { - "bytes_size": 331, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/openapi/document.js" - }, - { - "bytes_size": 310, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/entitlements/check-entitlement.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/dispatch/route-tool-call.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/core/bootstrap.js" - }, - { - "bytes_size": 340, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/core/errors.js" - }, - { - "bytes_size": 469, - "extension": ".js", - "lines": 16, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/core/http-surface.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/channels/channel-contract.js" - }, - { - "bytes_size": 3159, - "extension": ".js", - "lines": 58, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/catalog/build-catalog-response.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/config.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/index.js" - }, - { - "bytes_size": 491, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/oauth.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/session-store.js" - }, - { - "bytes_size": 272, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/auth/resolve-user.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/env.js" - }, - { - "bytes_size": 229, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/response.js" - }, - { - "bytes_size": 11020, - "extension": ".js", - "lines": 175, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/router.js" - }, - { - "bytes_size": 375, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-core-api/src/app/routes/health.js" - }, - { - "bytes_size": 4491, - "extension": ".js", - "lines": 73, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/index.js" - }, - { - "bytes_size": 527, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/policies/assert-document-input.js" - }, - { - "bytes_size": 1169, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/compare-documents.js" - }, - { - "bytes_size": 10713, - "extension": ".js", - "lines": 226, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/content-catalog.js" - }, - { - "bytes_size": 470, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-chunks.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-excerpts.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-navigation.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-reading-resume-point.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-relevant-highlights.js" - }, - { - "bytes_size": 54, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/list-documents.js" - }, - { - "bytes_size": 1310, - "extension": ".js", - "lines": 28, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/open-document.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/resume-store.js" - }, - { - "bytes_size": 848, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/save-reading-resume-point.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-content-delivery/src/content/support.js" - }, - { - "bytes_size": 1832, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/tests/unit/collaboration-worker.test.js" - }, - { - "bytes_size": 1138, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/index.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/routes/collections.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/routes/dossiers.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/routes/review.js" - }, - { - "bytes_size": 3567, - "extension": ".js", - "lines": 93, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/collaboration-registry.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/review/review-collaboration-item.js" - }, - { - "bytes_size": 65, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/dossiers/get-shared-dossier.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-collaboration/src/core/collections/list-shared-collections.js" - }, - { - "bytes_size": 562, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/index.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/packages/validate-package-placement.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/imports/validate-import-boundaries.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/contracts/validate-contract-ownership.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/channels/validate-channel-adapter-scope.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/apps/validate-app-responsibility.js" - }, - { - "bytes_size": 2709, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/support/workspace-governance.js" - }, - { - "bytes_size": 490, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/violations/build-architecture-violations-report.js" - }, - { - "bytes_size": 672, - "extension": ".js", - "lines": 18, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/drift/build-architecture-drift-report.js" - }, - { - "bytes_size": 1100, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/architecture/build-architecture-report.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/runtime/check-runtime-coupling-policy.js" - }, - { - "bytes_size": 522, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/placement/check-placement-policy.js" - }, - { - "bytes_size": 432, - "extension": ".js", - "lines": 13, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/naming/check-naming-policy.js" - }, - { - "bytes_size": 313, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/dependencies/check-dependency-policy.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/boundaries/check-boundary-policy.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/admission/check-new-module-admission.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/check-new-module-admission.js" - }, - { - "bytes_size": 526, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/run-architecture-validation.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/ownership/ownership-catalog.js" - }, - { - "bytes_size": 433, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/domains/domain-catalog.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/channels/channel-catalog.js" - }, - { - "bytes_size": 164, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/index.js" - }, - { - "bytes_size": 945, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/document.js" - }, - { - "bytes_size": 359, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/paths.js" - }, - { - "bytes_size": 5399, - "extension": ".js", - "lines": 155, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/core/operations.js" - }, - { - "bytes_size": 12613, - "extension": ".js", - "lines": 315, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/core/runtime.js" - }, - { - "bytes_size": 1015, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/apps/tudo-para-ia-integracoes-admin-governance/src/app/router.js" - }, - { - "bytes_size": 10218, - "extension": ".js", - "lines": 199, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/tests/dajuds.mcp.test.js" - }, - { - "bytes_size": 9159, - "extension": ".js", - "lines": 157, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/types.js" - }, - { - "bytes_size": 1233, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/cache.js" - }, - { - "bytes_size": 311, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/describe-tool.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/errors.js" - }, - { - "bytes_size": 4872, - "extension": ".js", - "lines": 90, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/execute-tool.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/list-tools.js" - }, - { - "bytes_size": 4393, - "extension": ".js", - "lines": 113, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/normalize.js" - }, - { - "bytes_size": 1910, - "extension": ".js", - "lines": 53, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/origins.js" - }, - { - "bytes_size": 19019, - "extension": ".js", - "lines": 458, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/runtime/process.js" - }, - { - "bytes_size": 1999, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/provider/capabilities.js" - }, - { - "bytes_size": 1618, - "extension": ".js", - "lines": 32, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/provider/manifest.js" - }, - { - "bytes_size": 1885, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/product/dajuds.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/observability/audit.js" - }, - { - "bytes_size": 1039, - "extension": ".js", - "lines": 29, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/observability/redaction.js" - }, - { - "bytes_size": 872, - "extension": ".js", - "lines": 30, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/observability/trace.js" - }, - { - "bytes_size": 15716, - "extension": ".js", - "lines": 417, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/mcp/tools.js" - }, - { - "bytes_size": 3360, - "extension": ".js", - "lines": 85, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/monitoring.js" - }, - { - "bytes_size": 6775, - "extension": ".js", - "lines": 152, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/process-enrichment.js" - }, - { - "bytes_size": 7579, - "extension": ".js", - "lines": 198, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/public-link-resolver.js" - }, - { - "bytes_size": 8560, - "extension": ".js", - "lines": 231, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/enrichment/sources.js" - }, - { - "bytes_size": 101177, - "extension": ".js", - "lines": 2464, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/data/tribunal-catalog.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/catalog/groups.js" - }, - { - "bytes_size": 391, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/catalog/tools-index.js" - }, - { - "bytes_size": 486, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/auth/profile.js" - }, - { - "bytes_size": 735, - "extension": ".js", - "lines": 24, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/app/http.js" - }, - { - "bytes_size": 2675, - "extension": ".js", - "lines": 54, - "path": ".compiled/round10/apps/tudo-para-ia-dajuds/src/adapters/openapi.js" - }, - { - "bytes_size": 2354, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/n8n-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 476, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/n8n-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/n8n-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/n8n-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/n8n-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/n8n-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/n8n-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/n8n-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2372, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 485, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 184, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mercado-pago-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2356, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/mem0-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 477, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/mem0-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mem0-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 176, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/mem0-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/mem0-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mem0-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/mem0-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 246, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/mem0-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/gitlab-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/gitlab-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitlab-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitlab-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 269, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/gitlab-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitlab-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitlab-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitlab-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2358, - "extension": ".js", - "lines": 47, - "path": ".compiled/round10/apps/gitea-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 478, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/gitea-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 143, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 429, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/gitea-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 255, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/gitea-para-ia/src/communication/error-normalization.js" - }, - { - "bytes_size": 124, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/gitea-para-ia/src/communication/request-normalization.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/gitea-para-ia/src/communication/response-normalization.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/gitea-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/bridge/callbacks.js" - }, - { - "bytes_size": 316, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/gitea-para-ia/src/bridge/oauth-flow.js" - }, - { - "bytes_size": 190, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/bridge/session-storage.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/oauth.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/session-model.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/gitea-para-ia/src/auth/token.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/gitea-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2773, - "extension": ".js", - "lines": 55, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 483, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 283, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/health.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 1534, - "extension": ".js", - "lines": 35, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/runtime/provider-state.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 443, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 2107, - "extension": ".js", - "lines": 57, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/profile/describe.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 12, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 280, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/auth/guards.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/auth/required-env.js" - }, - { - "bytes_size": 378, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/adapters/action.js" - }, - { - "bytes_size": 2025, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/apps/cloudflare-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 71, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/index.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 42, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/apps/app-padrao-de-integracao/index.js" - }, - { - "bytes_size": 544, - "extension": ".js", - "lines": 11, - "path": ".compiled/round10/apps/app-padrao-de-integracao/tests/unit/auth.test.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/apps/app-padrao-de-integracao/tests/unit/session.test.js" - }, - { - "bytes_size": 353, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/tests/contract/openapi.contract.test.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/index.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/create-session.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/get-session.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/refresh-session.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/session/revoke-session.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/cors.js" - }, - { - "bytes_size": 105, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/rate-limit.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/redact-logs.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/security/route-guard.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/describe-tool.js" - }, - { - "bytes_size": 447, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/execute-tool.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/health.js" - }, - { - "bytes_size": 166, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/list-resources.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/runtime/list-tools.js" - }, - { - "bytes_size": 112, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 274, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/openapi/document.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/openapi/paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/openapi/schemas.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/observability/errors.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/observability/logger.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/observability/trace.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-capability-summary.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-handoff-link.js" - }, - { - "bytes_size": 155, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-limits-view.js" - }, - { - "bytes_size": 114, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-resource-summary.js" - }, - { - "bytes_size": 107, - "extension": ".js", - "lines": 3, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/helpers/build-tool-summary.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/service.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/build-channel-context.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/build-provider-context.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/build-runtime-context.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/core/runtime/check-readiness.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/examples.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/groups.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/layers.js" - }, - { - "bytes_size": 227, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/resources-index.js" - }, - { - "bytes_size": 267, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/catalog/tools-index.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/boot/validate-bindings.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/boot/validate-env.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-capability.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-permission.js" - }, - { - "bytes_size": 115, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-resource-access.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/authorization/check-role.js" - }, - { - "bytes_size": 307, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/auth/build-auth-context.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/auth/guards.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 4, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/auth/profile.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/env.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/response.js" - }, - { - "bytes_size": 2408, - "extension": ".js", - "lines": 52, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/router.js" - }, - { - "bytes_size": 215, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/capabilities.js" - }, - { - "bytes_size": 170, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/health.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/openapi.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/tool-call.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/tool-describe.js" - }, - { - "bytes_size": 187, - "extension": ".js", - "lines": 5, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/app/routes/tool-list.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/action.js" - }, - { - "bytes_size": 305, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/central.js" - }, - { - "bytes_size": 239, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/openapi.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/public.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/round10/apps/app-padrao-de-integracao/src/adapters/pwa.js" - }, - { - "bytes_size": 6648, - "extension": ".js", - "lines": 116, - "path": ".compiled/round10/app/whatsapp-qr-session/tests/whatsapp-qr-session.test.js" - }, - { - "bytes_size": 1807, - "extension": ".js", - "lines": 33, - "path": ".compiled/round10/app/whatsapp-qr-session/src/index.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/app/whatsapp-qr-session/src/storage/session-store.js" - }, - { - "bytes_size": 5367, - "extension": ".js", - "lines": 120, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/diagnostic-service.js" - }, - { - "bytes_size": 686, - "extension": ".js", - "lines": 20, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/ids.js" - }, - { - "bytes_size": 3837, - "extension": ".js", - "lines": 105, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/qr-service.js" - }, - { - "bytes_size": 4465, - "extension": ".js", - "lines": 108, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/session-service.js" - }, - { - "bytes_size": 1662, - "extension": ".js", - "lines": 44, - "path": ".compiled/round10/app/whatsapp-qr-session/src/services/status-service.js" - }, - { - "bytes_size": 1304, - "extension": ".js", - "lines": 36, - "path": ".compiled/round10/app/whatsapp-qr-session/src/security/redaction.js" - }, - { - "bytes_size": 7437, - "extension": ".js", - "lines": 165, - "path": ".compiled/round10/app/whatsapp-qr-session/src/runtime/tool-executor.js" - }, - { - "bytes_size": 3988, - "extension": ".js", - "lines": 43, - "path": ".compiled/round10/app/whatsapp-qr-session/src/mcp/contract.js" - }, - { - "bytes_size": 680, - "extension": ".js", - "lines": 10, - "path": ".compiled/round10/app/whatsapp-qr-session/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/app/whatsapp-qr-session/src/domain/types.js" - }, - { - "bytes_size": 763, - "extension": ".js", - "lines": 14, - "path": ".compiled/round10/app/whatsapp-qr-session/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 17831, - "extension": ".js", - "lines": 340, - "path": ".compiled/round10/app/whatsapp-para-ia/tests/whatsapp-para-ia.test.js" - }, - { - "bytes_size": 3386, - "extension": ".js", - "lines": 46, - "path": ".compiled/round10/app/whatsapp-para-ia/src/index.js" - }, - { - "bytes_size": 743, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/app/whatsapp-para-ia/src/webhooks/validation.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/round10/app/whatsapp-para-ia/src/storage/session-store.js" - }, - { - "bytes_size": 1583, - "extension": ".js", - "lines": 33, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/commercial-service.js" - }, - { - "bytes_size": 7421, - "extension": ".js", - "lines": 155, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/diagnostic-service.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 61, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/event-service.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 26, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/ids.js" - }, - { - "bytes_size": 4099, - "extension": ".js", - "lines": 102, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/message-service.js" - }, - { - "bytes_size": 3754, - "extension": ".js", - "lines": 103, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/qr-service.js" - }, - { - "bytes_size": 4160, - "extension": ".js", - "lines": 108, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/session-service.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 42, - "path": ".compiled/round10/app/whatsapp-para-ia/src/services/status-service.js" - }, - { - "bytes_size": 1330, - "extension": ".js", - "lines": 45, - "path": ".compiled/round10/app/whatsapp-para-ia/src/security/redaction.js" - }, - { - "bytes_size": 10500, - "extension": ".js", - "lines": 218, - "path": ".compiled/round10/app/whatsapp-para-ia/src/runtime/tool-executor.js" - }, - { - "bytes_size": 5774, - "extension": ".js", - "lines": 51, - "path": ".compiled/round10/app/whatsapp-para-ia/src/mcp/contract.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 9, - "path": ".compiled/round10/app/whatsapp-para-ia/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/round10/app/whatsapp-para-ia/src/domain/types.js" - }, - { - "bytes_size": 8689, - "extension": ".js", - "lines": 215, - "path": ".compiled/round10/app/whatsapp-para-ia/src/diagnostics/commercial-readiness.js" - }, - { - "bytes_size": 25932, - "extension": ".js", - "lines": 571, - "path": ".compiled/round10/app/whatsapp-para-ia/src/diagnostics/operational-readiness.js" - }, - { - "bytes_size": 755, - "extension": ".js", - "lines": 8, - "path": ".compiled/round10/app/whatsapp-para-ia/src/diagnostics/readiness-matrix.js" - }, - { - "bytes_size": 786, - "extension": ".js", - "lines": 22, - "path": ".compiled/round10/app/whatsapp-para-ia/src/config/product-config.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 19, - "path": ".compiled/round10/app/whatsapp-para-ia/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 10721, - "extension": ".js", - "lines": 297, - "path": ".compiled/packages/shared-integration-workspace-memory/src/build-thematic-memory.js" - }, - { - "bytes_size": 2481, - "extension": ".js", - "lines": 52, - "path": ".compiled/packages/shared-integration-workspace-memory/src/build-workspace-memory.js" - }, - { - "bytes_size": 466, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-workspace-memory/src/defaults.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-workspace-memory/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-workspace-memory/src/types.js" - }, - { - "bytes_size": 90, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-utils/src/compose.js" - }, - { - "bytes_size": 15764, - "extension": ".js", - "lines": 360, - "path": ".compiled/packages/shared-integration-utils/src/finance-event-producers.js" - }, - { - "bytes_size": 413, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-utils/src/format.js" - }, - { - "bytes_size": 7654, - "extension": ".js", - "lines": 160, - "path": ".compiled/packages/shared-integration-utils/src/identity-mcp-flow.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-utils/src/index.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-utils/src/normalize.js" - }, - { - "bytes_size": 168, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-utils/src/parse.js" - }, - { - "bytes_size": 123, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-utils/src/redact.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/channel-contract.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/envelope.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/resource.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-types/src/tool.js" - }, - { - "bytes_size": 1868, - "extension": ".js", - "lines": 32, - "path": ".compiled/packages/shared-integration-trace-audit/tests/trace-audit-baseline.test.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-trace-audit/src/audit.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 2, - "path": ".compiled/packages/shared-integration-trace-audit/src/correlation.js" - }, - { - "bytes_size": 688, - "extension": ".js", - "lines": 16, - "path": ".compiled/packages/shared-integration-trace-audit/src/index.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-trace-audit/src/redaction.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace/append-trace-step.js" - }, - { - "bytes_size": 555, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace/create-trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-trace-audit/src/trace/finalize-trace.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-channel-metric.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-error-metric.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-latency-metric.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-trace-audit/src/metrics/create-usage-metric.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-trace-audit/src/correlation/build-correlation-id.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-trace-audit/src/correlation/build-request-id.js" - }, - { - "bytes_size": 389, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-trace-audit/src/audit/create-audit-event.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-trace-audit/src/audit/redact-audit-payload.js" - }, - { - "bytes_size": 1543, - "extension": ".js", - "lines": 44, - "path": ".compiled/packages/shared-integration-session/src/context.js" - }, - { - "bytes_size": 1449, - "extension": ".js", - "lines": 47, - "path": ".compiled/packages/shared-integration-session/src/handoff.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-session/src/index.js" - }, - { - "bytes_size": 2095, - "extension": ".js", - "lines": 57, - "path": ".compiled/packages/shared-integration-session/src/resume.js" - }, - { - "bytes_size": 103, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-session/src/revocation.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 26, - "path": ".compiled/packages/shared-integration-session/src/session-state.js" - }, - { - "bytes_size": 4257, - "extension": ".js", - "lines": 135, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/in-memory-store.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/index.js" - }, - { - "bytes_size": 751, - "extension": ".js", - "lines": 20, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/keys.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-semantic-persistence/src/types.js" - }, - { - "bytes_size": 2150, - "extension": ".js", - "lines": 58, - "path": ".compiled/packages/shared-integration-reliability/src/build-confidence-view.js" - }, - { - "bytes_size": 2669, - "extension": ".js", - "lines": 78, - "path": ".compiled/packages/shared-integration-reliability/src/build-integrity-status.js" - }, - { - "bytes_size": 1887, - "extension": ".js", - "lines": 55, - "path": ".compiled/packages/shared-integration-reliability/src/build-lineage-trace.js" - }, - { - "bytes_size": 1256, - "extension": ".js", - "lines": 23, - "path": ".compiled/packages/shared-integration-reliability/src/build-operational-summary.js" - }, - { - "bytes_size": 2284, - "extension": ".js", - "lines": 54, - "path": ".compiled/packages/shared-integration-reliability/src/build-readiness-report.js" - }, - { - "bytes_size": 273, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-reliability/src/index.js" - }, - { - "bytes_size": 1923, - "extension": ".js", - "lines": 55, - "path": ".compiled/packages/shared-integration-reliability/src/list-operational-incidents.js" - }, - { - "bytes_size": 4591, - "extension": ".js", - "lines": 122, - "path": ".compiled/packages/shared-integration-reliability/src/shared.js" - }, - { - "bytes_size": 2282, - "extension": ".js", - "lines": 54, - "path": ".compiled/packages/shared-integration-operations/src/batch-health.js" - }, - { - "bytes_size": 104, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-operations/src/index.js" - }, - { - "bytes_size": 1309, - "extension": ".js", - "lines": 36, - "path": ".compiled/packages/shared-integration-operations/src/quarantine.js" - }, - { - "bytes_size": 1996, - "extension": ".js", - "lines": 56, - "path": ".compiled/packages/shared-integration-operations/src/source-status.js" - }, - { - "bytes_size": 1002, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-openapi/tests/openapi-baseline.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-openapi/src/build-openapi.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-openapi/src/build-paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-openapi/src/build-schemas.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-openapi/src/build-tool-operation.js" - }, - { - "bytes_size": 985, - "extension": ".js", - "lines": 22, - "path": ".compiled/packages/shared-integration-openapi/src/index.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-openapi/src/openapi-document.js" - }, - { - "bytes_size": 79, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-openapi/src/openapi-paths.js" - }, - { - "bytes_size": 58, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-openapi/src/openapi-schemas.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-openapi/src/surface-minima.js" - }, - { - "bytes_size": 194, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/entitlement-schema.js" - }, - { - "bytes_size": 240, - "extension": ".js", - "lines": 11, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/group-schema.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/layer-schema.js" - }, - { - "bytes_size": 341, - "extension": ".js", - "lines": 11, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/resource-schema.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/session-schema.js" - }, - { - "bytes_size": 290, - "extension": ".js", - "lines": 10, - "path": ".compiled/packages/shared-integration-openapi/src/schemas/tool-schema.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/catalog-groups-path.js" - }, - { - "bytes_size": 282, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/catalog-layers-path.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/catalog-tools-path.js" - }, - { - "bytes_size": 277, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-openapi/src/paths/health-path.js" - }, - { - "bytes_size": 745, - "extension": ".js", - "lines": 28, - "path": ".compiled/packages/shared-integration-openapi/src/paths/tool-call-path.js" - }, - { - "bytes_size": 502, - "extension": ".js", - "lines": 20, - "path": ".compiled/packages/shared-integration-openapi/src/paths/tool-describe-path.js" - }, - { - "bytes_size": 818, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-document.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-info.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-paths.js" - }, - { - "bytes_size": 2771, - "extension": ".js", - "lines": 78, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-schemas.js" - }, - { - "bytes_size": 213, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-openapi/src/builders/build-openapi-servers.js" - }, - { - "bytes_size": 209, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-openapi/src/adapters/build-action-openapi.js" - }, - { - "bytes_size": 199, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-openapi/src/adapters/build-mcp-openapi.js" - }, - { - "bytes_size": 473, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-kernel/src/bootstrap.js" - }, - { - "bytes_size": 503, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-kernel/src/guards.js" - }, - { - "bytes_size": 363, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-kernel/src/index.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-kernel/src/manifest.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-kernel/src/orchestrate.js" - }, - { - "bytes_size": 364, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-kernel/src/request-context.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-kernel/src/managers/managed-provider-manager.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-kernel/src/managers/plugin-registry.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-kernel/src/managers/provider-manager.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-kernel/src/managers/taxonomy-manager.js" - }, - { - "bytes_size": 2683, - "extension": ".js", - "lines": 83, - "path": ".compiled/packages/shared-integration-entitlements/src/capability-access.js" - }, - { - "bytes_size": 133, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-entitlements/src/channel-access.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-entitlements/src/eligibility.js" - }, - { - "bytes_size": 167, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-entitlements/src/index.js" - }, - { - "bytes_size": 396, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-entitlements/src/limits.js" - }, - { - "bytes_size": 68, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-entitlements/src/plan.js" - }, - { - "bytes_size": 1626, - "extension": ".js", - "lines": 35, - "path": ".compiled/packages/shared-integration-dispatch/tests/dispatch-baseline.test.js" - }, - { - "bytes_size": 641, - "extension": ".js", - "lines": 16, - "path": ".compiled/packages/shared-integration-dispatch/src/build-dispatch-context.js" - }, - { - "bytes_size": 2463, - "extension": ".js", - "lines": 55, - "path": ".compiled/packages/shared-integration-dispatch/src/build-dispatch-plan.js" - }, - { - "bytes_size": 538, - "extension": ".js", - "lines": 15, - "path": ".compiled/packages/shared-integration-dispatch/src/build-dispatch-response.js" - }, - { - "bytes_size": 1092, - "extension": ".js", - "lines": 28, - "path": ".compiled/packages/shared-integration-dispatch/src/build-event-catalog.js" - }, - { - "bytes_size": 607, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-catalog-call.js" - }, - { - "bytes_size": 560, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-protected.js" - }, - { - "bytes_size": 659, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-resource-call.js" - }, - { - "bytes_size": 1142, - "extension": ".js", - "lines": 17, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch-tool-call.js" - }, - { - "bytes_size": 257, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-dispatch/src/dispatch.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-dispatch/src/error-map.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-dispatch/src/execution-manager.js" - }, - { - "bytes_size": 781, - "extension": ".js", - "lines": 19, - "path": ".compiled/packages/shared-integration-dispatch/src/index.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-provider.js" - }, - { - "bytes_size": 436, - "extension": ".js", - "lines": 10, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-target-app.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-target-integration.js" - }, - { - "bytes_size": 234, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-dispatch/src/resolve-tool.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-dispatch/src/result-normalizer.js" - }, - { - "bytes_size": 884, - "extension": ".js", - "lines": 17, - "path": ".compiled/packages/shared-integration-dispatch/src/run-call.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-dispatch/src/errors/dispatch-error.js" - }, - { - "bytes_size": 279, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-dispatch/src/errors/target-resolution-error.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-content-utils/src/chunks.js" - }, - { - "bytes_size": 1273, - "extension": ".js", - "lines": 29, - "path": ".compiled/packages/shared-integration-content-utils/src/compare.js" - }, - { - "bytes_size": 1816, - "extension": ".js", - "lines": 46, - "path": ".compiled/packages/shared-integration-content-utils/src/excerpts.js" - }, - { - "bytes_size": 900, - "extension": ".js", - "lines": 25, - "path": ".compiled/packages/shared-integration-content-utils/src/highlights.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-content-utils/src/index.js" - }, - { - "bytes_size": 1640, - "extension": ".js", - "lines": 52, - "path": ".compiled/packages/shared-integration-content-utils/src/sections.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-content-types/src/document-reading.js" - }, - { - "bytes_size": 39, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-content-types/src/index.js" - }, - { - "bytes_size": 1775, - "extension": ".js", - "lines": 26, - "path": ".compiled/packages/shared-integration-channel-contracts/src/central-contract.js" - }, - { - "bytes_size": 1765, - "extension": ".js", - "lines": 27, - "path": ".compiled/packages/shared-integration-channel-contracts/src/gpt-contract.js" - }, - { - "bytes_size": 3052, - "extension": ".js", - "lines": 59, - "path": ".compiled/packages/shared-integration-channel-contracts/src/index.js" - }, - { - "bytes_size": 1574, - "extension": ".js", - "lines": 25, - "path": ".compiled/packages/shared-integration-channel-contracts/src/public-contract.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 25, - "path": ".compiled/packages/shared-integration-channel-contracts/src/pwa-contract.js" - }, - { - "bytes_size": 132, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-catalog/src/capability-types.js" - }, - { - "bytes_size": 19240, - "extension": ".js", - "lines": 471, - "path": ".compiled/packages/shared-integration-catalog/src/commercial-readiness-policy.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-catalog/src/communication-modes.js" - }, - { - "bytes_size": 48979, - "extension": ".js", - "lines": 987, - "path": ".compiled/packages/shared-integration-catalog/src/discovery.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-catalog/src/groups.js" - }, - { - "bytes_size": 549, - "extension": ".js", - "lines": 15, - "path": ".compiled/packages/shared-integration-catalog/src/index.js" - }, - { - "bytes_size": 349, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-catalog/src/layers.js" - }, - { - "bytes_size": 12276, - "extension": ".js", - "lines": 307, - "path": ".compiled/packages/shared-integration-catalog/src/maturity-snapshot.js" - }, - { - "bytes_size": 4767, - "extension": ".js", - "lines": 133, - "path": ".compiled/packages/shared-integration-catalog/src/maturity.js" - }, - { - "bytes_size": 15881, - "extension": ".js", - "lines": 405, - "path": ".compiled/packages/shared-integration-catalog/src/provider-live-roadmap.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-catalog/src/publication-status.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-catalog/src/resources-index.js" - }, - { - "bytes_size": 206, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-catalog/src/resources.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-catalog/src/tools-index.js" - }, - { - "bytes_size": 692, - "extension": ".js", - "lines": 20, - "path": ".compiled/packages/shared-integration-catalog/src/tools.js" - }, - { - "bytes_size": 117, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-catalog/src/versioning-status.js" - }, - { - "bytes_size": 110, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-auth/src/auth-guards.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-auth/src/auth-policy.js" - }, - { - "bytes_size": 1009, - "extension": ".js", - "lines": 32, - "path": ".compiled/packages/shared-integration-auth/src/auth-profile.js" - }, - { - "bytes_size": 22663, - "extension": ".js", - "lines": 571, - "path": ".compiled/packages/shared-integration-auth/src/byok-contract.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 54, - "path": ".compiled/packages/shared-integration-auth/src/byok-enrollment.js" - }, - { - "bytes_size": 668, - "extension": ".js", - "lines": 16, - "path": ".compiled/packages/shared-integration-auth/src/index.js" - }, - { - "bytes_size": 162, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-auth/src/providers/auth-loader.js" - }, - { - "bytes_size": 233, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-auth/src/providers/auth-registry.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-auth/src/providers/catalog.js" - }, - { - "bytes_size": 193, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-auth/src/providers/managed-catalog.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-auth/src/providers/messages.js" - }, - { - "bytes_size": 188, - "extension": ".js", - "lines": 4, - "path": ".compiled/packages/shared-integration-auth/src/providers/policies.js" - }, - { - "bytes_size": 335, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-auth/src/providers/runtime.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-auth/src/contracts/auth-worker-contract.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-auth/src/contracts/provider-auth-contract.js" - }, - { - "bytes_size": 494, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-architecture-utils/src/channel-resolver.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-architecture-utils/src/dependency-graph.js" - }, - { - "bytes_size": 589, - "extension": ".js", - "lines": 15, - "path": ".compiled/packages/shared-integration-architecture-utils/src/domain-resolver.js" - }, - { - "bytes_size": 81, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-architecture-utils/src/drift-format.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-architecture-utils/src/index.js" - }, - { - "bytes_size": 551, - "extension": ".js", - "lines": 12, - "path": ".compiled/packages/shared-integration-architecture-utils/src/module-classifier.js" - }, - { - "bytes_size": 106, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-architecture-utils/src/path-parser.js" - }, - { - "bytes_size": 87, - "extension": ".js", - "lines": 3, - "path": ".compiled/packages/shared-integration-architecture-utils/src/violation-format.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/admission-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/architecture-drift.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/architecture-violation.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/boundary-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/channel-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/dependency-rule.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/domain-catalog.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/domain-id.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/domain-owner.js" - }, - { - "bytes_size": 407, - "extension": ".js", - "lines": 11, - "path": ".compiled/packages/shared-integration-architecture-types/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/module-kind.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-types/src/placement-rule.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 8, - "path": ".compiled/packages/shared-integration-architecture-rules/src/admission-rules.js" - }, - { - "bytes_size": 84, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-architecture-rules/src/channel-rules.js" - }, - { - "bytes_size": 147, - "extension": ".js", - "lines": 9, - "path": ".compiled/packages/shared-integration-architecture-rules/src/domain-rules.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-architecture-rules/src/import-rules.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 7, - "path": ".compiled/packages/shared-integration-architecture-rules/src/index.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 6, - "path": ".compiled/packages/shared-integration-architecture-rules/src/naming-rules.js" - }, - { - "bytes_size": 119, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-architecture-rules/src/placement-rules.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 5, - "path": ".compiled/packages/shared-integration-architecture-rules/src/runtime-rules.js" - }, - { - "bytes_size": 12273, - "extension": ".js", - "lines": 242, - "path": ".compiled/packages/shared-integration-admin-ops/tests/admin-ops-baseline.test.js" - }, - { - "bytes_size": 34646, - "extension": ".js", - "lines": 786, - "path": ".compiled/packages/shared-integration-admin-ops/src/admin-contracts.js" - }, - { - "bytes_size": 12746, - "extension": ".js", - "lines": 309, - "path": ".compiled/packages/shared-integration-admin-ops/src/admin-observability.js" - }, - { - "bytes_size": 2188, - "extension": ".js", - "lines": 44, - "path": ".compiled/packages/shared-integration-admin-ops/src/approvals.js" - }, - { - "bytes_size": 59920, - "extension": ".js", - "lines": 1334, - "path": ".compiled/packages/shared-integration-admin-ops/src/backend.js" - }, - { - "bytes_size": 12494, - "extension": ".js", - "lines": 292, - "path": ".compiled/packages/shared-integration-admin-ops/src/byok-custody-governance.js" - }, - { - "bytes_size": 15872, - "extension": ".js", - "lines": 433, - "path": ".compiled/packages/shared-integration-admin-ops/src/compact-contract.js" - }, - { - "bytes_size": 824, - "extension": ".js", - "lines": 18, - "path": ".compiled/packages/shared-integration-admin-ops/src/doc-links.js" - }, - { - "bytes_size": 1021, - "extension": ".js", - "lines": 27, - "path": ".compiled/packages/shared-integration-admin-ops/src/domain-health.js" - }, - { - "bytes_size": 464, - "extension": ".js", - "lines": 13, - "path": ".compiled/packages/shared-integration-admin-ops/src/index.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/packages/shared-integration-admin-ops/src/operator-assist.js" - }, - { - "bytes_size": 1365, - "extension": ".js", - "lines": 27, - "path": ".compiled/packages/shared-integration-admin-ops/src/overview.js" - }, - { - "bytes_size": 8207, - "extension": ".js", - "lines": 160, - "path": ".compiled/packages/shared-integration-admin-ops/src/provider-operations.js" - }, - { - "bytes_size": 2340, - "extension": ".js", - "lines": 52, - "path": ".compiled/packages/shared-integration-admin-ops/src/support.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/packages/shared-integration-admin-ops/src/types.js" - }, - { - "bytes_size": 632, - "extension": ".json", - "lines": 25, - "path": ".compiled/no-tsx-round/tsconfig.round-continuity.no-tsx.json" - }, - { - "bytes_size": 368306, - "extension": ".json", - "lines": 10354, - "path": ".compiled/inventory/admin-contract-registry.generated.json" - }, - { - "bytes_size": 3440, - "extension": ".md", - "lines": 42, - "path": ".compiled/inventory/admin-contract-registry.md" - }, - { - "bytes_size": 57086, - "extension": ".json", - "lines": 1690, - "path": ".compiled/inventory/admin-quality-gates.generated.json" - }, - { - "bytes_size": 12547, - "extension": ".md", - "lines": 114, - "path": ".compiled/inventory/admin-quality-gates.md" - }, - { - "bytes_size": 2297, - "extension": ".json", - "lines": 90, - "path": ".compiled/inventory/byok-non-leakage-proof.generated.json" - }, - { - "bytes_size": 796, - "extension": ".md", - "lines": 18, - "path": ".compiled/inventory/byok-non-leakage-proof.md" - }, - { - "bytes_size": 29162, - "extension": ".json", - "lines": 718, - "path": ".compiled/inventory/commercial-readiness-policy.generated.json" - }, - { - "bytes_size": 1916, - "extension": ".md", - "lines": 23, - "path": ".compiled/inventory/commercial-readiness-policy.md" - }, - { - "bytes_size": 1040, - "extension": ".md", - "lines": 14, - "path": ".compiled/inventory/integration-maturity-matrix.md" - }, - { - "bytes_size": 86, - "extension": ".md", - "lines": 3, - "path": ".compiled/inventory/lacunas-finais.md" - }, - { - "bytes_size": 2338, - "extension": ".md", - "lines": 33, - "path": ".compiled/inventory/maturity-status.md" - }, - { - "bytes_size": 59843, - "extension": ".json", - "lines": 1701, - "path": ".compiled/inventory/provider-live-roadmap.generated.json" - }, - { - "bytes_size": 1896, - "extension": ".md", - "lines": 16, - "path": ".compiled/inventory/provider-live-roadmap.md" - }, - { - "bytes_size": 20337, - "extension": ".json", - "lines": 626, - "path": ".compiled/inventory/provider-maturity-snapshot.generated.json" - }, - { - "bytes_size": 1779, - "extension": ".md", - "lines": 14, - "path": ".compiled/inventory/provider-status-matrix.md" - }, - { - "bytes_size": 35437, - "extension": ".json", - "lines": 985, - "path": ".compiled/inventory/whatsapp-operational-readiness.generated.json" - }, - { - "bytes_size": 5280, - "extension": ".md", - "lines": 65, - "path": ".compiled/inventory/whatsapp-operational-readiness.md" - }, - { - "bytes_size": 1036, - "extension": ".md", - "lines": 11, - "path": ".compiled/inventory/homologacao/status-matrix.md" - }, - { - "bytes_size": 409, - "extension": ".md", - "lines": 14, - "path": ".compiled/docs/prova-final/fechamento-de-maturidade.md" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/vercel-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/vercel-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 142, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/vercel-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 431, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/vercel-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 288, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/vercel-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 243, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/vercel-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/bridge/config.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/bridge/oauth.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/vercel-para-ia/src/bridge/session-store.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/vercel-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/vercel-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 1229, - "extension": ".js", - "lines": 21, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/tests/runtime.test.js" - }, - { - "bytes_size": 887, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/index.js" - }, - { - "bytes_size": 276, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/routes/related.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/routes/topics.js" - }, - { - "bytes_size": 2945, - "extension": ".js", - "lines": 73, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/core/topics/build-topic-recommendations.js" - }, - { - "bytes_size": 4042, - "extension": ".js", - "lines": 127, - "path": ".compiled/apps/tudo-para-ia-integracoes-recommendation/src/core/related/build-related-recommendations.js" - }, - { - "bytes_size": 140, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/index.js" - }, - { - "bytes_size": 1536, - "extension": ".js", - "lines": 40, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/openapi/document.js" - }, - { - "bytes_size": 583, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/workspace/render-workspace.js" - }, - { - "bytes_size": 186, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/session/restore-session.js" - }, - { - "bytes_size": 753, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/reliability/render-reliability.js" - }, - { - "bytes_size": 318, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/presets/render-presets.js" - }, - { - "bytes_size": 637, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbook-content.js" - }, - { - "bytes_size": 489, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/playbooks/render-playbooks.js" - }, - { - "bytes_size": 1221, - "extension": ".js", - "lines": 28, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/onboarding/render-onboarding.js" - }, - { - "bytes_size": 402, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/offline/render-offline-policy.js" - }, - { - "bytes_size": 754, - "extension": ".js", - "lines": 17, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/mobile/render-mobile-entry.js" - }, - { - "bytes_size": 1848, - "extension": ".js", - "lines": 38, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/home/render-home.js" - }, - { - "bytes_size": 565, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/discovery/render-discovery.js" - }, - { - "bytes_size": 514, - "extension": ".js", - "lines": 14, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/composition/render-composition.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-catalog.js" - }, - { - "bytes_size": 1224, - "extension": ".js", - "lines": 30, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/catalog/render-provider-detail.js" - }, - { - "bytes_size": 896, - "extension": ".js", - "lines": 27, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/features/capabilities/render-capabilities.js" - }, - { - "bytes_size": 4373, - "extension": ".js", - "lines": 88, - "path": ".compiled/apps/tudo-para-ia-integracoes-pwa/src/app/router.js" - }, - { - "bytes_size": 1864, - "extension": ".js", - "lines": 40, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/tests/domain.test.js" - }, - { - "bytes_size": 1163, - "extension": ".js", - "lines": 29, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/index.js" - }, - { - "bytes_size": 195, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/routes/batches.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/routes/quarantine.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/routes/sources.js" - }, - { - "bytes_size": 156, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/core/sources/list-source-status.js" - }, - { - "bytes_size": 129, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/core/quarantine/quarantine-operation.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-operations/src/core/batches/list-batch-health.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/index.js" - }, - { - "bytes_size": 1805, - "extension": ".js", - "lines": 48, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/openapi/document.js" - }, - { - "bytes_size": 9585, - "extension": ".js", - "lines": 233, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/router.js" - }, - { - "bytes_size": 266, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-pwa/src/app/routes/openapi.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/index.js" - }, - { - "bytes_size": 783, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/pricing/render-pricing.js" - }, - { - "bytes_size": 1675, - "extension": ".js", - "lines": 31, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/integration/render-integration-page.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/home/render-home.js" - }, - { - "bytes_size": 324, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/catalog/render-public-catalog.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/pages/activation/render-activation-entry.js" - }, - { - "bytes_size": 1843, - "extension": ".js", - "lines": 36, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/app/router.js" - }, - { - "bytes_size": 287, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-public/src/app/routes/openapi.js" - }, - { - "bytes_size": 925, - "extension": ".js", - "lines": 16, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/tests/openapi.test.js" - }, - { - "bytes_size": 4519, - "extension": ".js", - "lines": 72, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/tests/router.test.js" - }, - { - "bytes_size": 154, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/index.js" - }, - { - "bytes_size": 2031, - "extension": ".js", - "lines": 53, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/cors.js" - }, - { - "bytes_size": 2101, - "extension": ".js", - "lines": 63, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/rate-limit.js" - }, - { - "bytes_size": 488, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/redact-logs.js" - }, - { - "bytes_size": 1776, - "extension": ".js", - "lines": 46, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/security/route-guard.js" - }, - { - "bytes_size": 1831, - "extension": ".js", - "lines": 40, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/provider/state.js" - }, - { - "bytes_size": 2580, - "extension": ".js", - "lines": 71, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/profile/describe.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 39, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/document.js" - }, - { - "bytes_size": 8283, - "extension": ".js", - "lines": 238, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/paths.js" - }, - { - "bytes_size": 3900, - "extension": ".js", - "lines": 115, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/openapi/schemas.js" - }, - { - "bytes_size": 1725, - "extension": ".js", - "lines": 46, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/observability/trace.js" - }, - { - "bytes_size": 700, - "extension": ".js", - "lines": 14, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/handoff/build-platform-link.js" - }, - { - "bytes_size": 541, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/discovery/list-groups.js" - }, - { - "bytes_size": 395, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/descriptions/describe-tool.js" - }, - { - "bytes_size": 435, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/catalog/list-layers.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-bindings.js" - }, - { - "bytes_size": 498, - "extension": ".js", - "lines": 17, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/boot/validate-env.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/env.js" - }, - { - "bytes_size": 775, - "extension": ".js", - "lines": 26, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/response.js" - }, - { - "bytes_size": 4838, - "extension": ".js", - "lines": 95, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/router.js" - }, - { - "bytes_size": 1154, - "extension": ".js", - "lines": 25, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/admin.js" - }, - { - "bytes_size": 1870, - "extension": ".js", - "lines": 39, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/capabilities.js" - }, - { - "bytes_size": 979, - "extension": ".js", - "lines": 22, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/execute.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/groups.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/handoff.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/health.js" - }, - { - "bytes_size": 171, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/layers.js" - }, - { - "bytes_size": 270, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/limits.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/openapi.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/profile.js" - }, - { - "bytes_size": 761, - "extension": ".js", - "lines": 16, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/provider-state.js" - }, - { - "bytes_size": 720, - "extension": ".js", - "lines": 15, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tool.js" - }, - { - "bytes_size": 201, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-gpt/src/app/routes/tools.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/index.js" - }, - { - "bytes_size": 1420, - "extension": ".js", - "lines": 35, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/security/route-guard.js" - }, - { - "bytes_size": 2588, - "extension": ".js", - "lines": 67, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/profile/describe.js" - }, - { - "bytes_size": 4612, - "extension": ".js", - "lines": 95, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/openapi/document.js" - }, - { - "bytes_size": 200, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/client.js" - }, - { - "bytes_size": 210, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/errors.js" - }, - { - "bytes_size": 78, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/protocol.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/mcp/sse.js" - }, - { - "bytes_size": 337, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/federation/list-apps.js" - }, - { - "bytes_size": 648, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/dispatch/forward-call.js" - }, - { - "bytes_size": 346, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/catalog/build-combined-catalog.js" - }, - { - "bytes_size": 153, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/env.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/response.js" - }, - { - "bytes_size": 7367, - "extension": ".js", - "lines": 143, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/router.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/app/routes/openapi.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-central/src/aggregation/merge-capabilities.js" - }, - { - "bytes_size": 6851, - "extension": ".js", - "lines": 93, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/tests/smoke.test.js" - }, - { - "bytes_size": 158, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/index.js" - }, - { - "bytes_size": 2149, - "extension": ".js", - "lines": 56, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/profile/describe.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-admin-overview.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/build-operator-assist.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-approval-requests.js" - }, - { - "bytes_size": 226, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-doc-links.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-domain-health.js" - }, - { - "bytes_size": 360, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-provider-operations.js" - }, - { - "bytes_size": 222, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/operations/list-support-tickets.js" - }, - { - "bytes_size": 7701, - "extension": ".js", - "lines": 143, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/openapi/document.js" - }, - { - "bytes_size": 5189, - "extension": ".js", - "lines": 104, - "path": ".compiled/apps/tudo-para-ia-integracoes-gateway-admin/src/app/router.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/index.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/session/current-session.js" - }, - { - "bytes_size": 331, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/openapi/document.js" - }, - { - "bytes_size": 310, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/entitlements/check-entitlement.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/dispatch/route-tool-call.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/core/bootstrap.js" - }, - { - "bytes_size": 340, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/core/errors.js" - }, - { - "bytes_size": 469, - "extension": ".js", - "lines": 16, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/core/http-surface.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/channels/channel-contract.js" - }, - { - "bytes_size": 3159, - "extension": ".js", - "lines": 58, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/catalog/build-catalog-response.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/config.js" - }, - { - "bytes_size": 93, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/index.js" - }, - { - "bytes_size": 491, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/oauth.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/bridges/oauth/vercel/session-store.js" - }, - { - "bytes_size": 272, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/auth/resolve-user.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/env.js" - }, - { - "bytes_size": 229, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/response.js" - }, - { - "bytes_size": 11020, - "extension": ".js", - "lines": 175, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/router.js" - }, - { - "bytes_size": 375, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-core-api/src/app/routes/health.js" - }, - { - "bytes_size": 4491, - "extension": ".js", - "lines": 73, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/index.js" - }, - { - "bytes_size": 527, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/policies/assert-document-input.js" - }, - { - "bytes_size": 1169, - "extension": ".js", - "lines": 19, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/compare-documents.js" - }, - { - "bytes_size": 10713, - "extension": ".js", - "lines": 226, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/content-catalog.js" - }, - { - "bytes_size": 470, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-chunks.js" - }, - { - "bytes_size": 508, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-excerpts.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-document-navigation.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-reading-resume-point.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/get-relevant-highlights.js" - }, - { - "bytes_size": 54, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/list-documents.js" - }, - { - "bytes_size": 1310, - "extension": ".js", - "lines": 28, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/open-document.js" - }, - { - "bytes_size": 456, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/resume-store.js" - }, - { - "bytes_size": 848, - "extension": ".js", - "lines": 18, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/save-reading-resume-point.js" - }, - { - "bytes_size": 268, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-content-delivery/src/content/support.js" - }, - { - "bytes_size": 1832, - "extension": ".js", - "lines": 37, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/tests/unit/collaboration-worker.test.js" - }, - { - "bytes_size": 1138, - "extension": ".js", - "lines": 24, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/index.js" - }, - { - "bytes_size": 204, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/routes/collections.js" - }, - { - "bytes_size": 275, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/routes/dossiers.js" - }, - { - "bytes_size": 216, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/routes/review.js" - }, - { - "bytes_size": 3567, - "extension": ".js", - "lines": 93, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/collaboration-registry.js" - }, - { - "bytes_size": 72, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/review/review-collaboration-item.js" - }, - { - "bytes_size": 65, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/dossiers/get-shared-dossier.js" - }, - { - "bytes_size": 70, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-collaboration/src/core/collections/list-shared-collections.js" - }, - { - "bytes_size": 562, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/index.js" - }, - { - "bytes_size": 134, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/packages/validate-package-placement.js" - }, - { - "bytes_size": 312, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/imports/validate-import-boundaries.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/contracts/validate-contract-ownership.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/channels/validate-channel-adapter-scope.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/validators/apps/validate-app-responsibility.js" - }, - { - "bytes_size": 2709, - "extension": ".js", - "lines": 54, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/support/workspace-governance.js" - }, - { - "bytes_size": 490, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/violations/build-architecture-violations-report.js" - }, - { - "bytes_size": 672, - "extension": ".js", - "lines": 18, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/drift/build-architecture-drift-report.js" - }, - { - "bytes_size": 1100, - "extension": ".js", - "lines": 26, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/reports/architecture/build-architecture-report.js" - }, - { - "bytes_size": 230, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/runtime/check-runtime-coupling-policy.js" - }, - { - "bytes_size": 522, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/placement/check-placement-policy.js" - }, - { - "bytes_size": 432, - "extension": ".js", - "lines": 13, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/naming/check-naming-policy.js" - }, - { - "bytes_size": 313, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/dependencies/check-dependency-policy.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/boundaries/check-boundary-policy.js" - }, - { - "bytes_size": 224, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/policies/admission/check-new-module-admission.js" - }, - { - "bytes_size": 211, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/check-new-module-admission.js" - }, - { - "bytes_size": 526, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/commands/run-architecture-validation.js" - }, - { - "bytes_size": 882, - "extension": ".js", - "lines": 17, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/ownership/ownership-catalog.js" - }, - { - "bytes_size": 433, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/domains/domain-catalog.js" - }, - { - "bytes_size": 86, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-integracoes-architecture-governance/src/catalog/channels/channel-catalog.js" - }, - { - "bytes_size": 164, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/index.js" - }, - { - "bytes_size": 945, - "extension": ".js", - "lines": 26, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/document.js" - }, - { - "bytes_size": 359, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/openapi/paths.js" - }, - { - "bytes_size": 5399, - "extension": ".js", - "lines": 155, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/core/operations.js" - }, - { - "bytes_size": 12613, - "extension": ".js", - "lines": 315, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/core/runtime.js" - }, - { - "bytes_size": 1015, - "extension": ".js", - "lines": 20, - "path": ".compiled/apps/tudo-para-ia-integracoes-admin-governance/src/app/router.js" - }, - { - "bytes_size": 10218, - "extension": ".js", - "lines": 199, - "path": ".compiled/apps/tudo-para-ia-dajuds/tests/dajuds.mcp.test.js" - }, - { - "bytes_size": 9159, - "extension": ".js", - "lines": 157, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/index.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/types.js" - }, - { - "bytes_size": 1233, - "extension": ".js", - "lines": 36, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/cache.js" - }, - { - "bytes_size": 311, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/describe-tool.js" - }, - { - "bytes_size": 930, - "extension": ".js", - "lines": 37, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/errors.js" - }, - { - "bytes_size": 4872, - "extension": ".js", - "lines": 90, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/execute-tool.js" - }, - { - "bytes_size": 128, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/list-tools.js" - }, - { - "bytes_size": 4393, - "extension": ".js", - "lines": 113, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/normalize.js" - }, - { - "bytes_size": 1910, - "extension": ".js", - "lines": 53, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/origins.js" - }, - { - "bytes_size": 19019, - "extension": ".js", - "lines": 458, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/runtime/process.js" - }, - { - "bytes_size": 1999, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/provider/capabilities.js" - }, - { - "bytes_size": 1618, - "extension": ".js", - "lines": 32, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/provider/manifest.js" - }, - { - "bytes_size": 1885, - "extension": ".js", - "lines": 52, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/product/dajuds.js" - }, - { - "bytes_size": 212, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/observability/audit.js" - }, - { - "bytes_size": 1039, - "extension": ".js", - "lines": 29, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/observability/redaction.js" - }, - { - "bytes_size": 872, - "extension": ".js", - "lines": 30, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/observability/trace.js" - }, - { - "bytes_size": 15716, - "extension": ".js", - "lines": 417, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/mcp/tools.js" - }, - { - "bytes_size": 3360, - "extension": ".js", - "lines": 85, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/monitoring.js" - }, - { - "bytes_size": 6775, - "extension": ".js", - "lines": 152, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/process-enrichment.js" - }, - { - "bytes_size": 7579, - "extension": ".js", - "lines": 198, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/public-link-resolver.js" - }, - { - "bytes_size": 8560, - "extension": ".js", - "lines": 231, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/enrichment/sources.js" - }, - { - "bytes_size": 101177, - "extension": ".js", - "lines": 2464, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/data/tribunal-catalog.js" - }, - { - "bytes_size": 291, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/catalog/groups.js" - }, - { - "bytes_size": 391, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/catalog/tools-index.js" - }, - { - "bytes_size": 486, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/auth/profile.js" - }, - { - "bytes_size": 735, - "extension": ".js", - "lines": 24, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/app/http.js" - }, - { - "bytes_size": 2675, - "extension": ".js", - "lines": 54, - "path": ".compiled/apps/tudo-para-ia-dajuds/src/adapters/openapi.js" - }, - { - "bytes_size": 2354, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/n8n-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 476, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/n8n-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/n8n-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/n8n-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 264, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/n8n-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/n8n-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/n8n-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 245, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/n8n-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2372, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/mercado-pago-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 485, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/mercado-pago-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 151, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mercado-pago-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 184, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/mercado-pago-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 262, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/mercado-pago-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mercado-pago-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 189, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mercado-pago-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mercado-pago-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2356, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/mem0-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 477, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/mem0-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mem0-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 176, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/mem0-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 250, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/mem0-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 236, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mem0-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/mem0-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 246, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/mem0-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2360, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/gitlab-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 479, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/gitlab-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitlab-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 178, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitlab-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 256, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 269, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/gitlab-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitlab-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitlab-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 248, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitlab-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2358, - "extension": ".js", - "lines": 47, - "path": ".compiled/apps/gitea-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 478, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/gitea-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 143, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 429, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/gitea-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 255, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 177, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/gitea-para-ia/src/communication/error-normalization.js" - }, - { - "bytes_size": 124, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/gitea-para-ia/src/communication/request-normalization.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/gitea-para-ia/src/communication/response-normalization.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/gitea-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/bridge/callbacks.js" - }, - { - "bytes_size": 316, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/gitea-para-ia/src/bridge/oauth-flow.js" - }, - { - "bytes_size": 190, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/bridge/session-storage.js" - }, - { - "bytes_size": 238, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/auth/oauth.js" - }, - { - "bytes_size": 191, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/gitea-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 237, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/auth/session-model.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/gitea-para-ia/src/auth/token.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/gitea-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 2773, - "extension": ".js", - "lines": 55, - "path": ".compiled/apps/cloudflare-para-ia/src/index.js" - }, - { - "bytes_size": 198, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/describe-tool.js" - }, - { - "bytes_size": 483, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/execute-tool.js" - }, - { - "bytes_size": 283, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/health.js" - }, - { - "bytes_size": 130, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/list-tools.js" - }, - { - "bytes_size": 1534, - "extension": ".js", - "lines": 35, - "path": ".compiled/apps/cloudflare-para-ia/src/runtime/provider-state.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/cloudflare-para-ia/src/provider/capabilities.js" - }, - { - "bytes_size": 182, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/provider/manifest.js" - }, - { - "bytes_size": 443, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/cloudflare-para-ia/src/provider/metadata.js" - }, - { - "bytes_size": 2107, - "extension": ".js", - "lines": 57, - "path": ".compiled/apps/cloudflare-para-ia/src/profile/describe.js" - }, - { - "bytes_size": 362, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/cloudflare-para-ia/src/observability/audit.js" - }, - { - "bytes_size": 293, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/cloudflare-para-ia/src/observability/metrics.js" - }, - { - "bytes_size": 260, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/observability/trace.js" - }, - { - "bytes_size": 254, - "extension": ".js", - "lines": 12, - "path": ".compiled/apps/cloudflare-para-ia/src/catalog/groups.js" - }, - { - "bytes_size": 247, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/catalog/resources-index.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/cloudflare-para-ia/src/catalog/tools-index.js" - }, - { - "bytes_size": 280, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/cloudflare-para-ia/src/auth/guards.js" - }, - { - "bytes_size": 183, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/auth/profile.js" - }, - { - "bytes_size": 144, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/cloudflare-para-ia/src/auth/required-env.js" - }, - { - "bytes_size": 378, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/cloudflare-para-ia/src/adapters/action.js" - }, - { - "bytes_size": 2025, - "extension": ".js", - "lines": 46, - "path": ".compiled/apps/cloudflare-para-ia/src/adapters/openapi.js" - }, - { - "bytes_size": 71, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/index.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 126, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 42, - "extension": ".js", - "lines": 1, - "path": ".compiled/apps/app-padrao-de-integracao/index.js" - }, - { - "bytes_size": 544, - "extension": ".js", - "lines": 11, - "path": ".compiled/apps/app-padrao-de-integracao/tests/unit/auth.test.js" - }, - { - "bytes_size": 504, - "extension": ".js", - "lines": 10, - "path": ".compiled/apps/app-padrao-de-integracao/tests/unit/session.test.js" - }, - { - "bytes_size": 353, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/tests/contract/openapi.contract.test.js" - }, - { - "bytes_size": 146, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/index.js" - }, - { - "bytes_size": 174, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/create-session.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/get-session.js" - }, - { - "bytes_size": 231, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/refresh-session.js" - }, - { - "bytes_size": 175, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/session/revoke-session.js" - }, - { - "bytes_size": 163, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/cors.js" - }, - { - "bytes_size": 105, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/rate-limit.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/redact-logs.js" - }, - { - "bytes_size": 131, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/security/route-guard.js" - }, - { - "bytes_size": 356, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/describe-tool.js" - }, - { - "bytes_size": 447, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/execute-tool.js" - }, - { - "bytes_size": 169, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/health.js" - }, - { - "bytes_size": 166, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/list-resources.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/runtime/list-tools.js" - }, - { - "bytes_size": 112, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/provider/capabilities.js" - }, - { - "bytes_size": 253, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/provider/manifest.js" - }, - { - "bytes_size": 274, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/provider/metadata.js" - }, - { - "bytes_size": 152, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/openapi/document.js" - }, - { - "bytes_size": 242, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/openapi/paths.js" - }, - { - "bytes_size": 160, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/openapi/schemas.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/observability/errors.js" - }, - { - "bytes_size": 159, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/observability/logger.js" - }, - { - "bytes_size": 251, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/observability/trace.js" - }, - { - "bytes_size": 135, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-capability-summary.js" - }, - { - "bytes_size": 116, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-handoff-link.js" - }, - { - "bytes_size": 155, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-limits-view.js" - }, - { - "bytes_size": 114, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-resource-summary.js" - }, - { - "bytes_size": 107, - "extension": ".js", - "lines": 3, - "path": ".compiled/apps/app-padrao-de-integracao/src/helpers/build-tool-summary.js" - }, - { - "bytes_size": 298, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/service.js" - }, - { - "bytes_size": 136, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/build-channel-context.js" - }, - { - "bytes_size": 149, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/build-provider-context.js" - }, - { - "bytes_size": 173, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/build-runtime-context.js" - }, - { - "bytes_size": 148, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/core/runtime/check-readiness.js" - }, - { - "bytes_size": 181, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/examples.js" - }, - { - "bytes_size": 241, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/groups.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/layers.js" - }, - { - "bytes_size": 227, - "extension": ".js", - "lines": 9, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/resources-index.js" - }, - { - "bytes_size": 267, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/catalog/tools-index.js" - }, - { - "bytes_size": 141, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/boot/validate-bindings.js" - }, - { - "bytes_size": 150, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/boot/validate-env.js" - }, - { - "bytes_size": 228, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-capability.js" - }, - { - "bytes_size": 111, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-permission.js" - }, - { - "bytes_size": 115, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-resource-access.js" - }, - { - "bytes_size": 138, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/authorization/check-role.js" - }, - { - "bytes_size": 307, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/auth/build-auth-context.js" - }, - { - "bytes_size": 244, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/auth/guards.js" - }, - { - "bytes_size": 203, - "extension": ".js", - "lines": 4, - "path": ".compiled/apps/app-padrao-de-integracao/src/auth/profile.js" - }, - { - "bytes_size": 180, - "extension": ".js", - "lines": 6, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/env.js" - }, - { - "bytes_size": 214, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/response.js" - }, - { - "bytes_size": 2408, - "extension": ".js", - "lines": 52, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/router.js" - }, - { - "bytes_size": 215, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/capabilities.js" - }, - { - "bytes_size": 170, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/health.js" - }, - { - "bytes_size": 179, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/openapi.js" - }, - { - "bytes_size": 232, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/tool-call.js" - }, - { - "bytes_size": 219, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/tool-describe.js" - }, - { - "bytes_size": 187, - "extension": ".js", - "lines": 5, - "path": ".compiled/apps/app-padrao-de-integracao/src/app/routes/tool-list.js" - }, - { - "bytes_size": 235, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/action.js" - }, - { - "bytes_size": 305, - "extension": ".js", - "lines": 8, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/central.js" - }, - { - "bytes_size": 239, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/openapi.js" - }, - { - "bytes_size": 208, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/public.js" - }, - { - "bytes_size": 205, - "extension": ".js", - "lines": 7, - "path": ".compiled/apps/app-padrao-de-integracao/src/adapters/pwa.js" - }, - { - "bytes_size": 6648, - "extension": ".js", - "lines": 116, - "path": ".compiled/app/whatsapp-qr-session/tests/whatsapp-qr-session.test.js" - }, - { - "bytes_size": 1807, - "extension": ".js", - "lines": 33, - "path": ".compiled/app/whatsapp-qr-session/src/index.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/app/whatsapp-qr-session/src/storage/session-store.js" - }, - { - "bytes_size": 5367, - "extension": ".js", - "lines": 120, - "path": ".compiled/app/whatsapp-qr-session/src/services/diagnostic-service.js" - }, - { - "bytes_size": 686, - "extension": ".js", - "lines": 20, - "path": ".compiled/app/whatsapp-qr-session/src/services/ids.js" - }, - { - "bytes_size": 3837, - "extension": ".js", - "lines": 105, - "path": ".compiled/app/whatsapp-qr-session/src/services/qr-service.js" - }, - { - "bytes_size": 4465, - "extension": ".js", - "lines": 108, - "path": ".compiled/app/whatsapp-qr-session/src/services/session-service.js" - }, - { - "bytes_size": 1662, - "extension": ".js", - "lines": 44, - "path": ".compiled/app/whatsapp-qr-session/src/services/status-service.js" - }, - { - "bytes_size": 1304, - "extension": ".js", - "lines": 36, - "path": ".compiled/app/whatsapp-qr-session/src/security/redaction.js" - }, - { - "bytes_size": 7437, - "extension": ".js", - "lines": 165, - "path": ".compiled/app/whatsapp-qr-session/src/runtime/tool-executor.js" - }, - { - "bytes_size": 3988, - "extension": ".js", - "lines": 43, - "path": ".compiled/app/whatsapp-qr-session/src/mcp/contract.js" - }, - { - "bytes_size": 680, - "extension": ".js", - "lines": 10, - "path": ".compiled/app/whatsapp-qr-session/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/app/whatsapp-qr-session/src/domain/types.js" - }, - { - "bytes_size": 763, - "extension": ".js", - "lines": 14, - "path": ".compiled/app/whatsapp-qr-session/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 17831, - "extension": ".js", - "lines": 340, - "path": ".compiled/app/whatsapp-para-ia/tests/whatsapp-para-ia.test.js" - }, - { - "bytes_size": 3386, - "extension": ".js", - "lines": 46, - "path": ".compiled/app/whatsapp-para-ia/src/index.js" - }, - { - "bytes_size": 743, - "extension": ".js", - "lines": 19, - "path": ".compiled/app/whatsapp-para-ia/src/webhooks/validation.js" - }, - { - "bytes_size": 1281, - "extension": ".js", - "lines": 37, - "path": ".compiled/app/whatsapp-para-ia/src/storage/session-store.js" - }, - { - "bytes_size": 1583, - "extension": ".js", - "lines": 33, - "path": ".compiled/app/whatsapp-para-ia/src/services/commercial-service.js" - }, - { - "bytes_size": 7421, - "extension": ".js", - "lines": 155, - "path": ".compiled/app/whatsapp-para-ia/src/services/diagnostic-service.js" - }, - { - "bytes_size": 2162, - "extension": ".js", - "lines": 61, - "path": ".compiled/app/whatsapp-para-ia/src/services/event-service.js" - }, - { - "bytes_size": 881, - "extension": ".js", - "lines": 26, - "path": ".compiled/app/whatsapp-para-ia/src/services/ids.js" - }, - { - "bytes_size": 4099, - "extension": ".js", - "lines": 102, - "path": ".compiled/app/whatsapp-para-ia/src/services/message-service.js" - }, - { - "bytes_size": 3754, - "extension": ".js", - "lines": 103, - "path": ".compiled/app/whatsapp-para-ia/src/services/qr-service.js" - }, - { - "bytes_size": 4160, - "extension": ".js", - "lines": 108, - "path": ".compiled/app/whatsapp-para-ia/src/services/session-service.js" - }, - { - "bytes_size": 1560, - "extension": ".js", - "lines": 42, - "path": ".compiled/app/whatsapp-para-ia/src/services/status-service.js" - }, - { - "bytes_size": 1330, - "extension": ".js", - "lines": 45, - "path": ".compiled/app/whatsapp-para-ia/src/security/redaction.js" - }, - { - "bytes_size": 10500, - "extension": ".js", - "lines": 218, - "path": ".compiled/app/whatsapp-para-ia/src/runtime/tool-executor.js" - }, - { - "bytes_size": 5774, - "extension": ".js", - "lines": 51, - "path": ".compiled/app/whatsapp-para-ia/src/mcp/contract.js" - }, - { - "bytes_size": 580, - "extension": ".js", - "lines": 9, - "path": ".compiled/app/whatsapp-para-ia/src/domain/constants.js" - }, - { - "bytes_size": 11, - "extension": ".js", - "lines": 1, - "path": ".compiled/app/whatsapp-para-ia/src/domain/types.js" - }, - { - "bytes_size": 8689, - "extension": ".js", - "lines": 215, - "path": ".compiled/app/whatsapp-para-ia/src/diagnostics/commercial-readiness.js" - }, - { - "bytes_size": 25932, - "extension": ".js", - "lines": 571, - "path": ".compiled/app/whatsapp-para-ia/src/diagnostics/operational-readiness.js" - }, - { - "bytes_size": 755, - "extension": ".js", - "lines": 8, - "path": ".compiled/app/whatsapp-para-ia/src/diagnostics/readiness-matrix.js" - }, - { - "bytes_size": 786, - "extension": ".js", - "lines": 22, - "path": ".compiled/app/whatsapp-para-ia/src/config/product-config.js" - }, - { - "bytes_size": 1544, - "extension": ".js", - "lines": 19, - "path": ".compiled/app/whatsapp-para-ia/src/adapters/external-whatsapp-connector.js" - }, - { - "bytes_size": 4339, - "extension": ".sql", - "lines": 150, - "path": ".compiled/app/whatsapp-para-ia/schema/whatsapp_para_ia.sql" } ], "git_present": true, @@ -360339,7 +343887,7 @@ "readme_excerpt": "# tudo-para-ia-integracoes-plataform\n\nMonorepo da plataforma de integracoes de Tudo Para IA.\n\n## Fundacao materializada\n\n- raiz de monorepo com apps, packages, templates, inventory, inventario, tests, scripts e docs\n- apps centrais do dominio e gateways institucionais\n- apps de integracao minimos para Cloudflare, Gitea, GitLab, Vercel, n8n, Mem0 e Mercado Pago\n- packages compartilhados para tipos, kernel, auth, catalogo, dispatch, openapi, trace, sessao, persistencia semantica, memoria de workspace, entitlements e utilitarios\n- areas numeradas de 001 a 017 para continuidade da fila\n\n## Fronteira institucional\n\n- o dominio permanece neste repositorio\n- a documentacao institucional sobe para `tudo-para-ia-docs-plataform`\n- a operacao humana sobe para `tudo-para-ia-admins-plataform`\n- a superficie MCP interna sobe para `tudo-para-ia-mcps-internos-plataform`", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-integracoes-plataform", - "scanned_at": "2026-04-30T10:32:18+00:00", + "scanned_at": "2026-04-30T11:32:31+00:00", "scripts": [ { "command": "tsc --noEmit -p tsconfig.build.json", @@ -360348,7 +343896,7 @@ "source_file": "package.json" }, { - "command": "tsx scripts/docs/build-maturity-snapshot.ts && tsx scripts/docs/build-admin-operational-snapshots.ts && tsx scripts/docs/build-round-continuity-snapshot.ts && tsx scripts/docs/build-round-execution-control-snapshot.ts && tsx scripts/docs/build-active-service-order-snapshot.ts && tsx scripts/docs/build-round-08-operational-closure-snapshot.ts && tsx scripts/docs/build-round-09-operational-execution-snapshot.ts && tsx scripts/docs/build-round-10-operational-closure-snapshot.ts && tsx scripts/docs/build-round-11-operational-execution-snapshot.ts && tsx scripts/docs/build-doc-index.ts", + "command": "tsx scripts/docs/build-maturity-snapshot.ts && tsx scripts/docs/build-admin-operational-snapshots.ts && tsx scripts/docs/build-round-continuity-snapshot.ts && tsx scripts/docs/build-round-execution-control-snapshot.ts && tsx scripts/docs/build-active-service-order-snapshot.ts && tsx scripts/docs/build-round-08-operational-closure-snapshot.ts && tsx scripts/docs/build-round-09-operational-execution-snapshot.ts && tsx scripts/docs/build-round-10-operational-closure-snapshot.ts && node scripts/round/materialize-round-11-operational-execution.mjs && tsx scripts/docs/build-doc-index.ts", "intent": "build", "name": "docs:build", "source_file": "package.json" @@ -360401,12 +343949,24 @@ "name": "ops:round10:materialize", "source_file": "package.json" }, + { + "command": "node scripts/round/materialize-round-11-operational-execution.mjs", + "intent": "operation", + "name": "ops:round11:materialize", + "source_file": "package.json" + }, { "command": "node scripts/ops/round-continuity-smoke-no-tsx.mjs", "intent": "validation", "name": "smoke:round-continuity:no-tsx", "source_file": "package.json" }, + { + "command": "node scripts/ops/round11-no-spawn-smoke.mjs", + "intent": "validation", + "name": "smoke:round11:no-tsx", + "source_file": "package.json" + }, { "command": "tsx scripts/sync/check-sync.ts", "intent": "operation", @@ -360596,7 +344156,7 @@ { "confidence": 0.55, "kind": "mcp_tool", - "line": 10, + "line": 7, "path": "apps/intelligence-worker/package.json", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] @@ -360673,6 +344233,14 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 3, + "path": "apps/intelligence-worker/src/operational-closeout.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -360713,6 +344281,22 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 3, + "path": "apps/intelligence-worker/src/release-readiness-board.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 18, + "path": "apps/intelligence-worker/src/round-documentation-export.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -360729,6 +344313,14 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 49, + "path": "apps/intelligence-worker/src/service-order-governance.js", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -360745,14 +344337,6 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 3, - "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, { "confidence": 0.55, "kind": "mcp_tool", @@ -360937,6 +344521,17 @@ "observability" ] }, + { + "confidence": 0.68, + "kind": "observability", + "line": 7, + "path": "apps/intelligence-worker/package.json", + "summary": "Texto menciona 'readiness', sinalizando capacidade humana ou operacional.", + "tags": [ + "operations", + "observability" + ] + }, { "confidence": 0.68, "kind": "observability", @@ -360962,7 +344557,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 32, + "line": 41, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -360973,7 +344568,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 69, + "line": 87, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -360984,7 +344579,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 69, + "line": 87, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs", "summary": "Texto menciona 'trace', sinalizando capacidade humana ou operacional.", "tags": [ @@ -361190,17 +344785,6 @@ "observability" ] }, - { - "confidence": 0.68, - "kind": "observability", - "line": 5, - "path": "apps/intelligence-worker/src/index.js", - "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", - "tags": [ - "operations", - "observability" - ] - }, { "confidence": 0.78, "kind": "openapi", @@ -361305,6 +344889,14 @@ "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.78, + "kind": "openapi", + "line": 78, + "path": "apps/intelligence-worker/src/release-readiness-board.js", + "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.78, "kind": "openapi", @@ -361321,14 +344913,6 @@ "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.78, - "kind": "openapi", - "line": 39, - "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", - "summary": "Texto menciona 'openapi', sinalizando capacidade humana ou operacional.", - "tags": [] - }, { "confidence": 0.78, "kind": "openapi", @@ -361472,7 +345056,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 33, + "line": 43, "path": "apps/intelligence-worker/src/index.js", "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] @@ -361490,7 +345074,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 124, + "line": 186, "path": "apps/intelligence-worker/src/intelligence-core.js", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -361515,6 +345099,16 @@ "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": 217, + "path": "apps/intelligence-worker/src/operational-closeout.js", + "summary": "Texto menciona 'screen', sinalizando capacidade humana ou operacional.", + "tags": [ + "experience" + ] + }, { "confidence": 0.78, "kind": "ui_surface", @@ -361577,16 +345171,6 @@ "summary": "Texto menciona 'samesource', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.78, - "kind": "ui_surface", - "line": 17, - "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json", - "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", - "tags": [ - "experience" - ] - }, { "confidence": 0.55, "kind": "ui_surface", @@ -361600,7 +345184,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 489, + "line": 650, "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -361723,6 +345307,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/git-sync-governance.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -361755,6 +345347,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/operational-closeout.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -361795,6 +345395,22 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/release-readiness-board.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/round-documentation-export.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -361811,6 +345427,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/intelligence-worker/src/service-order-governance.js", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -361875,9 +345499,9 @@ "path": "README.md" }, { - "bytes_size": 1659, + "bytes_size": 1889, "extension": ".md", - "lines": 30, + "lines": 31, "path": "status/summary.md" }, { @@ -361911,7 +345535,7 @@ "path": "docs/operational-contract.md" }, { - "bytes_size": 1090, + "bytes_size": 1502, "extension": ".json", "lines": 13, "path": "apps/intelligence-worker/package.json" @@ -361929,9 +345553,9 @@ "path": "apps/intelligence-worker/wrangler.toml" }, { - "bytes_size": 12286, + "bytes_size": 16102, "extension": ".mjs", - "lines": 285, + "lines": 363, "path": "apps/intelligence-worker/tests/intelligence-worker.test.mjs" }, { @@ -361977,15 +345601,21 @@ "path": "apps/intelligence-worker/src/gate-orchestrator.js" }, { - "bytes_size": 8829, + "bytes_size": 16215, "extension": ".js", - "lines": 165, + "lines": 424, + "path": "apps/intelligence-worker/src/git-sync-governance.js" + }, + { + "bytes_size": 10770, + "extension": ".js", + "lines": 185, "path": "apps/intelligence-worker/src/index.js" }, { - "bytes_size": 37154, + "bytes_size": 46292, "extension": ".js", - "lines": 942, + "lines": 1133, "path": "apps/intelligence-worker/src/intelligence-core.js" }, { @@ -362000,6 +345630,12 @@ "lines": 502, "path": "apps/intelligence-worker/src/mcp-runtime-registration.js" }, + { + "bytes_size": 30552, + "extension": ".js", + "lines": 766, + "path": "apps/intelligence-worker/src/operational-closeout.js" + }, { "bytes_size": 20161, "extension": ".js", @@ -362030,6 +345666,18 @@ "lines": 605, "path": "apps/intelligence-worker/src/release-governance.js" }, + { + "bytes_size": 24160, + "extension": ".js", + "lines": 573, + "path": "apps/intelligence-worker/src/release-readiness-board.js" + }, + { + "bytes_size": 14181, + "extension": ".js", + "lines": 375, + "path": "apps/intelligence-worker/src/round-documentation-export.js" + }, { "bytes_size": 29200, "extension": ".js", @@ -362042,6 +345690,12 @@ "lines": 489, "path": "apps/intelligence-worker/src/runtime-promotion.js" }, + { + "bytes_size": 18279, + "extension": ".js", + "lines": 464, + "path": "apps/intelligence-worker/src/service-order-governance.js" + }, { "bytes_size": 20740, "extension": ".js", @@ -362067,15 +345721,15 @@ "path": "apps/intelligence-worker/scripts/run-http-smoke.mjs" }, { - "bytes_size": 234951, + "bytes_size": 892339, "extension": ".json", - "lines": 7252, + "lines": 0, "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json" }, { - "bytes_size": 15101, + "bytes_size": 18837, "extension": ".json", - "lines": 598, + "lines": 759, "path": "apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json" } ], @@ -362115,7 +345769,7 @@ "readme_excerpt": "# tudo-para-ia-intelligence-platform\n\nPlataforma de inteligencia decisoria do ecossistema Tudo Para IA.\n\nEsta versao materializa o projeto real que antes estava ausente. Ela entrega um Worker local MCP-ready, contrato operacional minimo, read models gerenciais, governanca de dados, integracao catalogavel pelo control-plane MCP, smoke HTTP local, gates institucionais, admin view same-source para GPT e painel, plano Cloudflare por `wrangler`, dossie de release e governanca cross-platform.\n\n## Layout\n\n- `apps/intelligence-worker`: Worker local com endpoints MCP-ready.\n- `apps/intelligence-worker/src`: contrato, tools, read models, readiness e auditoria.\n- `apps/intelligence-worker/contracts`: contrato completo e resumo gerados por `npm run build`.\n- `docs/operational-contract.md`: contrato operacional minimo da plataforma.\n- `docs/data-read-models.md`: mapa inicial de dados, snapshots e read models.\n- `docs/mcp-control-plane-integration.md`: regra de integracao com MCP.\n- `docs/governance-security.md`: governanca minima de dados e evidencias.\n- `docs/maturity-roadmap.md`: roadmap de maturidade e desbloqueio.\n- `status/summary.md`: estado operacional local.\n\n## API local\n\n- `GET /v1/health`\n- `GET /v1/profile`\n- `GET /v1/readiness`\n- `GET /v1/openapi`\n- `GET /v1/tools`\n- `GET /v1/tools/describe?tool=`\n- `GET /v1/contract`\n- `GET /v1/contract/summary`\n- `GET /v1/storage`\n- `GET /v1/gates`\n- `GET /v1/cloudflare/operational-state`\n- `GET /v1/cloudflare/wrangler-runbook`\n- `GET /v1/release/dossier`\n- `GET /v1/release/closeout-package`\n- `GET /v1/ecosystem/governance`\n- `GET /v1/ecosystem/dependency-graph`\n- `GET /v1/ecosystem/alignment`\n- `GET /v1/admin/overview`\n- `GET /v1/admin/same-source`\n- `POST /v1/tool/call`\n- `POST /v1/execute`\n\n## Comandos\n\n```powershell\nnpm run build\nnpm test\nnpm run smoke\nnpm run smoke:http-local\nnpm run verify\n```\n\nOs comandos usam apenas Node.js nativo. Nao ha dependencia externa obrigatoria para a validacao local.\n\n## Estado\n\n- projeto real: materializado em `G:/_codex-git/tudo-para-ia-intelligence-platform`\n- status local: `catalogOnly-local-ready`\n- status operacional amplo: `planned`, com bloqueio de endpoint HTTP publico e gates externos\n- storage Cloudflare real: D1 remoto comprovado; KV namespace comprovado; KV read/write e R2 pendentes por `spawn EPERM`\n- deploy Cloudflare: `wrangler deploy --dry-run` bloqueado neste ambiente por `child_process.spawn EPERM`\n- contrato: gerado localmente em `apps/intelligence-worker/contracts`\n- evidencia local: `npm run smoke:http-local` sobe servidor HTTP em loopback e valida health/profile/readiness/openapi/storage/gates/admin/execute\n- proximo gate: publicar endpoint HTTP real, registrar smoke central e validar Identity/Business/Docs", "remote_origin": "https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git", "repo_path": "G:\\_codex-git\\tudo-para-ia-intelligence-platform", - "scanned_at": "2026-04-30T10:32:19+00:00", + "scanned_at": "2026-04-30T11:32:32+00:00", "scripts": [ { "command": "npm --workspace apps/intelligence-worker run build", @@ -364597,6 +348251,16 @@ "integration" ] }, + { + "confidence": 0.78, + "kind": "security", + "line": 988, + "path": "deploy/mcps-gateway/src/providers/managed-catalog.ts", + "summary": "Texto menciona 'credentialref', sinalizando capacidade humana ou operacional.", + "tags": [ + "security" + ] + }, { "confidence": 0.78, "kind": "security", @@ -365688,7 +349352,7 @@ { "confidence": 0.55, "kind": "unknown", - "line": 305, + "line": 306, "path": "deploy/mcps-gateway/src/providers/runtime.ts", "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", "tags": [ @@ -369971,15 +353635,15 @@ "path": "deploy/mcps-gateway/src/security/auth.ts" }, { - "bytes_size": 28246, + "bytes_size": 29582, "extension": ".ts", - "lines": 700, + "lines": 730, "path": "deploy/mcps-gateway/src/providers/catalog.ts" }, { - "bytes_size": 32524, + "bytes_size": 36766, "extension": ".ts", - "lines": 930, + "lines": 1038, "path": "deploy/mcps-gateway/src/providers/managed-catalog.ts" }, { @@ -369995,9 +353659,9 @@ "path": "deploy/mcps-gateway/src/providers/policies.ts" }, { - "bytes_size": 24868, + "bytes_size": 24938, "extension": ".ts", - "lines": 667, + "lines": 668, "path": "deploy/mcps-gateway/src/providers/runtime.ts" }, { @@ -370205,9 +353869,9 @@ "path": "deploy/mcps-gateway/src/managers/intelligence-lifecycle-policy.ts" }, { - "bytes_size": 18376, + "bytes_size": 25069, "extension": ".ts", - "lines": 564, + "lines": 731, "path": "deploy/mcps-gateway/src/managers/managed-provider-manager.ts" }, { @@ -372380,7 +356044,7 @@ "readme_excerpt": "# Tudo Para IA MCPs Internos Plataform\n\nMonorepo institucional da camada interna de MCPs do ecossistema Tudo Para IA.\n\n## Escopo desta rodada\n\n- control plane central de MCPs internos\n- bridge com admins\n- bridge com docs\n- gateway para agentes\n- persistencia explicita de estado operacional\n- MCP interno da frente integracoes\n\n## Superficies materializadas\n\n- `tudo-para-ia-mcps-central` — Control plane central de discovery institucional, catalogo de superfices, auth interna, tracing, auditoria e health.\n- `tudo-para-ia-mcps-admin-bridge` — Bridge de handoff entre admins e as superfices MCP internas do ecossistema.\n- `tudo-para-ia-mcps-docs-bridge` — Bridge documental para provas, manuais e surfaces indexadas a partir do catalogo interno.\n- `tudo-para-ia-mcps-gateway-ia` — Gateway unico para agentes e IA assistiva consumirem o catalogo interno com explicabilidade e trilha.\n- `tudo-para-ia-mcps-persistencia` — Camada explicita de persistencia de sessao, workspace, homologacao e contexto operacional.\n- `mcp-interno-tudo-para-ia-integracoes` — Superficie MCP interna especifica da frente integracoes com discovery, catalogo, execucao canonica, tracing e auditoria.\n\n## Packages compartilhados\n\n- `shared-mcp-types` — Tipos basicos para superfices internas, tools, sessao e evidencia.\n- `shared-mcp-kernel` — Helpers para chaves canonic-as, nomes de superficie e agrupamento.\n- `shared-mcp-catalog` — Flatten e leitura do catalogo progressivo de superfices e tools.\n- `shared-mcp-discovery` — Camadas de discovery progressivo e breadcrumbs institucionais.\n- `shared-mcp-auth` — Politicas de acesso, escopo e leitura de entitlements internos.\n- `shared-mcp-execution` — Canonizacao de chamadas internas e shape minimo de dispatch.\n- `shared-mcp-trace` — Correlacao de requests, headers e encadeamento observavel.\n- `shared-mcp-audit` — Trilha de auditoria minima e eventos de superficie interna.\n- `shared-mcp-health` — Health, readiness e sinais sinteticos de confianca operacional.\n- `shared-mcp-session` — Sessao, favoritos e continuidade entre bridges e canais.\n- `shared-mcp-memory` — Memoria operacional, contexto de workspace e snapshots basicos.\n- `shared-mcp-governance` — Checklist institucional para rollout, prova e fechamento.\n- `shared-mcp-evidence` — Vinculo entre teste, verdade operacional e evidence links.\n\n## Areas cobertas\n\n- `001_fundacao-estrutural` — Fundacao do monorepo, bootstrap, manifests e base institucional.\n- `002_legado-migracao-e-compatibilizacao` — Leitura do legado, mapa de origem e regras de migracao.\n- `003_nucleo-multicanal` — Nucleo do controle-plane e separacao de superfices por canal.\n- `004_packages-compartilhados` — Packages de tipos, kernel, catalogo, auth e observabilidade.\n- `005_app-padrao-e-template` — Template canonico para novos MCPs internos e bridges.\n- `006_apps-de-integracao-prioritarios` — Superficies priorizadas para discovery e operacao institucional.\n- `007_apps-de-integracao-secundarios` — Superficies de apoio e extensoes futuras do ecossistema.\n- `008_catalogo-descoberta-e-experiencia` — Catalogo progressivo, descoberta assistida e leitura de contexto.\n- `009_identidade-sessao-e-entitlements` — Sessao, identidade institucional e entitlements internos.\n- `010_workspace-e-memoria-de-uso` — Workspace, favoritos, retomada e memoria operacional.\n- `011_governanca-da-base-viva` — Governanca do inventario vivo e estado da base ativa.\n- `012_seguranca-observabilidade-risco-e-saude` — Seguranca, tracing, auditoria, health e abuso.\n- `013_operacao-comercial-e-entrega` — Operacao comercial, elegibilidade, rollout e entrega.\n- `014_integracao-com-admin-docs-mcps` — Handoffs entre dominio, admins, docs e MCPs internos.\n- `015_homologacao-por-integracao` — Homologacao por superficie e trilha de aceitacao.\n- `016_testes-estruturais-e-bateria-final` — Bateria de teste estrutural e prova institucional.\n- `017_endurecimento-institucional` — Fechamento institucional, coerencia e matriz de lacunas.\n- `018_persistencia-", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-mcps-internos-plataform", - "scanned_at": "2026-04-30T10:32:20+00:00", + "scanned_at": "2026-04-30T11:32:41+00:00", "scripts": [ { "command": "node scripts/runtime/run-tsc.mjs --noEmit -p tsconfig.build.json", @@ -372818,6 +356482,26 @@ "commercial" ] }, + { + "confidence": 0.68, + "kind": "business_rule", + "line": 134, + "path": "packages/core-operational-readiness/src/mcp-administration-fixtures.ts", + "summary": "Texto menciona 'entitlement', sinalizando capacidade humana ou operacional.", + "tags": [ + "commercial" + ] + }, + { + "confidence": 0.68, + "kind": "business_rule", + "line": 362, + "path": "packages/core-operational-readiness/src/mcp-administration-fixtures.ts", + "summary": "Texto menciona 'invoice', sinalizando capacidade humana ou operacional.", + "tags": [ + "finance" + ] + }, { "confidence": 0.65, "kind": "config", @@ -373138,6 +356822,14 @@ "summary": "Configuracao operacional encontrada.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 25, + "path": "package.json", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -373178,6 +356870,14 @@ "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 7, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -373234,6 +356934,22 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": null, + "path": "scripts/reports/generate-mcp-administration-artifacts.ts", + "summary": "Possivel tool ou superficie MCP encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 6, + "path": "scripts/reports/generate-mcp-administration-artifacts.ts", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, { "confidence": 0.55, "kind": "mcp_tool", @@ -373314,67 +357030,27 @@ "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 73, - "path": "reports/operational-readiness/release-execution-manifest.md", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 4030, - "path": "reports/operational-readiness/release-lots.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 64, - "path": "reports/operational-readiness/release-lots.md", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 137, - "path": "reports/operational-readiness/shared-readiness-roadmap.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 8, - "path": "registry/platform-registry.json", - "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", - "tags": [] - }, { "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/classificacao_semantica_manual - Copia.tsv", + "path": "reports/operational-readiness/mcp-administration-artifact-index.json", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/classificacao_semantica_manual.tsv", - "summary": "Possivel tool ou superficie MCP encontrada.", + "line": 3, + "path": "reports/operational-readiness/mcp-administration-artifact-index.json", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMANTICA_V1_AUTONOMA.md", + "path": "reports/operational-readiness/mcp-administration-artifact-receipt.md", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, @@ -373382,7 +357058,7 @@ "confidence": 0.55, "kind": "mcp_tool", "line": 1, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMANTICA_V1_AUTONOMA.md", + "path": "reports/operational-readiness/mcp-administration-artifact-receipt.md", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, @@ -373390,7 +357066,7 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/lote_064.csv", + "path": "reports/operational-readiness/mcp-administration-contracts.json", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, @@ -373398,23 +357074,15 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/lote_064.sqlite", + "path": "reports/operational-readiness/mcp-administration-contracts.md", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/resumo_lote_064.md", - "summary": "Possivel tool ou superficie MCP encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 3, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_064/resumo_lote_064.md", + "line": 1, + "path": "reports/operational-readiness/mcp-administration-contracts.md", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, @@ -373422,31 +357090,15 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/lote_063.csv", + "path": "reports/operational-readiness/mcp-administration-readiness.json", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, { "confidence": 0.55, "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/lote_063.sqlite", - "summary": "Possivel tool ou superficie MCP encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/resumo_lote_063.md", - "summary": "Possivel tool ou superficie MCP encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "mcp_tool", - "line": 3, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_063/resumo_lote_063.md", + "line": 2, + "path": "reports/operational-readiness/mcp-administration-readiness.json", "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", "tags": [] }, @@ -373454,7 +357106,39 @@ "confidence": 0.55, "kind": "mcp_tool", "line": null, - "path": "pipeline-os-bases/mcps_internos_semantica_v1_autonoma/lote_062/lote_062.csv", + "path": "reports/operational-readiness/mcp-administration-readiness.md", + "summary": "Possivel tool ou superficie MCP encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 1, + "path": "reports/operational-readiness/mcp-administration-readiness.md", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": null, + "path": "reports/operational-readiness/mcp-administration-roadmap.json", + "summary": "Possivel tool ou superficie MCP encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": 2, + "path": "reports/operational-readiness/mcp-administration-roadmap.json", + "summary": "Texto menciona 'mcp', sinalizando capacidade humana ou operacional.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "mcp_tool", + "line": null, + "path": "reports/operational-readiness/mcp-administration-roadmap.md", "summary": "Possivel tool ou superficie MCP encontrada.", "tags": [] }, @@ -373601,6 +357285,39 @@ "observability" ] }, + { + "confidence": 0.68, + "kind": "observability", + "line": 12, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'readiness', sinalizando capacidade humana ou operacional.", + "tags": [ + "operations", + "observability" + ] + }, + { + "confidence": 0.68, + "kind": "observability", + "line": 44, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'trace', sinalizando capacidade humana ou operacional.", + "tags": [ + "governance", + "observability" + ] + }, + { + "confidence": 0.68, + "kind": "observability", + "line": 46, + "path": "tests/mcp-administration.test.ts", + "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", + "tags": [ + "governance", + "observability" + ] + }, { "confidence": 0.68, "kind": "observability", @@ -373865,39 +357582,6 @@ "observability" ] }, - { - "confidence": 0.68, - "kind": "observability", - "line": 9, - "path": "service-orders/_templates/os-integracao-template.md", - "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", - "tags": [ - "governance", - "observability" - ] - }, - { - "confidence": 0.68, - "kind": "observability", - "line": 9, - "path": "service-orders/_indexes/by-domain.md", - "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", - "tags": [ - "governance", - "observability" - ] - }, - { - "confidence": 0.68, - "kind": "observability", - "line": 9, - "path": "service-orders/_indexes/by-platform.md", - "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", - "tags": [ - "governance", - "observability" - ] - }, { "confidence": 0.78, "kind": "openapi", @@ -374368,6 +358052,16 @@ "generation" ] }, + { + "confidence": 0.62, + "kind": "package_script", + "line": null, + "path": "package.json", + "summary": "Script 'report:mcp-administration-artifacts' com intencao 'generation'.", + "tags": [ + "generation" + ] + }, { "confidence": 0.62, "kind": "package_script", @@ -374608,16 +358302,6 @@ "operation" ] }, - { - "confidence": 0.62, - "kind": "package_script", - "line": null, - "path": "package.json", - "summary": "Script 'verify' com intencao 'test'.", - "tags": [ - "test" - ] - }, { "confidence": 0.75, "kind": "readme", @@ -375220,6 +358904,14 @@ "summary": "Arquivo de teste ou especificacao encontrado.", "tags": [] }, + { + "confidence": 0.72, + "kind": "test", + "line": null, + "path": "tests/mcp-administration.test.ts", + "summary": "Arquivo de teste ou especificacao encontrado.", + "tags": [] + }, { "confidence": 0.72, "kind": "test", @@ -376034,9 +359726,9 @@ "path": "package-lock.json" }, { - "bytes_size": 6471, + "bytes_size": 6640, "extension": ".json", - "lines": 56, + "lines": 57, "path": "package.json" }, { @@ -376171,6 +359863,12 @@ "lines": 210, "path": "tests/lockfile-coherence.test.ts" }, + { + "bytes_size": 25395, + "extension": ".ts", + "lines": 599, + "path": "tests/mcp-administration.test.ts" + }, { "bytes_size": 10763, "extension": ".ts", @@ -376735,6 +360433,12 @@ "lines": 33, "path": "scripts/reports/generate-git-sync-governance.ts" }, + { + "bytes_size": 1317, + "extension": ".ts", + "lines": 28, + "path": "scripts/reports/generate-mcp-administration-artifacts.ts" + }, { "bytes_size": 1918, "extension": ".ts", @@ -377024,13 +360728,13 @@ "path": "reports/operational-readiness/git-branch.snapshot.txt" }, { - "bytes_size": 38268, + "bytes_size": 38301, "extension": ".txt", - "lines": 653, + "lines": 654, "path": "reports/operational-readiness/git-status.snapshot.txt" }, { - "bytes_size": 44241, + "bytes_size": 44275, "extension": ".json", "lines": 169, "path": "reports/operational-readiness/git-sync-governance.json" @@ -377053,6 +360757,66 @@ "lines": 32, "path": "reports/operational-readiness/lockfile-coherence.md" }, + { + "bytes_size": 3023, + "extension": ".json", + "lines": 116, + "path": "reports/operational-readiness/mcp-administration-artifact-index.json" + }, + { + "bytes_size": 897, + "extension": ".md", + "lines": 16, + "path": "reports/operational-readiness/mcp-administration-artifact-receipt.md" + }, + { + "bytes_size": 1111301, + "extension": ".json", + "lines": 0, + "path": "reports/operational-readiness/mcp-administration-contracts.json" + }, + { + "bytes_size": 12478, + "extension": ".md", + "lines": 184, + "path": "reports/operational-readiness/mcp-administration-contracts.md" + }, + { + "bytes_size": 124472, + "extension": ".json", + "lines": 2947, + "path": "reports/operational-readiness/mcp-administration-readiness.json" + }, + { + "bytes_size": 53801, + "extension": ".md", + "lines": 398, + "path": "reports/operational-readiness/mcp-administration-readiness.md" + }, + { + "bytes_size": 127411, + "extension": ".json", + "lines": 2300, + "path": "reports/operational-readiness/mcp-administration-roadmap.json" + }, + { + "bytes_size": 74098, + "extension": ".md", + "lines": 1081, + "path": "reports/operational-readiness/mcp-administration-roadmap.md" + }, + { + "bytes_size": 41771, + "extension": ".json", + "lines": 1130, + "path": "reports/operational-readiness/mcp-transit-ledger.json" + }, + { + "bytes_size": 7090, + "extension": ".md", + "lines": 93, + "path": "reports/operational-readiness/mcp-transit-ledger.md" + }, { "bytes_size": 6020, "extension": ".json", @@ -377078,27 +360842,27 @@ "path": "reports/operational-readiness/platform-promotion-plan.md" }, { - "bytes_size": 1228083, + "bytes_size": 1228951, "extension": ".json", "lines": 0, "path": "reports/operational-readiness/release-execution-manifest.json" }, { - "bytes_size": 187860, + "bytes_size": 187974, "extension": ".md", - "lines": 1055, + "lines": 1056, "path": "reports/operational-readiness/release-execution-manifest.md" }, { - "bytes_size": 393713, + "bytes_size": 394186, "extension": ".json", - "lines": 10722, + "lines": 10738, "path": "reports/operational-readiness/release-lots.json" }, { - "bytes_size": 46391, + "bytes_size": 46438, "extension": ".md", - "lines": 737, + "lines": 738, "path": "reports/operational-readiness/release-lots.md" }, { @@ -377168,15 +360932,15 @@ "path": "reports/operational-readiness/stj-v9-git-rm-cached-count.txt" }, { - "bytes_size": 258957, + "bytes_size": 431914, "extension": ".json", - "lines": 4829, + "lines": 0, "path": "reports/operational-readiness/stj-v9-retention-execution-receipt.json" }, { - "bytes_size": 150900, + "bytes_size": 238379, "extension": ".md", - "lines": 472, + "lines": 763, "path": "reports/operational-readiness/stj-v9-retention-execution-receipt.md" }, { @@ -386972,9 +370736,9 @@ "path": "packages/core-operational-readiness/src/git.ts" }, { - "bytes_size": 994, + "bytes_size": 1442, "extension": ".ts", - "lines": 24, + "lines": 33, "path": "packages/core-operational-readiness/src/index.ts" }, { @@ -386984,17 +370748,23 @@ "path": "packages/core-operational-readiness/src/lockfile-coherence.ts" }, { - "bytes_size": 38624, + "bytes_size": 39099, "extension": ".ts", - "lines": 628, + "lines": 631, "path": "packages/core-operational-readiness/src/mcp-administration-catalog.ts" }, { - "bytes_size": 28860, + "bytes_size": 28861, "extension": ".ts", "lines": 782, "path": "packages/core-operational-readiness/src/mcp-administration-contracts.ts" }, + { + "bytes_size": 28764, + "extension": ".ts", + "lines": 930, + "path": "packages/core-operational-readiness/src/mcp-administration-fixtures.ts" + }, { "bytes_size": 21301, "extension": ".ts", @@ -387002,7 +370772,7 @@ "path": "packages/core-operational-readiness/src/mcp-administration-ledger.ts" }, { - "bytes_size": 26466, + "bytes_size": 26498, "extension": ".ts", "lines": 681, "path": "packages/core-operational-readiness/src/mcp-administration-policy.ts" @@ -387013,6 +370783,18 @@ "lines": 395, "path": "packages/core-operational-readiness/src/mcp-administration-readiness.ts" }, + { + "bytes_size": 17657, + "extension": ".ts", + "lines": 468, + "path": "packages/core-operational-readiness/src/mcp-administration-roadmap.ts" + }, + { + "bytes_size": 8091, + "extension": ".ts", + "lines": 266, + "path": "packages/core-operational-readiness/src/mcp-administration-serialization.ts" + }, { "bytes_size": 11326, "extension": ".ts", @@ -387080,9 +370862,9 @@ "path": "packages/core-operational-readiness/src/service-order-closure.ts" }, { - "bytes_size": 17909, + "bytes_size": 18899, "extension": ".ts", - "lines": 515, + "lines": 539, "path": "packages/core-operational-readiness/src/stj-retention-executor.ts" }, { @@ -389190,7 +372972,7 @@ "readme_excerpt": "# Tudo Para IA Platform Base\n\nBase oficial de derivacao, governanca, serializacao e operacao das plataformas do ecossistema Tudo Para IA. Execute `npm run verify` antes de abrir ou sincronizar uma derivada relevante.\n\n## Blocos obrigatorios\n\n- docs, architecture, standards e governance\n- service-orders, serialization, memory e audits\n- app-shell, packages compartilhados, contracts e schemas\n- scripts, tools, tests, qa, observability, ops, deployment e security", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-platform-base", - "scanned_at": "2026-04-30T10:32:22+00:00", + "scanned_at": "2026-04-30T11:32:58+00:00", "scripts": [ { "command": "tsc --noEmit -p tsconfig.build.json", @@ -389282,6 +373064,12 @@ "name": "report:git-sync-governance", "source_file": "package.json" }, + { + "command": "node scripts/tooling/run-tsx.mjs scripts/reports/generate-mcp-administration-artifacts.ts", + "intent": "generation", + "name": "report:mcp-administration-artifacts", + "source_file": "package.json" + }, { "command": "node scripts/tooling/run-tsx.mjs scripts/reports/generate-no-deploy-closeout-model.ts", "intent": "deploy", @@ -389373,7 +373161,7 @@ "source_file": "package.json" }, { - "command": "node scripts/tooling/run-tsx.mjs --test tests/foundation.test.ts tests/app-shell.test.ts tests/core-config.test.ts tests/serialization.test.ts tests/scaffold.test.ts tests/sync-anchors.test.ts tests/structure/repository-structure.spec.ts tests/structure/template-integrity.spec.ts tests/contract/contracts.spec.ts tests/contract/diagnostics.contract.spec.ts tests/smoke/platform-shell.smoke.spec.ts tests/final-battery/institutional-battery.test.ts tests/operational-readiness.test.ts tests/release-governance.test.ts tests/verify-evidence.test.ts tests/git-evidence.test.ts tests/verify-command-policy.test.ts tests/lockfile-coherence.test.ts tests/workspace-hygiene.test.ts tests/round-readiness.test.ts tests/service-order-closure.test.ts tests/coverage-baseline.test.ts tests/contract-governance.test.ts tests/round-governance.test.ts tests/git-sync-governance.test.ts tests/external-retention-governance.test.ts tests/round-closeout-evidence.test.ts tests/retention-executor-and-adoption.test.ts tests/round-execution-ledger.test.ts", + "command": "node scripts/tooling/run-tsx.mjs --test tests/foundation.test.ts tests/app-shell.test.ts tests/core-config.test.ts tests/serialization.test.ts tests/scaffold.test.ts tests/sync-anchors.test.ts tests/structure/repository-structure.spec.ts tests/structure/template-integrity.spec.ts tests/contract/contracts.spec.ts tests/contract/diagnostics.contract.spec.ts tests/smoke/platform-shell.smoke.spec.ts tests/final-battery/institutional-battery.test.ts tests/operational-readiness.test.ts tests/release-governance.test.ts tests/verify-evidence.test.ts tests/git-evidence.test.ts tests/verify-command-policy.test.ts tests/lockfile-coherence.test.ts tests/workspace-hygiene.test.ts tests/round-readiness.test.ts tests/service-order-closure.test.ts tests/coverage-baseline.test.ts tests/contract-governance.test.ts tests/round-governance.test.ts tests/git-sync-governance.test.ts tests/external-retention-governance.test.ts tests/round-closeout-evidence.test.ts tests/retention-executor-and-adoption.test.ts tests/round-execution-ledger.test.ts tests/mcp-administration.test.ts", "intent": "test", "name": "test", "source_file": "package.json" @@ -389494,6 +373282,14 @@ "summary": "Configuracao operacional encontrada.", "tags": [] }, + { + "confidence": 0.65, + "kind": "config", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0051_EXECUTIVA__executar-pages-deploy-com-wrangler-486-em-host-aprovado.md", + "summary": "Configuracao operacional encontrada.", + "tags": [] + }, { "confidence": 0.65, "kind": "config", @@ -390150,7 +373946,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 206, + "line": 209, "path": "apps/public-site/tests/release-control.test.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -390161,7 +373957,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 368, + "line": 371, "path": "apps/public-site/tests/release-control.test.mjs", "summary": "Texto menciona 'audit', sinalizando capacidade humana ou operacional.", "tags": [ @@ -390260,7 +374056,7 @@ { "confidence": 0.68, "kind": "observability", - "line": 255, + "line": 267, "path": "apps/public-site/src/evidence-control.mjs", "summary": "Texto menciona 'health', sinalizando capacidade humana ou operacional.", "tags": [ @@ -391295,7 +375091,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 1252, + "line": 1256, "path": "apps/public-site/src/mcp-contract.mjs", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -391358,6 +375154,46 @@ "summary": "Possivel superficie visual encontrada.", "tags": [] }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0043_GERENCIAL__pactuar-ui-platform-consumer-public-contract-0-7.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0046_EXECUTIVA__executar-pages-deploy-em-host-com-esbuild-e-cache-liberados.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0048_GERENCIAL__pactuar-mutacao-mcp-central-e-consumo-ui-contract.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0052_EXECUTIVA__substituir-canonical-local-por-dominio-publico-e-verificar-522.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, + { + "confidence": 0.55, + "kind": "ui_surface", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0053_EXECUTIVA__aplicar-registro-mcp-central-com-ui-consumer-readback.md", + "summary": "Possivel superficie visual encontrada.", + "tags": [] + }, { "confidence": 0.55, "kind": "ui_surface", @@ -391369,7 +375205,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 1866, + "line": 1989, "path": "apps/public-site/contracts/public-mcp-ready.contract.json", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -391379,7 +375215,7 @@ { "confidence": 0.78, "kind": "ui_surface", - "line": 534, + "line": 569, "path": "apps/public-site/contracts/public-mcp-ready.summary.json", "summary": "Texto menciona 'panelready', sinalizando capacidade humana ou operacional.", "tags": [ @@ -391582,46 +375418,6 @@ "summary": "Possivel superficie visual encontrada.", "tags": [] }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/zh-cn/guides/sidebar.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/zh-cn/guides/site-search.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/ru/guides/authoring-content.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/ru/guides/css-and-tailwind.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, - { - "confidence": 0.55, - "kind": "ui_surface", - "line": null, - "path": "_paradigmas/astro-starlight/docs/src/content/docs/ru/guides/customization.mdx", - "summary": "Possivel superficie visual encontrada.", - "tags": [] - }, { "confidence": 0.55, "kind": "unknown", @@ -391792,6 +375588,46 @@ "support" ] }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 113, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-CLOSURE__2026-04-30.json", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 82, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-EVIDENCE__2026-04-30.json", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 175, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-EVIDENCE__2026-04-30.json", + "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 88, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-SEMANTIC__2026-04-30.json", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, { "confidence": 0.55, "kind": "unknown", @@ -391892,6 +375728,36 @@ "support" ] }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0042_GERENCIAL__aprovar-dominio-publico-slo-alertas-e-rollback.md", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 22, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais/AVALIACAO-GERENCIAL-DA-PLATAFORMA__2026-04-30__public-platform-current-control.md", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, + { + "confidence": 0.55, + "kind": "unknown", + "line": 28, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0047_GERENCIAL__decidir-dominio-publico-e-politica-pagesdev-rollback.md", + "summary": "Texto menciona 'incident', sinalizando capacidade humana ou operacional.", + "tags": [ + "support" + ] + }, { "confidence": 0.55, "kind": "unknown", @@ -391952,76 +375818,6 @@ "support" ] }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 17, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/collection.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 214, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/head.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 7, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/i18n.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 91, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/plugins.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 149, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/user-config.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 31, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/routing/index.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, - { - "confidence": 0.55, - "kind": "unknown", - "line": 48, - "path": "_paradigmas/astro-starlight/packages/starlight/utils/routing/types.ts", - "summary": "Texto menciona 'support', sinalizando capacidade humana ou operacional.", - "tags": [ - "support" - ] - }, { "confidence": 0.6, "kind": "worker", @@ -392038,6 +375834,14 @@ "summary": "Indicador de Worker ou Cloudflare encontrado.", "tags": [] }, + { + "confidence": 0.6, + "kind": "worker", + "line": null, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0041_GERENCIAL__homologar-runner-cloudflare-pages-com-esbuild-e-cache.md", + "summary": "Indicador de Worker ou Cloudflare encontrado.", + "tags": [] + }, { "confidence": 0.6, "kind": "worker", @@ -392112,9 +375916,9 @@ "path": "apps/public-site/tests/public-site.test.mjs" }, { - "bytes_size": 17082, + "bytes_size": 17105, "extension": ".mjs", - "lines": 458, + "lines": 461, "path": "apps/public-site/tests/release-control.test.mjs" }, { @@ -392148,9 +375952,9 @@ "path": "apps/public-site/src/current-round.mjs" }, { - "bytes_size": 23652, + "bytes_size": 24117, "extension": ".mjs", - "lines": 645, + "lines": 657, "path": "apps/public-site/src/evidence-control.mjs" }, { @@ -392172,9 +375976,9 @@ "path": "apps/public-site/src/leads.mjs" }, { - "bytes_size": 50914, + "bytes_size": 51007, "extension": ".mjs", - "lines": 1300, + "lines": 1304, "path": "apps/public-site/src/mcp-contract.mjs" }, { @@ -392381,6 +376185,42 @@ "lines": 575, "path": "apps/public-site/reports/ORDER-PACKAGE__2026-04-29__round-4.json" }, + { + "bytes_size": 13564, + "extension": ".json", + "lines": 325, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-CLOSURE__2026-04-30.json" + }, + { + "bytes_size": 840382, + "extension": ".json", + "lines": 0, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-CONTROL__2026-04-30.json" + }, + { + "bytes_size": 11516, + "extension": ".json", + "lines": 305, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-EVIDENCE__2026-04-30.json" + }, + { + "bytes_size": 950019, + "extension": ".json", + "lines": 0, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-REPORT__2026-04-30.json" + }, + { + "bytes_size": 1197, + "extension": ".json", + "lines": 32, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-RUNTIME-POLICY__2026-04-30.json" + }, + { + "bytes_size": 65026, + "extension": ".json", + "lines": 581, + "path": "apps/public-site/reports/PUBLIC-PLATFORM-CURRENT-SEMANTIC__2026-04-30.json" + }, { "bytes_size": 13754, "extension": ".json", @@ -392687,6 +376527,186 @@ "lines": 29, "path": "apps/public-site/reports/central-closeout__2026-04-30/audit/AUDITORIA-GPT__2026-04-30__public-platform-promotion-control.md" }, + { + "bytes_size": 684, + "extension": ".md", + "lines": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/status/STATUS__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 4365, + "extension": ".md", + "lines": 65, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/EXECUCAO__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 1175, + "extension": ".md", + "lines": 25, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/PENDENCIAS-CODEX__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 2313, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0041_GERENCIAL__homologar-runner-cloudflare-pages-com-esbuild-e-cache.md" + }, + { + "bytes_size": 2221, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0042_GERENCIAL__aprovar-dominio-publico-slo-alertas-e-rollback.md" + }, + { + "bytes_size": 2260, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0043_GERENCIAL__pactuar-ui-platform-consumer-public-contract-0-7.md" + }, + { + "bytes_size": 2258, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0044_GERENCIAL__governar-docs-peer-sourcehash-frequencia-e-conflitos.md" + }, + { + "bytes_size": 2230, + "extension": ".md", + "lines": 73, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais-executadas/0045_GERENCIAL__homologar-retencao-purge-suporte-public-leads.md" + }, + { + "bytes_size": 1255, + "extension": ".md", + "lines": 28, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/gerenciais/AVALIACAO-GERENCIAL-DA-PLATAFORMA__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 2458, + "extension": ".md", + "lines": 76, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0046_EXECUTIVA__executar-pages-deploy-em-host-com-esbuild-e-cache-liberados.md" + }, + { + "bytes_size": 2352, + "extension": ".md", + "lines": 74, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0047_EXECUTIVA__aplicar-dominio-https-final-e-validar-canonical-smoke.md" + }, + { + "bytes_size": 2409, + "extension": ".md", + "lines": 74, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0048_EXECUTIVA__aplicar-mutacao-mcp-central-com-snapshot-readback-e-rollback.md" + }, + { + "bytes_size": 2389, + "extension": ".md", + "lines": 74, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0049_EXECUTIVA__obter-manifesto-docs-platform-e-promover-sourcehash-synced.md" + }, + { + "bytes_size": 2419, + "extension": ".md", + "lines": 75, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/reports/executivas-executadas/0050_EXECUTIVA__registrar-aceite-lead-handoff-e-publicar-evidencia-sem-pii.md" + }, + { + "bytes_size": 1831, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0046_GERENCIAL__homologar-runtime-pages-deploy-externo-com-slo-de-upload.md" + }, + { + "bytes_size": 1795, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0047_GERENCIAL__decidir-dominio-publico-e-politica-pagesdev-rollback.md" + }, + { + "bytes_size": 1805, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0048_GERENCIAL__pactuar-mutacao-mcp-central-e-consumo-ui-contract.md" + }, + { + "bytes_size": 1792, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0049_GERENCIAL__pactuar-docs-platform-manifesto-peer-public-platform.md" + }, + { + "bytes_size": 1759, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/gerenciais/0050_GERENCIAL__aprovar-retencao-purge-suporte-leads-publicos.md" + }, + { + "bytes_size": 1807, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0051_EXECUTIVA__executar-pages-deploy-com-wrangler-486-em-host-aprovado.md" + }, + { + "bytes_size": 1835, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0052_EXECUTIVA__substituir-canonical-local-por-dominio-publico-e-verificar-522.md" + }, + { + "bytes_size": 1812, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0053_EXECUTIVA__aplicar-registro-mcp-central-com-ui-consumer-readback.md" + }, + { + "bytes_size": 1801, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0054_EXECUTIVA__reconciliar-manifesto-docs-peer-e-public-docs-sourcehash.md" + }, + { + "bytes_size": 1845, + "extension": ".md", + "lines": 48, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/orders/executivas/0055_EXECUTIVA__homologar-aceites-lead-handoff-com-business-compliance-customerops.md" + }, + { + "bytes_size": 2328, + "extension": ".md", + "lines": 31, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/indexes/INDEX__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 2328, + "extension": ".md", + "lines": 31, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/indexes/ordens-executivas-index.md" + }, + { + "bytes_size": 2328, + "extension": ".md", + "lines": 31, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/indexes/ordens-gerenciais-index.md" + }, + { + "bytes_size": 684, + "extension": ".md", + "lines": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/current/current-project-state.md" + }, + { + "bytes_size": 684, + "extension": ".md", + "lines": 15, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/current/CURRENT__2026-04-30__public-platform-current-control.md" + }, + { + "bytes_size": 1032, + "extension": ".md", + "lines": 30, + "path": "apps/public-site/reports/central-closeout-current__2026-04-30/audit/AUDITORIA-GPT__2026-04-30__public-platform-current-control.md" + }, { "bytes_size": 80, "extension": ".txt", @@ -392730,15 +376750,15 @@ "path": "apps/public-site/contracts/public-docs.version.json" }, { - "bytes_size": 51210, + "bytes_size": 54306, "extension": ".json", - "lines": 1951, + "lines": 2074, "path": "apps/public-site/contracts/public-mcp-ready.contract.json" }, { - "bytes_size": 15253, + "bytes_size": 15987, "extension": ".json", - "lines": 650, + "lines": 685, "path": "apps/public-site/contracts/public-mcp-ready.summary.json" }, { @@ -397379,7 +381399,7 @@ "readme_excerpt": "# Tudo Para IA Public Platform\n\nPublic Platform is the public entrance for the Tudo Para IA ecosystem. It is Cloudflare-first and MCP-ready locally, with a public site, institutional pages, product pages, public documentation, a D1-ready lead form, public status, SEO checks, trace/audit identifiers, and a local catalog of public tools.\n\n## Layout\n\n- `_paradigmas/astro-starlight`: full upstream Astro Starlight source archive expanded as the chosen public/docs paradigm.\n- `apps/public-site`: Cloudflare Pages application with static pages and Pages Functions API/BFF.\n- `apps/public-site/contracts/public-mcp-ready.contract.json`: local MCP-ready contract.\n- `apps/public-site/contracts/public-mcp-ready.summary.json`: compact contract summary for GPT, UI and operational audits.\n- `apps/public-site/contracts/public-docs.version.json`: public docs source manifest for Docs Platform reconciliation.\n- `apps/public-site/migrations/0001_public_leads.sql`: D1 schema for public lead persistence.\n- `apps/public-site/docs/cloudflare-provisioning.md`: checklist for real Cloudflare resources and production readiness.\n\n## Public API\n\n- `/api/health`\n- `/api/profile`\n- `/api/readiness`\n- `/api/maturity`\n- `/api/contract`\n- `/api/contract/summary`\n- `/api/docs/version`\n- `/api/mcp/registration`\n- `/api/mcp/execute`\n\n## Commands\n\n```powershell\nnpm run build\nnpm test\nnpm run mcp:smoke\nnpm run readiness:audit\nnpm run verify\n```\n\nThe first version has no mandatory runtime dependency on Linux and does not change the central MCP.\n\nFor production, bind real Cloudflare KV, D1, R2 and Queue resources in `apps/public-site/wrangler.toml`, set `PUBLIC_CANONICAL_ORIGIN` to the final public domain, apply the D1 migration, reconcile MCP central and Docs Platform, run `npm run readiness:audit`, and then re-run `npm run verify`.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-public-platform", - "scanned_at": "2026-04-30T10:32:24+00:00", + "scanned_at": "2026-04-30T11:33:08+00:00", "scripts": [ { "command": "npm --workspace apps/public-site run build", @@ -420881,7 +404901,7 @@ "readme_excerpt": "# ia-stj-platform\n\nRepositório novo e independente para a nova arquitetura IA+STJ.\n\n## Decisão desta rodada\n\n- `busca-ami-ia` e `busca-ami-android` permanecem legados históricos.\n- o desenvolvimento estrutural novo começa neste repositório.\n- a execução foi concluída nas três frentes exigidas: `busca-ami-ia`, `busca-ami-android` técnico e `busca-ami-android` visual.\n\n## Estrutura criada\n\n- `apps/ia-stj-busca`\n- `apps/ia-stj-auth`\n- `apps/ia-stj-persistencia`\n- `apps/ia-stj-gateway-core`\n- `apps/ia-stj-gateway-gpt`\n- `apps/ia-stj-gateway-pwa`\n- `apps/ia-stj-pwa`\n- `apps/ia-stj-workspace`\n- `apps/ia-stj-gateway-admin`\n- `apps/ia-stj-admin`\n- `apps/ia-stj-content-delivery`\n- `apps/ia-stj-cross-channel`\n- `apps/ia-stj-collaboration`\n- `apps/ia-stj-recommendation`\n- `apps/ia-stj-trust`\n- `apps/ia-stj-operations`\n- `apps/ia-stj-architecture-governance`\n- `packages/shared-types`\n- `packages/shared-links`\n- `packages/shared-openapi`\n- `packages/shared-utils`\n- `packages/shared-text`\n- `packages/shared-dates`\n- `packages/shared-legacy`\n- `packages/shared-admin-types`\n- `packages/shared-admin-openapi`\n- `packages/shared-admin-text`\n- `packages/shared-admin-utils`\n- `packages/shared-content-types`\n- `packages/shared-content-openapi`\n- `packages/shared-content-utils`\n- `packages/shared-cross-channel-types`\n- `packages/shared-cross-channel-utils`\n- `packages/shared-architecture-types`\n- `packages/shared-architecture-rules`\n- `packages/shared-architecture-utils`\n- `docs`\n- `scripts`\n- `infra`\n\n## Situação atual\n\n- `ia-stj-busca` responde `health`, `capabilities`, `relators`, `search`, `search/espelho`, `search/integra` e a família completa `semantic-response`.\n- `ia-stj-persistencia` cobre gravação, recuperação, status, expiração, purge e delete por `responseId`.\n- `ia-stj-auth` centraliza vínculo de identidades, política de sessão, revogação administrativa e avaliação de step-up.\n- `ia-stj-gateway-core` normaliza o payload comum e preserva o original.\n- `ia-stj-gateway-gpt` expõe contrato e OpenAPI próprios para GPT.\n- `ia-stj-gateway-mcp` expõe health, profile, catalogo em camadas, OpenAPI e execução gerencial protegida para consumo pelo MCP central.\n- `ia-stj-gateway-pwa` expõe view model próprio para a aplicação visual.\n- `ia-stj-pwa` entrega shell responsiva, reabertura por `responseId`, exportação JSON e DOCX e estado básico após F5.\n- `ia-stj-workspace` concentra memória de trabalho, alertas e vínculo com dossiês.\n- `ia-stj-content-delivery` entrega leitura integral, navegação, comparação e retomada.\n- `ia-stj-cross-channel` concentra handoff, restauração e sincronização multicanal.\n- `ia-stj-gateway-admin` e `ia-stj-admin` formam o produto interno da empresa operadora.\n- `ia-stj-collaboration`, `ia-stj-recommendation`, `ia-stj-trust` e `ia-stj-operations` materializam os domínios residuais do escopo até 0091.\n- a conta alvo da plataforma nova é a Cloudflare `8dd48b8e7c2757b178283ce19872482d`.\n\n## Fundação definitiva\n\n- `docs/paridade-legado-nova-arquitetura.md` centraliza a paridade entre legados e apps novos.\n- `docs/topologia-cloudflare-oficial.md` centraliza workers, bindings, vars e recursos reais da conta `PARA-IA`.\n- `docs/politica-desligamento-legados.md` fixa o que ainda é referência histórica e o que não pode mais ser usado em runtime.\n- `packages/shared-types/src/platform-topology.ts` e `packages/shared-utils/src/platform-topology.ts` concentram o contrato oficial da topologia.\n- `packages/shared-types/src/auth/` e `packages/shared-utils/src/auth/` concentram o contrato e a política oficial de identidade, sessão e step-up.\n\n## Smoke tests por app\n\n- comando único: `npm run test:smoke`\n- diretórios mínimos:\n - `tests/smoke/ia-stj-busca`\n - `tests/smoke/ia-stj-persistencia`\n - `tests/smoke/ia-stj-gateway-core`\n - `tests/smoke/ia-stj-gateway-gpt`\n - `tests/smoke/ia-stj-gateway-pwa`\n - `tests/smoke/ia-stj-pwa`\n\n## Integração por domínio\n\n- `tests/integration/auth`\n- `tests/integration/workspace`\n- `tests/integration/admi", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-stj-platform", - "scanned_at": "2026-04-30T10:32:26+00:00", + "scanned_at": "2026-04-30T11:33:36+00:00", "scripts": [ { "command": "node ./node_modules/typescript/lib/tsc.js -p tsconfig.build.json", @@ -474837,7 +458857,7 @@ "readme_excerpt": "# tudo-para-ia-ui-platform\n\nPlataforma visual institucional do ecossistema Tudo Para IA.\n\nEsta base concentra design tokens, componentes, layouts, telas-base, PWA e contrato MCP-ready local. Ela nao decide regra de negocio: apenas exibe, organiza, padroniza e envia intencoes para APIs/MCPs externos.\n\n## Paradigma principal\n\nO paradigma principal absorvido e shadcn/ui, clonado integralmente em `_paradigmas/shadcn-ui`. A versao Tudo Para IA usa a filosofia de ownership local, tokens semanticos, acessibilidade por padrao e composicao Cloudflare-first.\n\n## Execucao local\n\n- `npm run generate:contract`: regenera o snapshot estatico a partir do contrato vivo.\n- `npm test`: valida catalogo, tokens, telas e contrato MCP-ready.\n- `npm run mcp:smoke`: executa smoke local no formato de tools.\n- `npm run release:manifest`: gera manifest auditavel do snapshot, hashes e evidencias locais.\n- `npm run cloudflare:preview-plan`: gera plano local de preview/promocao/rollback sem deploy e sem segredo.\n- `npm run verify`: regenera snapshot, executa testes e smoke MCP local.\n- `npm run browser:validate`: valida o app estatico em browser headless quando Chrome/Edge estiver disponivel e grava evidencia em `reports`.\n\n## Contrato visual\n\nO contrato vivo fica em `packages/design-system/src/index.mjs` e pode ser consumido em `full`, `summary` ou `scope`. Consultas por escopo aceitam `limit`, `cursor` e `page`, retornando `pagination.count`, `pagination.total` e `pagination.nextCursor`.\n\nA politica de versionamento, compatibilidade e migracao esta em `docs/visual-contract-versioning.md`. O snapshot publicado em `apps/ui-platform/src/contract-data.js` deve ser regenerado com `npm run generate:contract` antes de release.\n\n## Gettys Overview\n\nA tela externa `gettys-overview` pode ser consumida pela UI Platform sem backend paralelo usando o template `templates/gettys-overview.json`. A fonte oficial e o endpoint publicado da Gettys:\n\n- provider MCP central: `gettys`\n- sourceToolId: `gettys.admin.screen.overview`\n- sourceEndpoint: `https://tudo-para-ia-gettys-platform.ami-app.workers.dev/v1/admin/screens/gettys-overview`\n- regra: `panelReady=true`, `sameSource=true`, `mutationAllowed=false`\n\n## Cloudflare-first\n\nO app em `apps/ui-platform` e estatico/PWA e pode ser publicado em Cloudflare Pages. O Worker BFF visual e opcional e fica preparado para KV, D1, R2 e Queues sem obrigar Linux, Docker ou banco pesado.\n\nO procedimento material de preview, promocao e rollback esta em `docs/cloudflare-pages-preview-rollback.md`.", "remote_origin": null, "repo_path": "G:\\_codex-git\\tudo-para-ia-ui-platform", - "scanned_at": "2026-04-30T10:32:37+00:00", + "scanned_at": "2026-04-30T11:34:53+00:00", "scripts": [ { "command": "node scripts/validate-static-app-browser.mjs", diff --git a/dados/snapshot-governanca-atual.json b/dados/snapshot-governanca-atual.json index d7989b5..2ac6063 100644 --- a/dados/snapshot-governanca-atual.json +++ b/dados/snapshot-governanca-atual.json @@ -1,6 +1,6 @@ { "average_governance_score": 81, - "generated_at": "2026-04-30T10:32:51+00:00", + "generated_at": "2026-04-30T11:35:08+00:00", "platforms": [ { "blocker_count": 0, diff --git a/ecossistema/AUDITORIA-LIFECYCLE-ORDENS.md b/ecossistema/AUDITORIA-LIFECYCLE-ORDENS.md index 368f25b..0d0bc61 100644 --- a/ecossistema/AUDITORIA-LIFECYCLE-ORDENS.md +++ b/ecossistema/AUDITORIA-LIFECYCLE-ORDENS.md @@ -2,20 +2,20 @@ ## Confirmado -- Ordens descobertas na pasta indicada: `32` +- Ordens descobertas na pasta indicada: `42` - Ordens concluidas: `9` -- Ordens parciais: `17` -- Ordens bloqueadas: `6` +- Ordens parciais: `22` +- Ordens bloqueadas: `11` - Ordens/candidatas ativas apos rodada: `30` ## Minimos -- `executive-cycle`: `met` (15/5) -- `managerial-cycle`: `met` (17/5) +- `executive-cycle`: `met` (20/5) +- `managerial-cycle`: `met` (22/5) - `executive-output`: `met` (39/5) - `managerial-output`: `met` (26/5) -- `reading-minimum`: `met` (4854311/10000) -- `production-minimum`: `met` (16675/5500) +- `reading-minimum`: `met` (4764213/10000) +- `production-minimum`: `met` (18302/5500) ## Evidencias por decisao @@ -35,11 +35,11 @@ - `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. -- `packages/shared-integration-catalog/src/commercial-readiness-policy.ts:177` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. ### 0003_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos @@ -90,11 +90,11 @@ - `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. -- `packages/shared-integration-catalog/src/commercial-readiness-policy.ts:177` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. ### 0008_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos @@ -145,11 +145,11 @@ - `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. -- `packages/shared-integration-catalog/src/commercial-readiness-policy.ts:177` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. ### 0013_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos @@ -184,16 +184,57 @@ - `reports/COMPLIANCE__CONTRATO-MCP-READY__2026-04-27_234645.md:1` - Texto menciona 'mcp', sinalizando capacidade humana ou operacional. - `docs/contracts/data-classification.md:11` - Texto menciona 'mcp', sinalizando capacidade humana ou operacional. +### 0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana + +- `G:/_codex-git/tudo-para-ia-public-platform` - Ausencia ou sinal negativo inferido pelo check de governanca. +- `apps/public-site/src/mcp-contract.mjs` - Possivel tool ou superficie MCP encontrada. +- `apps/public-site/src/mcp-contract.mjs:8` - Texto menciona 'mcp', sinalizando capacidade humana ou operacional. +- `apps/public-site/src/mcp-contract.mjs:16` - Texto menciona 'audit', sinalizando capacidade humana ou operacional. +- `apps/public-site/src/mcp-contract.mjs:93` - Texto menciona 'health', sinalizando capacidade humana ou operacional. +- `apps/public-site/src/mcp-contract.mjs:113` - Texto menciona 'readiness', sinalizando capacidade humana ou operacional. +- `apps/public-site/src/mcp-contract.mjs` - Rota ou chamada HTTP detectada: /produtos/ia-stj/ +- `apps/public-site/src/mcp-contract.mjs:1256` - Texto menciona 'panelready', sinalizando capacidade humana ou operacional. + +### 0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo + +- `scripts/round/materialize-docs-foundation.ts:458` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `docs/platforms/tudo-para-ia-integracoes-plataform/dajuds-business-planos-e-metricas.md:12` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `docs/platforms/tudo-para-ia-integracoes-plataform/dajuds-caminho-producao.md:8` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `docs/platforms/tudo-para-ia-integracoes-plataform/dajuds-monitoramento-processual.md:10` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `docs/platforms/tudo-para-ia-integracoes-plataform/integracoes-whatsapp-para-ia-comercial-piloto.md:9` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `docs/platforms/tudo-para-ia-integracoes-plataform/integracoes-whatsapp-para-ia-visao-geral.md:19` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `docs/platforms/tudo-para-ia-identity-platform/identity-platform-collector-interno.md:32` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `docs/platforms/tudo-para-ia-identity-platform/identity-platform-contexto-gpt-mcp.md:30` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. + +### 0018_EXECUTIVA__classificar-truthstate-e-sourcehash-em-todas-as-plataformas + +- `ecosystem` - Plataforma nao encontrada no portfolio de governanca. + +### 0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos + +- `ecosystem` - Plataforma nao encontrada no portfolio de governanca. + +### 0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook + +- `G:/_codex-git/tudo-para-ia-ui-platform` - Ausencia ou sinal negativo inferido pelo check de governanca. +- `reports/latest-visual-contract-docs-summary.json:211` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `scripts/generate-static-contract.mjs:5` - Texto menciona 'mcp', sinalizando capacidade humana ou operacional. +- `package.json` - Script 'docs:contract:summary' com intencao 'generation'. +- `package.json` - Script 'generate:contract' com intencao 'generation'. +- `reports/latest-visual-contract-docs-summary.json` - Arquivo de teste ou especificacao encontrado. +- `scripts/generate-static-contract.mjs:26` - Texto menciona 'screen', sinalizando capacidade humana ou operacional. +- `apps/ui-platform/src/contract-data.js:1125` - Texto menciona 'support', sinalizando capacidade humana ou operacional. + ### 0011_GERENCIAL__fundacao-da-plataforma - `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. -- `packages/shared-integration-catalog/src/commercial-readiness-policy.ts:177` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. ### 0012_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos @@ -211,11 +252,11 @@ - `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. -- `packages/shared-integration-catalog/src/commercial-readiness-policy.ts:177` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. ### 0014_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos @@ -266,11 +307,11 @@ - `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. -- `packages/shared-integration-catalog/src/commercial-readiness-policy.ts:177` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. ### 0019_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos @@ -321,11 +362,11 @@ - `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. - `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. -- `packages/shared-integration-catalog/src/commercial-readiness-policy.ts:177` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. ### 0024_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos @@ -369,4 +410,45 @@ - `apps/public-site/src/mcp-contract.mjs:93` - Texto menciona 'health', sinalizando capacidade humana ou operacional. - `apps/public-site/src/mcp-contract.mjs:113` - Texto menciona 'readiness', sinalizando capacidade humana ou operacional. - `apps/public-site/src/mcp-contract.mjs` - Rota ou chamada HTTP detectada: /produtos/ia-stj/ -- `apps/public-site/src/mcp-contract.mjs:1252` - Texto menciona 'panelready', sinalizando capacidade humana ou operacional. +- `apps/public-site/src/mcp-contract.mjs:1256` - Texto menciona 'panelready', sinalizando capacidade humana ou operacional. + +### 0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform + +- `ecosystem` - Plataforma nao encontrada no portfolio de governanca. + +### 0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo + +- `tests/round-08-operational-closure.test.ts:211` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-09-operational-execution.test.ts:134` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-10-operational-closure.test.ts:118` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/round-11-operational-execution.test.ts:109` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/surface.test.ts:52` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/flows/provider-flow.test.ts:677` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `tests/contracts/catalog-auth-dispatch.test.ts:66` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. +- `scripts/round/materialize-round-10-operational-closure.mjs:395` - Texto menciona 'credentialref', sinalizando capacidade humana ou operacional. + +### 0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano + +- `G:/_codex-git/tudo-para-ia-ui-platform` - Ausencia ou sinal negativo inferido pelo check de governanca. +- `reports/latest-visual-contract-docs-summary.json:211` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `scripts/generate-static-contract.mjs:5` - Texto menciona 'mcp', sinalizando capacidade humana ou operacional. +- `package.json` - Script 'docs:contract:summary' com intencao 'generation'. +- `package.json` - Script 'generate:contract' com intencao 'generation'. +- `reports/latest-visual-contract-docs-summary.json` - Arquivo de teste ou especificacao encontrado. +- `scripts/generate-static-contract.mjs:26` - Texto menciona 'screen', sinalizando capacidade humana ou operacional. +- `apps/ui-platform/src/contract-data.js:1125` - Texto menciona 'support', sinalizando capacidade humana ou operacional. + +### 0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela + +- `G:/_codex-git/tudo-para-ia-ui-platform` - Ausencia ou sinal negativo inferido pelo check de governanca. +- `reports/latest-visual-contract-docs-summary.json:211` - Texto menciona 'entitlement', sinalizando capacidade humana ou operacional. +- `scripts/generate-static-contract.mjs:5` - Texto menciona 'mcp', sinalizando capacidade humana ou operacional. +- `package.json` - Script 'docs:contract:summary' com intencao 'generation'. +- `package.json` - Script 'generate:contract' com intencao 'generation'. +- `reports/latest-visual-contract-docs-summary.json` - Arquivo de teste ou especificacao encontrado. +- `scripts/generate-static-contract.mjs:26` - Texto menciona 'screen', sinalizando capacidade humana ou operacional. +- `apps/ui-platform/src/contract-data.js:1125` - Texto menciona 'support', sinalizando capacidade humana ou operacional. + +### 0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana + +- `ecosystem` - Plataforma nao encontrada no portfolio de governanca. diff --git a/ecossistema/BUDGET-LINHAS-RODADA.md b/ecossistema/BUDGET-LINHAS-RODADA.md index 88b801c..1ed5917 100644 --- a/ecossistema/BUDGET-LINHAS-RODADA.md +++ b/ecossistema/BUDGET-LINHAS-RODADA.md @@ -1,9 +1,9 @@ # Budget de linhas da rodada - Repositorios avaliados: 15 -- Linhas tecnicas totais: 4854311 -- Linhas de codigo totais: 1805620 -- Linhas de codigo do projeto real: 16675 +- Linhas tecnicas totais: 4764213 +- Linhas de codigo totais: 1725461 +- Linhas de codigo do projeto real: 18302 - Minimo de leitura cumprido: True - Minimo de producao no projeto cumprido: True @@ -131,44 +131,44 @@ ### tudo-para-ia-integracoes-plataform - existe: `True` -- arquivos vistos: `2971` -- arquivos contados: `2915` -- linhas codigo: `185970` -- linhas tecnicas: `286656` +- arquivos vistos: `1570` +- arquivos contados: `1514` +- linhas codigo: `99065` +- linhas tecnicas: `182346` - maiores arquivos: - - `.compiled/round10/inventory/round-10-operational-closure.generated.json`: `14278` linhas - - `packages/shared-integration-admin-ops/src/round-11-operational-execution.generated.ts`: `13448` linhas + - `inventory/round-11-operational-execution.generated.json`: `13527` linhas + - `packages/shared-integration-admin-ops/src/round-11-operational-execution.generated.ts`: `13469` linhas - `_legados/whatsapp-qr-session/openapi/waha-public.openapi.yaml`: `10531` linhas - `inventory/admin-contract-registry.generated.json`: `10356` linhas - - `.compiled/inventory/admin-contract-registry.generated.json`: `10354` linhas - `inventory/round-execution-control.generated.json`: `9837` linhas - `packages/shared-integration-admin-ops/src/round-10-operational-closure.generated.ts`: `9056` linhas - - `.compiled/round10/packages/shared-integration-admin-ops/src/round-10-operational-closure.generated.js`: `9035` linhas + - `inventory/legado-mcps-gateway/arquivos-origem.json`: `6744` linhas + - `packages/shared-integration-admin-ops/src/round-10-execution-ledger.generated.ts`: `5057` linhas ### tudo-para-ia-intelligence-platform - existe: `True` -- arquivos vistos: `38` -- arquivos contados: `37` -- linhas codigo: `10880` -- linhas tecnicas: `19210` +- arquivos vistos: `42` +- arquivos contados: `41` +- linhas codigo: `13347` +- linhas tecnicas: `14587` - maiores arquivos: - - `apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json`: `7252` linhas - - `apps/intelligence-worker/src/intelligence-core.js`: `942` linhas + - `apps/intelligence-worker/src/intelligence-core.js`: `1133` linhas - `apps/intelligence-worker/src/cloudflare-operations.js`: `848` linhas - `apps/intelligence-worker/src/release-dossier.js`: `827` linhas - `apps/intelligence-worker/src/ecosystem-governance.js`: `771` linhas + - `apps/intelligence-worker/src/operational-closeout.js`: `766` linhas + - `apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json`: `759` linhas - `apps/intelligence-worker/src/runner-qualification.js`: `693` linhas - `apps/intelligence-worker/src/storage-adapters.js`: `643` linhas - - `apps/intelligence-worker/src/release-governance.js`: `605` linhas ### tudo-para-ia-mais-humana - existe: `True` -- arquivos vistos: `191` -- arquivos contados: `141` -- linhas codigo: `16675` -- linhas tecnicas: `78448` +- arquivos vistos: `195` +- arquivos contados: `145` +- linhas codigo: `18302` +- linhas tecnicas: `80075` - maiores arquivos: - `dados/dossie-operacional-humano.json`: `13956` linhas - `dados/lifecycle-ordens-ativas.json`: `7031` linhas @@ -184,8 +184,8 @@ - existe: `True` - arquivos vistos: `1074` - arquivos contados: `1061` -- linhas codigo: `92632` -- linhas tecnicas: `117869` +- linhas codigo: `92938` +- linhas tecnicas: `118175` - maiores arquivos: - `apps/tudo-para-ia-mcps-central/src/registry/integracoes.ts`: `9447` linhas - `.tmp/order-020-internosmcp.json`: `8494` linhas @@ -199,27 +199,27 @@ ### tudo-para-ia-platform-base - existe: `True` -- arquivos vistos: `4724` -- arquivos contados: `2191` -- linhas codigo: `20226` -- linhas tecnicas: `93429` +- arquivos vistos: `4739` +- arquivos contados: `2206` +- linhas codigo: `22553` +- linhas tecnicas: `107565` - maiores arquivos: - - `reports/operational-readiness/release-lots.json`: `10722` linhas + - `reports/operational-readiness/release-lots.json`: `10738` linhas + - `reports/operational-readiness/stj-v9-retention-execution-receipt.json`: `8063` linhas - `reports/operational-readiness/external-retention-governance.json`: `5828` linhas - - `reports/operational-readiness/stj-v9-retention-execution-receipt.json`: `4829` linhas + - `reports/operational-readiness/mcp-administration-readiness.json`: `2947` linhas + - `reports/operational-readiness/mcp-administration-roadmap.json`: `2300` linhas - `reports/operational-readiness/round-execution-ledger.json`: `1439` linhas - `reports/operational-readiness/test-coverage-floor.json`: `1313` linhas - `packages/core-operational-readiness/src/round-execution-ledger.ts`: `1258` linhas - - `reports/operational-readiness/release-execution-manifest.md`: `1055` linhas - - `packages/core-operational-readiness/src/mcp-administration-contracts.ts`: `782` linhas ### tudo-para-ia-public-platform - existe: `True` -- arquivos vistos: `1146` -- arquivos contados: `848` -- linhas codigo: `55914` -- linhas tecnicas: `222885` +- arquivos vistos: `1182` +- arquivos contados: `884` +- linhas codigo: `55933` +- linhas tecnicas: `225651` - maiores arquivos: - `apps/public-site/src/generated/wrangler-round6-control.generated.mjs`: `13853` linhas - `apps/public-site/reports/PUBLIC-PLATFORM-PROMOTION-REPORT__2026-04-30.json`: `12139` linhas diff --git a/ecossistema/DOSSIE-OPERACIONAL-HUMANO.md b/ecossistema/DOSSIE-OPERACIONAL-HUMANO.md index aa0022f..e859303 100644 --- a/ecossistema/DOSSIE-OPERACIONAL-HUMANO.md +++ b/ecossistema/DOSSIE-OPERACIONAL-HUMANO.md @@ -1,10 +1,10 @@ # Dossie operacional humano da rodada -- round_id: `mais-humana-round-e06cf08823` +- round_id: `mais-humana-round-e972b57f38` - project_id: `tudo-para-ia-mais-humana` -- generated_at: `2026-04-30T10:32:38+00:00` -- linhas de codigo analisadas no ecossistema: `1692464` -- linhas de codigo disponiveis no projeto Mais Humana: `29495` +- generated_at: `2026-04-30T11:34:54+00:00` +- linhas de codigo analisadas no ecossistema: `1611449` +- linhas de codigo disponiveis no projeto Mais Humana: `46405` ## Sumario executivo diff --git a/ecossistema/GOVERNANCA-OPERACIONAL-MAIS-HUMANA.md b/ecossistema/GOVERNANCA-OPERACIONAL-MAIS-HUMANA.md index 7aa9de0..fb31d9c 100644 --- a/ecossistema/GOVERNANCA-OPERACIONAL-MAIS-HUMANA.md +++ b/ecossistema/GOVERNANCA-OPERACIONAL-MAIS-HUMANA.md @@ -1,7 +1,7 @@ # Governanca operacional Mais Humana - project_id: `tudo-para-ia-mais-humana` -- generated_at: `2026-04-30T10:32:39+00:00` +- generated_at: `2026-04-30T11:34:56+00:00` - score_medio: `81` ## Sumario executivo diff --git a/ecossistema/GRAFO-EVIDENCIAS-MAIS-HUMANA.md b/ecossistema/GRAFO-EVIDENCIAS-MAIS-HUMANA.md index f094c06..eb3747a 100644 --- a/ecossistema/GRAFO-EVIDENCIAS-MAIS-HUMANA.md +++ b/ecossistema/GRAFO-EVIDENCIAS-MAIS-HUMANA.md @@ -1,7 +1,7 @@ # Grafo de evidencias Mais Humana -- Nos: 1081 -- Arestas: 1750 +- Nos: 1388 +- Arestas: 2589 - Plataformas: 14 - Checks: 282 - Workflows: 10 @@ -171,163 +171,163 @@ ## Arestas principais -- `platform-business` -> `check-business-business-entitlement` (has_check:business) peso `100` - Sinais de entitlement/plano foram detectados. -- `platform-business` -> `check-business-contract-openapi-or-equivalent` (has_check:contract) peso `100` - Contrato ou schema auditavel foi detectado. -- `platform-business` -> `check-business-data-stale-safe` (has_check:observability) peso `100` - Snapshot/stale-safe foi detectado. -- `platform-business` -> `check-business-documentation-human-readme` (has_check:documentation) peso `100` - README ou documentacao principal foi encontrada. -- `platform-business` -> `check-business-documentation-runbook` (has_check:documentation) peso `100` - Runbook ou playbook operacional foi detectado. -- `platform-business` -> `check-business-identity-actor-scope` (has_check:identity) peso `100` - Ator, organizacao ou escopo aparecem no contrato. -- `platform-business` -> `check-business-identity-rbac-deny` (has_check:identity) peso `100` - Sinais de RBAC e negacao foram detectados. -- `platform-business` -> `check-business-integrations-byok-chain` (has_check:integrations) peso `100` - Cadeia BYOK possui sinais fortes. -- `platform-business` -> `check-business-integrations-provider-stage` (has_check:integrations) peso `100` - Stage por provider foi detectado. -- `platform-business` -> `check-business-observability-audit-trace` (has_check:observability) peso `100` - Trace/audit/evidencia aparecem nos sinais. -- `platform-business` -> `check-business-observability-health-readiness` (has_check:observability) peso `100` - Health/readiness foram detectados. -- `platform-business` -> `check-business-panel-backend-mcp` (has_check:mcp) peso `100` - Ha evidencia de backend MCP ou contrato admin_ui. -- `platform-business` -> `check-business-panel-same-source` (has_check:mcp) peso `100` - Mesma fonte ou hashes de fonte foram detectados. -- `platform-business` -> `check-business-release-gates` (has_check:governance) peso `100` - Gates de release/rollback foram detectados. -- `platform-business` -> `check-business-repository-exists` (has_check:repository) peso `100` - Repositorio local foi encontrado e pode ser analisado. -- `platform-business` -> `check-business-repository-git-traceability` (has_check:repository) peso `100` - Git local foi detectado e possui metadados uteis. -- `platform-business` -> `check-business-support-incident-lifecycle` (has_check:customer_ops) peso `100` - Ciclo de incidente foi detectado. -- `platform-business` -> `check-business-tests-detected` (has_check:tests) peso `100` - Teste ou smoke detectavel foi encontrado. -- `platform-business` -> `check-business-tests-regression` (has_check:tests) peso `100` - Sinais de regressao e snapshot foram encontrados. -- `platform-compliance` -> `check-compliance-contract-version-policy` (has_check:contract) peso `100` - Versionamento de contrato aparece na evidencia. -- `platform-compliance` -> `check-compliance-docs-contract-reconciliation` (has_check:docs) peso `100` - Contrato/documentacao aparece reconciliado. -- `platform-compliance` -> `check-compliance-documentation-human-readme` (has_check:documentation) peso `100` - README ou documentacao principal foi encontrada. -- `platform-compliance` -> `check-compliance-documentation-runbook` (has_check:documentation) peso `100` - Runbook ou playbook operacional foi detectado. -- `platform-compliance` -> `check-compliance-identity-actor-scope` (has_check:identity) peso `100` - Ator, organizacao ou escopo aparecem no contrato. -- `platform-compliance` -> `check-compliance-integrations-credential-redaction` (has_check:security) peso `100` - Sinais de redaction/credentialRef foram detectados. -- `platform-compliance` -> `check-compliance-observability-audit-trace` (has_check:observability) peso `100` - Trace/audit/evidencia aparecem nos sinais. -- `platform-compliance` -> `check-compliance-observability-error-classification` (has_check:observability) peso `100` - Classificacao de erro aparece na evidencia. -- `platform-compliance` -> `check-compliance-observability-health-readiness` (has_check:observability) peso `100` - Health/readiness foram detectados. -- `platform-compliance` -> `check-compliance-release-gates` (has_check:governance) peso `100` - Gates de release/rollback foram detectados. -- `platform-compliance` -> `check-compliance-repository-exists` (has_check:repository) peso `100` - Repositorio local foi encontrado e pode ser analisado. -- `platform-compliance` -> `check-compliance-repository-git-traceability` (has_check:repository) peso `100` - Git local foi detectado e possui metadados uteis. -- `platform-compliance` -> `check-compliance-support-diagnostic-next-action` (has_check:support) peso `100` - Diagnostico ou nextAction foi detectado. -- `platform-compliance` -> `check-compliance-tests-detected` (has_check:tests) peso `100` - Teste ou smoke detectavel foi encontrado. -- `platform-compliance` -> `readiness-compliance-administrador-empresa` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-atendimento-cliente` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-ceo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-cliente-externo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-contador` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-financeiro` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-gestor-operacional` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-juridico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-planejamento-estrategico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-secretaria` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-suporte` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-tecnico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-compliance` -> `readiness-compliance-usuario-final` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `check-customer-ops-contract-openapi-or-equivalent` (has_check:contract) peso `100` - Contrato ou schema auditavel foi detectado. -- `platform-customer-ops` -> `check-customer-ops-documentation-human-readme` (has_check:documentation) peso `100` - README ou documentacao principal foi encontrada. -- `platform-customer-ops` -> `check-customer-ops-identity-actor-scope` (has_check:identity) peso `100` - Ator, organizacao ou escopo aparecem no contrato. -- `platform-customer-ops` -> `check-customer-ops-observability-audit-trace` (has_check:observability) peso `100` - Trace/audit/evidencia aparecem nos sinais. -- `platform-customer-ops` -> `check-customer-ops-observability-health-readiness` (has_check:observability) peso `100` - Health/readiness foram detectados. -- `platform-customer-ops` -> `check-customer-ops-release-gates` (has_check:governance) peso `100` - Gates de release/rollback foram detectados. -- `platform-customer-ops` -> `check-customer-ops-repository-exists` (has_check:repository) peso `100` - Repositorio local foi encontrado e pode ser analisado. -- `platform-customer-ops` -> `check-customer-ops-repository-git-traceability` (has_check:repository) peso `100` - Git local foi detectado e possui metadados uteis. -- `platform-customer-ops` -> `check-customer-ops-support-incident-lifecycle` (has_check:customer_ops) peso `100` - Ciclo de incidente foi detectado. -- `platform-customer-ops` -> `check-customer-ops-tests-detected` (has_check:tests) peso `100` - Teste ou smoke detectavel foi encontrado. -- `platform-customer-ops` -> `readiness-customer-ops-administrador-empresa` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-atendimento-cliente` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-ceo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-cliente-externo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-contador` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-financeiro` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-gestor-operacional` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-juridico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-planejamento-estrategico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-secretaria` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-suporte` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-tecnico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-customer-ops` -> `readiness-customer-ops-usuario-final` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `check-docs-contract-openapi-or-equivalent` (has_check:contract) peso `100` - Contrato ou schema auditavel foi detectado. -- `platform-docs` -> `check-docs-docs-contract-reconciliation` (has_check:docs) peso `100` - Contrato/documentacao aparece reconciliado. -- `platform-docs` -> `check-docs-documentation-human-readme` (has_check:documentation) peso `100` - README ou documentacao principal foi encontrada. -- `platform-docs` -> `check-docs-documentation-runbook` (has_check:documentation) peso `100` - Runbook ou playbook operacional foi detectado. -- `platform-docs` -> `check-docs-human-profile-value` (has_check:human_experience) peso `100` - Valor por perfil foi detectado. -- `platform-docs` -> `check-docs-observability-audit-trace` (has_check:observability) peso `100` - Trace/audit/evidencia aparecem nos sinais. -- `platform-docs` -> `check-docs-observability-health-readiness` (has_check:observability) peso `100` - Health/readiness foram detectados. -- `platform-docs` -> `check-docs-panel-backend-mcp` (has_check:mcp) peso `100` - Ha evidencia de backend MCP ou contrato admin_ui. -- `platform-docs` -> `check-docs-panel-same-source` (has_check:mcp) peso `100` - Mesma fonte ou hashes de fonte foram detectados. -- `platform-docs` -> `check-docs-release-gates` (has_check:governance) peso `100` - Gates de release/rollback foram detectados. -- `platform-docs` -> `check-docs-repository-exists` (has_check:repository) peso `100` - Repositorio local foi encontrado e pode ser analisado. -- `platform-docs` -> `check-docs-repository-git-traceability` (has_check:repository) peso `100` - Git local foi detectado e possui metadados uteis. -- `platform-docs` -> `check-docs-tests-detected` (has_check:tests) peso `100` - Teste ou smoke detectavel foi encontrado. -- `platform-docs` -> `check-docs-tests-regression` (has_check:tests) peso `100` - Sinais de regressao e snapshot foram encontrados. -- `platform-docs` -> `readiness-docs-administrador-empresa` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-atendimento-cliente` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-ceo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-cliente-externo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-contador` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-financeiro` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-gestor-operacional` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-juridico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-planejamento-estrategico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-secretaria` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-suporte` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-tecnico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-docs` -> `readiness-docs-usuario-final` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `check-finance-business-blocker-isolation` (has_check:business) peso `100` - Ha sinais de isolamento por produto/provider. -- `platform-finance` -> `check-finance-business-entitlement` (has_check:business) peso `100` - Sinais de entitlement/plano foram detectados. -- `platform-finance` -> `check-finance-contract-openapi-or-equivalent` (has_check:contract) peso `100` - Contrato ou schema auditavel foi detectado. -- `platform-finance` -> `check-finance-documentation-human-readme` (has_check:documentation) peso `100` - README ou documentacao principal foi encontrada. -- `platform-finance` -> `check-finance-documentation-runbook` (has_check:documentation) peso `100` - Runbook ou playbook operacional foi detectado. -- `platform-finance` -> `check-finance-observability-audit-trace` (has_check:observability) peso `100` - Trace/audit/evidencia aparecem nos sinais. -- `platform-finance` -> `check-finance-observability-health-readiness` (has_check:observability) peso `100` - Health/readiness foram detectados. -- `platform-finance` -> `check-finance-release-gates` (has_check:governance) peso `100` - Gates de release/rollback foram detectados. -- `platform-finance` -> `check-finance-repository-exists` (has_check:repository) peso `100` - Repositorio local foi encontrado e pode ser analisado. -- `platform-finance` -> `check-finance-repository-git-traceability` (has_check:repository) peso `100` - Git local foi detectado e possui metadados uteis. -- `platform-finance` -> `check-finance-tests-detected` (has_check:tests) peso `100` - Teste ou smoke detectavel foi encontrado. -- `platform-finance` -> `readiness-finance-administrador-empresa` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-atendimento-cliente` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-ceo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-cliente-externo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-contador` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-financeiro` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-gestor-operacional` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-juridico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-planejamento-estrategico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-secretaria` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-suporte` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-tecnico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-finance` -> `readiness-finance-usuario-final` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-gettys` -> `check-gettys-cloud-wrangler-reference` (has_check:cloud) peso `100` - Wrangler ou Worker aparecem como referencia operacional. -- `platform-gettys` -> `check-gettys-contract-openapi-or-equivalent` (has_check:contract) peso `100` - Contrato ou schema auditavel foi detectado. -- `platform-gettys` -> `check-gettys-contract-version-policy` (has_check:contract) peso `100` - Versionamento de contrato aparece na evidencia. -- `platform-gettys` -> `check-gettys-data-truth-state` (has_check:governance) peso `100` - Fonte da verdade ou truthState foi detectado. -- `platform-gettys` -> `check-gettys-documentation-human-readme` (has_check:documentation) peso `100` - README ou documentacao principal foi encontrada. -- `platform-gettys` -> `check-gettys-documentation-runbook` (has_check:documentation) peso `100` - Runbook ou playbook operacional foi detectado. -- `platform-gettys` -> `check-gettys-observability-audit-trace` (has_check:observability) peso `100` - Trace/audit/evidencia aparecem nos sinais. -- `platform-gettys` -> `check-gettys-observability-health-readiness` (has_check:observability) peso `100` - Health/readiness foram detectados. -- `platform-gettys` -> `check-gettys-release-gates` (has_check:governance) peso `100` - Gates de release/rollback foram detectados. -- `platform-gettys` -> `check-gettys-repository-exists` (has_check:repository) peso `100` - Repositorio local foi encontrado e pode ser analisado. -- `platform-gettys` -> `check-gettys-repository-git-traceability` (has_check:repository) peso `100` - Git local foi detectado e possui metadados uteis. -- `platform-gettys` -> `check-gettys-tests-detected` (has_check:tests) peso `100` - Teste ou smoke detectavel foi encontrado. -- `platform-identity` -> `check-identity-contract-openapi-or-equivalent` (has_check:contract) peso `100` - Contrato ou schema auditavel foi detectado. -- `platform-identity` -> `check-identity-contract-version-policy` (has_check:contract) peso `100` - Versionamento de contrato aparece na evidencia. -- `platform-identity` -> `check-identity-data-stale-safe` (has_check:observability) peso `100` - Snapshot/stale-safe foi detectado. -- `platform-identity` -> `check-identity-documentation-human-readme` (has_check:documentation) peso `100` - README ou documentacao principal foi encontrada. -- `platform-identity` -> `check-identity-documentation-runbook` (has_check:documentation) peso `100` - Runbook ou playbook operacional foi detectado. -- `platform-identity` -> `check-identity-human-profile-value` (has_check:human_experience) peso `100` - Valor por perfil foi detectado. -- `platform-identity` -> `check-identity-identity-actor-scope` (has_check:identity) peso `100` - Ator, organizacao ou escopo aparecem no contrato. -- `platform-identity` -> `check-identity-identity-rbac-deny` (has_check:identity) peso `100` - Sinais de RBAC e negacao foram detectados. -- `platform-identity` -> `check-identity-integrations-byok-chain` (has_check:integrations) peso `100` - Cadeia BYOK possui sinais fortes. -- `platform-identity` -> `check-identity-observability-audit-trace` (has_check:observability) peso `100` - Trace/audit/evidencia aparecem nos sinais. -- `platform-identity` -> `check-identity-observability-health-readiness` (has_check:observability) peso `100` - Health/readiness foram detectados. -- `platform-identity` -> `check-identity-panel-backend-mcp` (has_check:mcp) peso `100` - Ha evidencia de backend MCP ou contrato admin_ui. -- `platform-identity` -> `check-identity-panel-compact-response` (has_check:mcp) peso `100` - Ha suporte a resposta compacta, filtros ou paginacao. -- `platform-identity` -> `check-identity-panel-same-source` (has_check:mcp) peso `100` - Mesma fonte ou hashes de fonte foram detectados. -- `platform-identity` -> `check-identity-release-gates` (has_check:governance) peso `100` - Gates de release/rollback foram detectados. -- `platform-identity` -> `check-identity-repository-exists` (has_check:repository) peso `100` - Repositorio local foi encontrado e pode ser analisado. -- `platform-identity` -> `check-identity-repository-git-traceability` (has_check:repository) peso `100` - Git local foi detectado e possui metadados uteis. -- `platform-identity` -> `check-identity-support-incident-lifecycle` (has_check:customer_ops) peso `100` - Ciclo de incidente foi detectado. -- `platform-identity` -> `check-identity-tests-detected` (has_check:tests) peso `100` - Teste ou smoke detectavel foi encontrado. -- `platform-identity` -> `check-identity-tests-regression` (has_check:tests) peso `100` - Sinais de regressao e snapshot foram encontrados. -- `platform-identity` -> `readiness-identity-administrador-empresa` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-identity` -> `readiness-identity-atendimento-cliente` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-identity` -> `readiness-identity-ceo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-identity` -> `readiness-identity-cliente-externo` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-identity` -> `readiness-identity-contador` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-identity` -> `readiness-identity-financeiro` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-identity` -> `readiness-identity-gestor-operacional` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana -- `platform-identity` -> `readiness-identity-juridico` (serves_profile) peso `100` - resolver blockers de governanca antes de promover experiencia humana +- `mcp-contract-compliance-administrador-empresa-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-administrador-empresa-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - d5581cb4b2f8e04c +- `mcp-contract-compliance-atendimento-cliente-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-atendimento-cliente-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 5ca5cd37aab29c9e +- `mcp-contract-compliance-audit-ui-screen` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-audit-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 95a89c1cad553ef8 +- `mcp-contract-compliance-ceo-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-ceo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 06fc69170da7f478 +- `mcp-contract-compliance-cfat-redaction-policy` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-cfat-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 6b07c0279d30221b +- `mcp-contract-compliance-cliente-externo-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-cliente-externo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 2218a632c4aaa22e +- `mcp-contract-compliance-consent-ui-screen` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-consent-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - af7d26a45d75d573 +- `mcp-contract-compliance-contador-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-contador-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - d00e20d587737d99 +- `mcp-contract-compliance-credentialref-redaction-policy` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-credentialref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 44c216268d2936e7 +- `mcp-contract-compliance-financeiro-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-financeiro-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 6dbf1baec01ff39c +- `mcp-contract-compliance-gestor-operacional-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-gestor-operacional-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - b9fa380c81e90188 +- `mcp-contract-compliance-juridico-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-juridico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 4c723eb98897fde4 +- `mcp-contract-compliance-planejamento-estrategico-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-planejamento-estrategico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 43d4740235d0c772 +- `mcp-contract-compliance-privacy-ui-screen` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-privacy-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 52c9b25c7b7f1217 +- `mcp-contract-compliance-retention-ui-screen` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-retention-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 67bf96f32954e756 +- `mcp-contract-compliance-risk-ui-screen` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-risk-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 7b5e9f17115a6df1 +- `mcp-contract-compliance-secretaria-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-secretaria-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 60afb1d570ce3fed +- `mcp-contract-compliance-secretref-redaction-policy` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-secretref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - db3adad75aa37fa1 +- `mcp-contract-compliance-suporte-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-suporte-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 2112546a673c0113 +- `mcp-contract-compliance-tecnico-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-tecnico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - a18fe84f81b8318b +- `mcp-contract-compliance-tokenref-redaction-policy` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-tokenref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - a5c560fc4edd9f61 +- `mcp-contract-compliance-usuario-final-provider-tool` -> `platform-compliance` (governs_platform) peso `100` - live_write +- `mcp-contract-compliance-usuario-final-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - c81dee2633b502ba +- `mcp-contract-customer-ops-administrador-empresa-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-administrador-empresa-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 51c20f63e5f6e59e +- `mcp-contract-customer-ops-atendimento-cliente-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-atendimento-cliente-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - e0d58ae5d3ba5069 +- `mcp-contract-customer-ops-ceo-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-ceo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 1bb5268fb8af10ec +- `mcp-contract-customer-ops-cfat-redaction-policy` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-cfat-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 944fb7f6c323a869 +- `mcp-contract-customer-ops-cliente-externo-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-cliente-externo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 35b627f8330a1b58 +- `mcp-contract-customer-ops-contador-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-contador-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 7f395f489120f80f +- `mcp-contract-customer-ops-credentialref-redaction-policy` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-credentialref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 1ecf7f79ada21a54 +- `mcp-contract-customer-ops-customer-status-ui-screen` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-customer-status-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - b296584a5cf050eb +- `mcp-contract-customer-ops-diagnostics-ui-screen` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-diagnostics-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 305c01f0e0c52933 +- `mcp-contract-customer-ops-financeiro-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-financeiro-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - cca88f3b48ffb380 +- `mcp-contract-customer-ops-gestor-operacional-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-gestor-operacional-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - da2634ef758c6143 +- `mcp-contract-customer-ops-handoffs-ui-screen` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-handoffs-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 79f628e0da40f08e +- `mcp-contract-customer-ops-incidents-ui-screen` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-incidents-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 40fd239ff5cbba8e +- `mcp-contract-customer-ops-juridico-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-juridico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 99d9c2f70a422725 +- `mcp-contract-customer-ops-planejamento-estrategico-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-planejamento-estrategico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - f4d0441279e4d57e +- `mcp-contract-customer-ops-secretaria-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-secretaria-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - db767d9d1c7d8b43 +- `mcp-contract-customer-ops-secretref-redaction-policy` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-secretref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 6f46e82ccfea22d0 +- `mcp-contract-customer-ops-suporte-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-suporte-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 9824db2ea03aee49 +- `mcp-contract-customer-ops-tecnico-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-tecnico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - e4525dd8a29c0196 +- `mcp-contract-customer-ops-tickets-ui-screen` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-tickets-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 1074db5f0921b418 +- `mcp-contract-customer-ops-tokenref-redaction-policy` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-tokenref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 4294d40231ffbb33 +- `mcp-contract-customer-ops-usuario-final-provider-tool` -> `platform-customer-ops` (governs_platform) peso `100` - live_write +- `mcp-contract-customer-ops-usuario-final-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - d0a95416815c4004 +- `mcp-contract-finance-administrador-empresa-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-administrador-empresa-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - ae61961be521dcce +- `mcp-contract-finance-atendimento-cliente-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-atendimento-cliente-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 227c43d477c1d456 +- `mcp-contract-finance-ceo-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-ceo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 58dc94ea8bc9e67d +- `mcp-contract-finance-cfat-redaction-policy` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-cfat-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 17b4aec6a2a530a7 +- `mcp-contract-finance-cliente-externo-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-cliente-externo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 1fa51059c38246e2 +- `mcp-contract-finance-contador-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-contador-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - b77faa8a41f681b3 +- `mcp-contract-finance-cost-ui-screen` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-cost-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 7959dd100d7c881b +- `mcp-contract-finance-credentialref-redaction-policy` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-credentialref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - db53939f8248cb63 +- `mcp-contract-finance-financeiro-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-financeiro-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 9c4f19cd22c22827 +- `mcp-contract-finance-gestor-operacional-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-gestor-operacional-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 2ee1f448947843b2 +- `mcp-contract-finance-invoices-ui-screen` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-invoices-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 9be4fe9ece8b4b1c +- `mcp-contract-finance-juridico-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-juridico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - e1820153abfd685e +- `mcp-contract-finance-planejamento-estrategico-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-planejamento-estrategico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 6437094b477a7775 +- `mcp-contract-finance-quota-ui-screen` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-quota-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 93f2325c81ed2b46 +- `mcp-contract-finance-reconciliation-ui-screen` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-reconciliation-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 62dd63b632e5c52d +- `mcp-contract-finance-secretaria-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-secretaria-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 37290faf67c1e958 +- `mcp-contract-finance-secretref-redaction-policy` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-secretref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - a6916b3b56f113b8 +- `mcp-contract-finance-suporte-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-suporte-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - a227341feb3ce189 +- `mcp-contract-finance-tecnico-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-tecnico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 78ae0e369c0bfad4 +- `mcp-contract-finance-tokenref-redaction-policy` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-tokenref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 4bfc52bc6747f2d5 +- `mcp-contract-finance-usage-ui-screen` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-usage-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 2a9b5940897f46af +- `mcp-contract-finance-usuario-final-provider-tool` -> `platform-finance` (governs_platform) peso `100` - live_write +- `mcp-contract-finance-usuario-final-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - c3e2f16729f5b43b +- `mcp-contract-identity-administrador-empresa-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-administrador-empresa-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 3c56ca698ea4fb9a +- `mcp-contract-identity-atendimento-cliente-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-atendimento-cliente-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 679d01273de1ee7d +- `mcp-contract-identity-audit-ui-screen` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-audit-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - bf416644920649c9 +- `mcp-contract-identity-ceo-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-ceo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 25b1c98b65790167 +- `mcp-contract-identity-cfat-redaction-policy` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-cfat-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - 14b27bfb0ad3351e +- `mcp-contract-identity-cliente-externo-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-cliente-externo-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - f612f56309ee0204 +- `mcp-contract-identity-contador-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-contador-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 9b6ba5a2e9328674 +- `mcp-contract-identity-contracts-ui-screen` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-contracts-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 383739b2f8472fc4 +- `mcp-contract-identity-credentialref-redaction-policy` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-credentialref-redaction-policy` -> `platform-mcps` (same_source_ready) peso `100` - f36cf280fd1c3221 +- `mcp-contract-identity-financeiro-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-financeiro-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 1ee9d527f414ce65 +- `mcp-contract-identity-gestor-operacional-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-gestor-operacional-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 1d19208ec3ef87b5 +- `mcp-contract-identity-incidents-ui-screen` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-incidents-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - 33b11a5ad029925e +- `mcp-contract-identity-juridico-provider-tool` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-juridico-provider-tool` -> `platform-mcps` (same_source_ready) peso `100` - 2e2240a79326bcae +- `mcp-contract-identity-organizations-ui-screen` -> `platform-identity` (governs_platform) peso `100` - live_write +- `mcp-contract-identity-organizations-ui-screen` -> `platform-mcps` (same_source_ready) peso `100` - b79592009783a24b diff --git a/ecossistema/INDICE-DE-EVIDENCIAS-HUMANAS.md b/ecossistema/INDICE-DE-EVIDENCIAS-HUMANAS.md index 1d2bd42..372f1c2 100644 --- a/ecossistema/INDICE-DE-EVIDENCIAS-HUMANAS.md +++ b/ecossistema/INDICE-DE-EVIDENCIAS-HUMANAS.md @@ -1,6 +1,6 @@ # Indice de evidencias humanas -Total de evidencias: `5039` +Total de evidencias: `5029` ## Por plataforma @@ -11,29 +11,29 @@ Total de evidencias: `5039` - finance: 315 - gettys: 367 - identity: 384 -- integracoes: 498 -- intelligence: 153 -- mcps: 428 -- platform_base: 388 -- public: 286 +- integracoes: 474 +- intelligence: 161 +- mcps: 429 +- platform_base: 391 +- public: 288 - stj: 442 - ui: 357 ## Por tipo - observability: 560 -- mcp_tool: 547 +- mcp_tool: 550 - ui_surface: 518 - unknown: 515 -- test: 510 -- business_rule: 393 -- config: 381 +- test: 511 +- business_rule: 395 +- config: 382 - openapi: 353 - readme: 315 -- worker: 284 -- route: 257 -- package_script: 241 -- security: 165 +- worker: 279 +- package_script: 243 +- route: 242 +- security: 166 ## Evidencias fortes diff --git a/ecossistema/LIFECYCLE-ORDENS-ATIVAS.md b/ecossistema/LIFECYCLE-ORDENS-ATIVAS.md index c715805..ca057b0 100644 --- a/ecossistema/LIFECYCLE-ORDENS-ATIVAS.md +++ b/ecossistema/LIFECYCLE-ORDENS-ATIVAS.md @@ -1,22 +1,22 @@ # EXECUTADO - Fechamento de ordens ativas -- round_id: `mais-humana-lifecycle-a265b84126` +- round_id: `mais-humana-lifecycle-772ff09556` - project_id: `tudo-para-ia-mais-humana` -- generated_at: `2026-04-30T10:32:49+00:00` +- generated_at: `2026-04-30T11:35:07+00:00` - status: `parcial-com-bloqueios` -- ordens lidas: `32` +- ordens lidas: `42` - concluidas: `9` -- parciais: `17` -- bloqueadas: `6` +- parciais: `22` +- bloqueadas: `11` ## Minimos da rodada -- `executive-cycle` Executar ao menos 5 ordens executivas: `15/5` status `met` - Ordens executivas foram descobertas e tratadas pela rodada. -- `managerial-cycle` Executar ao menos 5 ordens gerenciais: `17/5` status `met` - Ordens gerenciais foram descobertas e tratadas pela rodada. +- `executive-cycle` Executar ao menos 5 ordens executivas: `20/5` status `met` - Ordens executivas foram descobertas e tratadas pela rodada. +- `managerial-cycle` Executar ao menos 5 ordens gerenciais: `22/5` status `met` - Ordens gerenciais foram descobertas e tratadas pela rodada. - `executive-output` Criar ao menos 5 ordens executivas de saida: `39/5` status `met` - Candidatas executivas foram criadas a partir de checks de governanca. - `managerial-output` Criar ao menos 5 ordens gerenciais de saida: `26/5` status `met` - Candidatas gerenciais foram criadas a partir de checks de governanca. -- `reading-minimum` Analisar ao menos 10.000 linhas tecnicas/documentais quando houver base: `4854311/10000` status `met` - Leitura registrada pelo scanner e/ou pelas plataformas relacionadas. -- `production-minimum` Produzir ao menos 5.500 linhas uteis em Python/TS/JS/Java quando houver base: `16675/5500` status `met` - Linhas de codigo disponiveis no projeto real depois da rodada. +- `reading-minimum` Analisar ao menos 10.000 linhas tecnicas/documentais quando houver base: `4764213/10000` status `met` - Leitura registrada pelo scanner e/ou pelas plataformas relacionadas. +- `production-minimum` Produzir ao menos 5.500 linhas uteis em Python/TS/JS/Java quando houver base: `18302/5500` status `met` - Linhas de codigo disponiveis no projeto real depois da rodada. ## Decisoes por ordem @@ -187,6 +187,59 @@ - pendencias: - truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked +### 0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\executivas\0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana.md` +- tipo: `executiva` +- plataforma: `public` +- status_final: `parcial` +- razao: A ordem foi executada como formalizacao/avanco parcial; restam pendencias materiais. +- candidatas vinculadas: `0045_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados`, `0048_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras`, `0047_EXECUTIVA__publicar-contrato-operacional-versionado` +- pendencias: + - truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked + +### 0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\executivas\0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo.md` +- tipo: `executiva` +- plataforma: `docs` +- status_final: `parcial` +- razao: A ordem foi executada como formalizacao/avanco parcial; restam pendencias materiais. +- candidatas vinculadas: `0022_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados`, `0021_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal`, `0025_EXECUTIVA__adicionar-resposta-compacta-e-paginada-para-auditoria`, `0023_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras` +- pendencias: + - Leitura Docs canonica ou excecao formal: promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada + +### 0018_EXECUTIVA__classificar-truthstate-e-sourcehash-em-todas-as-plataformas + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\executivas\0018_EXECUTIVA__classificar-truthstate-e-sourcehash-em-todas-as-plataformas.md` +- tipo: `executiva` +- plataforma: `ecosystem` +- status_final: `bloqueada` +- razao: A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada. +- pendencias: + - plataforma relacionada nao encontrada no portfolio de governanca + +### 0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\executivas\0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos.md` +- tipo: `executiva` +- plataforma: `ecosystem` +- status_final: `bloqueada` +- razao: A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada. +- pendencias: + - plataforma relacionada nao encontrada no portfolio de governanca + +### 0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\executivas\0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook.md` +- tipo: `executiva` +- plataforma: `ui` +- status_final: `parcial` +- razao: A ordem foi executada como formalizacao/avanco parcial; restam pendencias materiais. +- candidatas vinculadas: `0035_EXECUTIVA__classificar-truthstate-e-fonte-da-verdade-dos-dados`, `0036_EXECUTIVA__resolver-docs-catalogonly-por-leitura-minima-ou-excecao-formal`, `0038_EXECUTIVA__classificar-erros-e-mensagens-humanas-seguras`, `0037_EXECUTIVA__publicar-contrato-operacional-versionado` +- pendencias: + - truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked + ### 0011_GERENCIAL__fundacao-da-plataforma - arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\gerenciais\0011_GERENCIAL__fundacao-da-plataforma.md` @@ -374,3 +427,58 @@ - candidatas vinculadas: `0046_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto`, `0049_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare` - pendencias: - truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked + +### 0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\gerenciais\0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform.md` +- tipo: `gerencial` +- plataforma: `ecosystem` +- status_final: `bloqueada` +- razao: A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada. +- pendencias: + - plataforma relacionada nao encontrada no portfolio de governanca + +### 0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\gerenciais\0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo.md` +- tipo: `gerencial` +- plataforma: `integracoes` +- status_final: `bloqueada` +- razao: A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada. +- candidatas vinculadas: `0007_GERENCIAL__consolidar-mcp-como-backend-oficial-do-painel-humano`, `0010_GERENCIAL__normalizar-maturidade-comercial-por-provider`, `0009_GERENCIAL__separar-maturidade-comercial-e-tecnica-por-produto` +- pendencias: + - MCP como backend do painel humano: formalizar admin_ui, screenData, screenAction, diagnostics e evidence no MCP + - Segredo nunca exposto em relatorios: executar varredura de segredo, mascaramento e politica de campos proibidos + - truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked + +### 0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\gerenciais\0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano.md` +- tipo: `gerencial` +- plataforma: `ui` +- status_final: `parcial` +- razao: A ordem foi executada como formalizacao/avanco parcial; restam pendencias materiais. +- candidatas vinculadas: `0039_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare` +- pendencias: + - truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked + +### 0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\gerenciais\0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela.md` +- tipo: `gerencial` +- plataforma: `ui` +- status_final: `parcial` +- razao: A ordem foi executada como formalizacao/avanco parcial; restam pendencias materiais. +- candidatas vinculadas: `0039_GERENCIAL__auditar-tratamento-correto-da-falha-esperada-do-plugin-cloudflare` +- pendencias: + - truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked + +### 0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana + +- arquivo: `G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana\orders\gerenciais\0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana.md` +- tipo: `gerencial` +- plataforma: `ecosystem` +- status_final: `bloqueada` +- razao: A ordem depende de bloqueio material ou evidencia ausente que nao pode ser resolvida nesta rodada. +- pendencias: + - plataforma relacionada nao encontrada no portfolio de governanca diff --git a/ecossistema/MCP-PROVIDER-MAIS-HUMANA.md b/ecossistema/MCP-PROVIDER-MAIS-HUMANA.md new file mode 100644 index 0000000..c4c323b --- /dev/null +++ b/ecossistema/MCP-PROVIDER-MAIS-HUMANA.md @@ -0,0 +1,283 @@ +# MCP Provider Mais Humana + +- provider_id: `mais_humana` +- project_id_atual: `tudo-para-ia-mais-humana` +- project_id_canonico_recomendado: `tudo-para-ia-mais-humana-plataform` +- control_plane: `tudo-para-ia-mcps-internos-plataform` +- generated_at: `2026-04-30T11:35:06+00:00` +- contratos_catalogados: `560` +- contratos_avaliados: `560` +- score_medio: `74` +- prontos: `400` +- bloqueados: `158` +- same_source: `401` + +## Ferramentas MCP minimas + +- `mais_humana.rulebook.compact`: rulebook compacto e contratos de maturidade humana. +- `mais_humana.relatorios.modelos_oficiais`: modelos oficiais de relatorio humano por audiencia. +- `mais_humana.admin_ui.same_source`: validacao same-source para UI/GPT. + +## Sumario + +- Contratos avaliados: 560 +- Contratos prontos: 400 +- Same-source prontos: 401 +- Bloqueados: 158 +- Provider MCP minimo: mais_humana.rulebook.compact +- Endpoint de execucao MCP: https://mcps-gateway.ami-app.workers.dev/v1/execute +- Projeto canonico recomendado: tudo-para-ia-mais-humana-plataform + +## Bloqueios e decisoes + +- truthState bloqueado +- catalogOnly ainda nao formalizado como excecao +- renome canonico depende de autorizacao institucional e janela segura + +## Cobertura por plataforma + +### business + +- score: `9` +- prontos: `0` +- same_source: `0` +- bloqueados: `40` +- `provider_tool` `blocked` `blocked` `administrador_empresa` score `9` next: publicar e validar tool MCP para business/administrador_empresa +- `provider_tool` `blocked` `blocked` `atendimento_cliente` score `9` next: publicar e validar tool MCP para business/atendimento_cliente +- `provider_tool` `blocked` `blocked` `ceo` score `9` next: publicar e validar tool MCP para business/ceo +- `provider_tool` `blocked` `blocked` `cliente_externo` score `9` next: publicar e validar tool MCP para business/cliente_externo +- `provider_tool` `blocked` `blocked` `contador` score `9` next: publicar e validar tool MCP para business/contador +- `provider_tool` `blocked` `blocked` `financeiro` score `9` next: publicar e validar tool MCP para business/financeiro +- `provider_tool` `blocked` `blocked` `gestor_operacional` score `9` next: publicar e validar tool MCP para business/gestor_operacional +- `provider_tool` `blocked` `blocked` `juridico` score `9` next: publicar e validar tool MCP para business/juridico +- `provider_tool` `blocked` `blocked` `planejamento_estrategico` score `9` next: publicar e validar tool MCP para business/planejamento_estrategico +- `provider_tool` `blocked` `blocked` `secretaria` score `9` next: publicar e validar tool MCP para business/secretaria + +### compliance + +- score: `100` +- prontos: `40` +- same_source: `40` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para compliance/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para compliance/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para compliance/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para compliance/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para compliance/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para compliance/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para compliance/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para compliance/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para compliance/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para compliance/secretaria + +### customer_ops + +- score: `100` +- prontos: `40` +- same_source: `40` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para customer_ops/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para customer_ops/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para customer_ops/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para customer_ops/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para customer_ops/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para customer_ops/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para customer_ops/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para customer_ops/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para customer_ops/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para customer_ops/secretaria + +### docs + +- score: `13` +- prontos: `0` +- same_source: `1` +- bloqueados: `40` +- `provider_tool` `blocked` `catalog_only` `administrador_empresa` score `11` next: publicar e validar tool MCP para docs/administrador_empresa +- `provider_tool` `blocked` `catalog_only` `atendimento_cliente` score `11` next: publicar e validar tool MCP para docs/atendimento_cliente +- `provider_tool` `blocked` `catalog_only` `ceo` score `11` next: publicar e validar tool MCP para docs/ceo +- `provider_tool` `blocked` `catalog_only` `cliente_externo` score `11` next: publicar e validar tool MCP para docs/cliente_externo +- `provider_tool` `blocked` `catalog_only` `contador` score `11` next: publicar e validar tool MCP para docs/contador +- `provider_tool` `blocked` `catalog_only` `financeiro` score `11` next: publicar e validar tool MCP para docs/financeiro +- `provider_tool` `blocked` `catalog_only` `gestor_operacional` score `11` next: publicar e validar tool MCP para docs/gestor_operacional +- `provider_tool` `blocked` `catalog_only` `juridico` score `11` next: publicar e validar tool MCP para docs/juridico +- `provider_tool` `blocked` `catalog_only` `planejamento_estrategico` score `11` next: publicar e validar tool MCP para docs/planejamento_estrategico +- `provider_tool` `blocked` `catalog_only` `secretaria` score `11` next: publicar e validar tool MCP para docs/secretaria + +### finance + +- score: `100` +- prontos: `40` +- same_source: `40` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para finance/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para finance/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para finance/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para finance/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para finance/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para finance/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para finance/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para finance/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para finance/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para finance/secretaria + +### gettys + +- score: `6` +- prontos: `0` +- same_source: `0` +- bloqueados: `39` +- `provider_tool` `blocked` `blocked` `administrador_empresa` score `6` next: publicar e validar tool MCP para gettys/administrador_empresa +- `provider_tool` `blocked` `blocked` `atendimento_cliente` score `6` next: publicar e validar tool MCP para gettys/atendimento_cliente +- `provider_tool` `blocked` `blocked` `ceo` score `6` next: publicar e validar tool MCP para gettys/ceo +- `provider_tool` `blocked` `blocked` `cliente_externo` score `6` next: publicar e validar tool MCP para gettys/cliente_externo +- `provider_tool` `blocked` `blocked` `contador` score `6` next: publicar e validar tool MCP para gettys/contador +- `provider_tool` `blocked` `blocked` `financeiro` score `6` next: publicar e validar tool MCP para gettys/financeiro +- `provider_tool` `blocked` `blocked` `gestor_operacional` score `6` next: publicar e validar tool MCP para gettys/gestor_operacional +- `provider_tool` `blocked` `blocked` `juridico` score `6` next: publicar e validar tool MCP para gettys/juridico +- `provider_tool` `blocked` `blocked` `planejamento_estrategico` score `6` next: publicar e validar tool MCP para gettys/planejamento_estrategico +- `provider_tool` `blocked` `blocked` `secretaria` score `6` next: publicar e validar tool MCP para gettys/secretaria + +### identity + +- score: `100` +- prontos: `41` +- same_source: `41` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para identity/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para identity/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para identity/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para identity/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para identity/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para identity/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para identity/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para identity/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para identity/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para identity/secretaria + +### integracoes + +- score: `100` +- prontos: `41` +- same_source: `41` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para integracoes/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para integracoes/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para integracoes/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para integracoes/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para integracoes/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para integracoes/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para integracoes/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para integracoes/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para integracoes/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para integracoes/secretaria + +### intelligence + +- score: `2` +- prontos: `0` +- same_source: `0` +- bloqueados: `39` +- `provider_tool` `blocked` `catalog_only` `administrador_empresa` score `1` next: publicar e validar tool MCP para intelligence/administrador_empresa +- `provider_tool` `blocked` `catalog_only` `atendimento_cliente` score `1` next: publicar e validar tool MCP para intelligence/atendimento_cliente +- `provider_tool` `blocked` `catalog_only` `ceo` score `1` next: publicar e validar tool MCP para intelligence/ceo +- `provider_tool` `blocked` `catalog_only` `cliente_externo` score `1` next: publicar e validar tool MCP para intelligence/cliente_externo +- `provider_tool` `blocked` `catalog_only` `contador` score `1` next: publicar e validar tool MCP para intelligence/contador +- `provider_tool` `blocked` `catalog_only` `financeiro` score `1` next: publicar e validar tool MCP para intelligence/financeiro +- `provider_tool` `blocked` `catalog_only` `gestor_operacional` score `1` next: publicar e validar tool MCP para intelligence/gestor_operacional +- `provider_tool` `blocked` `catalog_only` `juridico` score `1` next: publicar e validar tool MCP para intelligence/juridico +- `provider_tool` `blocked` `catalog_only` `planejamento_estrategico` score `1` next: publicar e validar tool MCP para intelligence/planejamento_estrategico +- `provider_tool` `blocked` `catalog_only` `secretaria` score `1` next: publicar e validar tool MCP para intelligence/secretaria + +### mcps + +- score: `100` +- prontos: `41` +- same_source: `41` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para mcps/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para mcps/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para mcps/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para mcps/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para mcps/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para mcps/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para mcps/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para mcps/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para mcps/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para mcps/secretaria + +### platform_base + +- score: `100` +- prontos: `39` +- same_source: `39` +- bloqueados: `0` +- `provider_tool` `ready` `derived` `administrador_empresa` score `100` next: publicar e validar tool MCP para platform_base/administrador_empresa +- `provider_tool` `ready` `derived` `atendimento_cliente` score `100` next: publicar e validar tool MCP para platform_base/atendimento_cliente +- `provider_tool` `ready` `derived` `ceo` score `100` next: publicar e validar tool MCP para platform_base/ceo +- `provider_tool` `ready` `derived` `cliente_externo` score `100` next: publicar e validar tool MCP para platform_base/cliente_externo +- `provider_tool` `ready` `derived` `contador` score `100` next: publicar e validar tool MCP para platform_base/contador +- `provider_tool` `ready` `derived` `financeiro` score `100` next: publicar e validar tool MCP para platform_base/financeiro +- `provider_tool` `ready` `derived` `gestor_operacional` score `100` next: publicar e validar tool MCP para platform_base/gestor_operacional +- `provider_tool` `ready` `derived` `juridico` score `100` next: publicar e validar tool MCP para platform_base/juridico +- `provider_tool` `ready` `derived` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para platform_base/planejamento_estrategico +- `provider_tool` `ready` `derived` `secretaria` score `100` next: publicar e validar tool MCP para platform_base/secretaria + +### public + +- score: `100` +- prontos: `39` +- same_source: `39` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para public/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para public/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para public/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para public/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para public/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para public/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para public/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para public/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para public/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para public/secretaria + +### stj + +- score: `100` +- prontos: `39` +- same_source: `39` +- bloqueados: `0` +- `provider_tool` `ready` `live_write` `administrador_empresa` score `100` next: publicar e validar tool MCP para stj/administrador_empresa +- `provider_tool` `ready` `live_write` `atendimento_cliente` score `100` next: publicar e validar tool MCP para stj/atendimento_cliente +- `provider_tool` `ready` `live_write` `ceo` score `100` next: publicar e validar tool MCP para stj/ceo +- `provider_tool` `ready` `live_write` `cliente_externo` score `100` next: publicar e validar tool MCP para stj/cliente_externo +- `provider_tool` `ready` `live_write` `contador` score `100` next: publicar e validar tool MCP para stj/contador +- `provider_tool` `ready` `live_write` `financeiro` score `100` next: publicar e validar tool MCP para stj/financeiro +- `provider_tool` `ready` `live_write` `gestor_operacional` score `100` next: publicar e validar tool MCP para stj/gestor_operacional +- `provider_tool` `ready` `live_write` `juridico` score `100` next: publicar e validar tool MCP para stj/juridico +- `provider_tool` `ready` `live_write` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para stj/planejamento_estrategico +- `provider_tool` `ready` `live_write` `secretaria` score `100` next: publicar e validar tool MCP para stj/secretaria + +### ui + +- score: `100` +- prontos: `40` +- same_source: `40` +- bloqueados: `0` +- `provider_tool` `ready` `same_source_ready` `administrador_empresa` score `100` next: publicar e validar tool MCP para ui/administrador_empresa +- `provider_tool` `ready` `same_source_ready` `atendimento_cliente` score `100` next: publicar e validar tool MCP para ui/atendimento_cliente +- `provider_tool` `ready` `same_source_ready` `ceo` score `100` next: publicar e validar tool MCP para ui/ceo +- `provider_tool` `ready` `same_source_ready` `cliente_externo` score `100` next: publicar e validar tool MCP para ui/cliente_externo +- `provider_tool` `ready` `same_source_ready` `contador` score `100` next: publicar e validar tool MCP para ui/contador +- `provider_tool` `ready` `same_source_ready` `financeiro` score `100` next: publicar e validar tool MCP para ui/financeiro +- `provider_tool` `ready` `same_source_ready` `gestor_operacional` score `100` next: publicar e validar tool MCP para ui/gestor_operacional +- `provider_tool` `ready` `same_source_ready` `juridico` score `100` next: publicar e validar tool MCP para ui/juridico +- `provider_tool` `ready` `same_source_ready` `planejamento_estrategico` score `100` next: publicar e validar tool MCP para ui/planejamento_estrategico +- `provider_tool` `ready` `same_source_ready` `secretaria` score `100` next: publicar e validar tool MCP para ui/secretaria + +### mais_humana + +- score: `71` +- prontos: `0` +- same_source: `0` +- bloqueados: `0` +- `canonical_rename` `external_decision` `documented` `todos` score `71` next: registrar decisao institucional para mais-humana.canonical-rename.plataform diff --git a/ecossistema/MODELOS-OFICIAIS-RELATORIO-HUMANO.md b/ecossistema/MODELOS-OFICIAIS-RELATORIO-HUMANO.md new file mode 100644 index 0000000..1e29f14 --- /dev/null +++ b/ecossistema/MODELOS-OFICIAIS-RELATORIO-HUMANO.md @@ -0,0 +1,220 @@ +# Modelos oficiais de relatorio humano + +- provider: `mais_humana` +- tool: `mais_humana.relatorios.modelos_oficiais` +- modelos_catalogados: `182` + +## Politica + +- Administrador, equipe, cliente e usuario devem consumir modelos diferentes, mas sempre pela mesma fonte MCP. +- Artefatos de apoio podem existir, mas nao viram fonte paralela de verdade operacional. +- Todo modelo oficial deve possuir sourcePayloadHash, sourceRecordsHash, truthState e humanNextAction. + +## administrator + +- `report.business.administrador_empresa.oficial` `business` `administrador_empresa` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.administrador_empresa.oficial` `compliance` `administrador_empresa` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.administrador_empresa.oficial` `customer_ops` `administrador_empresa` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.administrador_empresa.oficial` `docs` `administrador_empresa` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.administrador_empresa.oficial` `finance` `administrador_empresa` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.administrador_empresa.oficial` `gettys` `administrador_empresa` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.administrador_empresa.oficial` `identity` `administrador_empresa` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.administrador_empresa.oficial` `integracoes` `administrador_empresa` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.administrador_empresa.oficial` `intelligence` `administrador_empresa` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.administrador_empresa.oficial` `mcps` `administrador_empresa` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.administrador_empresa.oficial` `platform_base` `administrador_empresa` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.administrador_empresa.oficial` `public` `administrador_empresa` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.administrador_empresa.oficial` `stj` `administrador_empresa` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.administrador_empresa.oficial` `ui` `administrador_empresa` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## customer + +- `report.business.cliente_externo.oficial` `business` `cliente_externo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.cliente_externo.oficial` `compliance` `cliente_externo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.cliente_externo.oficial` `customer_ops` `cliente_externo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.cliente_externo.oficial` `docs` `cliente_externo` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.cliente_externo.oficial` `finance` `cliente_externo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.cliente_externo.oficial` `gettys` `cliente_externo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.cliente_externo.oficial` `identity` `cliente_externo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.cliente_externo.oficial` `integracoes` `cliente_externo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.cliente_externo.oficial` `intelligence` `cliente_externo` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.cliente_externo.oficial` `mcps` `cliente_externo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.cliente_externo.oficial` `platform_base` `cliente_externo` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.cliente_externo.oficial` `public` `cliente_externo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.cliente_externo.oficial` `stj` `cliente_externo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.cliente_externo.oficial` `ui` `cliente_externo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## executive + +- `report.business.ceo.oficial` `business` `ceo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.ceo.oficial` `compliance` `ceo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.ceo.oficial` `customer_ops` `ceo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.ceo.oficial` `docs` `ceo` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.ceo.oficial` `finance` `ceo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.ceo.oficial` `gettys` `ceo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.ceo.oficial` `identity` `ceo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.ceo.oficial` `integracoes` `ceo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.ceo.oficial` `intelligence` `ceo` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.ceo.oficial` `mcps` `ceo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.ceo.oficial` `platform_base` `ceo` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.ceo.oficial` `public` `ceo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.ceo.oficial` `stj` `ceo` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.ceo.oficial` `ui` `ceo` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## finance + +- `report.business.contador.oficial` `business` `contador` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.business.financeiro.oficial` `business` `financeiro` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.contador.oficial` `compliance` `contador` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.financeiro.oficial` `compliance` `financeiro` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.contador.oficial` `customer_ops` `contador` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.financeiro.oficial` `customer_ops` `financeiro` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.contador.oficial` `docs` `contador` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.docs.financeiro.oficial` `docs` `financeiro` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.contador.oficial` `finance` `contador` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.finance.financeiro.oficial` `finance` `financeiro` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.contador.oficial` `gettys` `contador` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.financeiro.oficial` `gettys` `financeiro` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.contador.oficial` `identity` `contador` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.financeiro.oficial` `identity` `financeiro` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.contador.oficial` `integracoes` `contador` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.financeiro.oficial` `integracoes` `financeiro` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.contador.oficial` `intelligence` `contador` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.intelligence.financeiro.oficial` `intelligence` `financeiro` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.contador.oficial` `mcps` `contador` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.mcps.financeiro.oficial` `mcps` `financeiro` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.contador.oficial` `platform_base` `contador` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.platform_base.financeiro.oficial` `platform_base` `financeiro` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.contador.oficial` `public` `contador` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.public.financeiro.oficial` `public` `financeiro` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.contador.oficial` `stj` `contador` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.financeiro.oficial` `stj` `financeiro` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.contador.oficial` `ui` `contador` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.financeiro.oficial` `ui` `financeiro` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## legal + +- `report.business.juridico.oficial` `business` `juridico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.juridico.oficial` `compliance` `juridico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.juridico.oficial` `customer_ops` `juridico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.juridico.oficial` `docs` `juridico` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.juridico.oficial` `finance` `juridico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.juridico.oficial` `gettys` `juridico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.juridico.oficial` `identity` `juridico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.juridico.oficial` `integracoes` `juridico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.juridico.oficial` `intelligence` `juridico` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.juridico.oficial` `mcps` `juridico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.juridico.oficial` `platform_base` `juridico` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.juridico.oficial` `public` `juridico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.juridico.oficial` `stj` `juridico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.juridico.oficial` `ui` `juridico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## operator + +- `report.business.gestor_operacional.oficial` `business` `gestor_operacional` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.business.secretaria.oficial` `business` `secretaria` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.gestor_operacional.oficial` `compliance` `gestor_operacional` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.secretaria.oficial` `compliance` `secretaria` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.gestor_operacional.oficial` `customer_ops` `gestor_operacional` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.secretaria.oficial` `customer_ops` `secretaria` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.gestor_operacional.oficial` `docs` `gestor_operacional` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.docs.secretaria.oficial` `docs` `secretaria` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.gestor_operacional.oficial` `finance` `gestor_operacional` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.finance.secretaria.oficial` `finance` `secretaria` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.gestor_operacional.oficial` `gettys` `gestor_operacional` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.secretaria.oficial` `gettys` `secretaria` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.gestor_operacional.oficial` `identity` `gestor_operacional` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.secretaria.oficial` `identity` `secretaria` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.gestor_operacional.oficial` `integracoes` `gestor_operacional` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.secretaria.oficial` `integracoes` `secretaria` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.gestor_operacional.oficial` `intelligence` `gestor_operacional` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.intelligence.secretaria.oficial` `intelligence` `secretaria` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.gestor_operacional.oficial` `mcps` `gestor_operacional` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.mcps.secretaria.oficial` `mcps` `secretaria` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.gestor_operacional.oficial` `platform_base` `gestor_operacional` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.platform_base.secretaria.oficial` `platform_base` `secretaria` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.gestor_operacional.oficial` `public` `gestor_operacional` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.public.secretaria.oficial` `public` `secretaria` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.gestor_operacional.oficial` `stj` `gestor_operacional` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.secretaria.oficial` `stj` `secretaria` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.gestor_operacional.oficial` `ui` `gestor_operacional` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.secretaria.oficial` `ui` `secretaria` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## support + +- `report.business.atendimento_cliente.oficial` `business` `atendimento_cliente` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.business.suporte.oficial` `business` `suporte` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.atendimento_cliente.oficial` `compliance` `atendimento_cliente` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.suporte.oficial` `compliance` `suporte` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.atendimento_cliente.oficial` `customer_ops` `atendimento_cliente` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.suporte.oficial` `customer_ops` `suporte` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.atendimento_cliente.oficial` `docs` `atendimento_cliente` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.docs.suporte.oficial` `docs` `suporte` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.atendimento_cliente.oficial` `finance` `atendimento_cliente` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.finance.suporte.oficial` `finance` `suporte` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.atendimento_cliente.oficial` `gettys` `atendimento_cliente` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.suporte.oficial` `gettys` `suporte` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.atendimento_cliente.oficial` `identity` `atendimento_cliente` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.suporte.oficial` `identity` `suporte` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.atendimento_cliente.oficial` `integracoes` `atendimento_cliente` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.suporte.oficial` `integracoes` `suporte` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.atendimento_cliente.oficial` `intelligence` `atendimento_cliente` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.intelligence.suporte.oficial` `intelligence` `suporte` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.atendimento_cliente.oficial` `mcps` `atendimento_cliente` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.mcps.suporte.oficial` `mcps` `suporte` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.atendimento_cliente.oficial` `platform_base` `atendimento_cliente` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.platform_base.suporte.oficial` `platform_base` `suporte` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.atendimento_cliente.oficial` `public` `atendimento_cliente` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.public.suporte.oficial` `public` `suporte` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.atendimento_cliente.oficial` `stj` `atendimento_cliente` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.suporte.oficial` `stj` `suporte` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.atendimento_cliente.oficial` `ui` `atendimento_cliente` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.suporte.oficial` `ui` `suporte` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## technical + +- `report.business.tecnico.oficial` `business` `tecnico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.tecnico.oficial` `compliance` `tecnico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.tecnico.oficial` `customer_ops` `tecnico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.tecnico.oficial` `docs` `tecnico` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.tecnico.oficial` `finance` `tecnico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.tecnico.oficial` `gettys` `tecnico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.tecnico.oficial` `identity` `tecnico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.tecnico.oficial` `integracoes` `tecnico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.tecnico.oficial` `intelligence` `tecnico` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.tecnico.oficial` `mcps` `tecnico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.tecnico.oficial` `platform_base` `tecnico` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.tecnico.oficial` `public` `tecnico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.tecnico.oficial` `stj` `tecnico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.tecnico.oficial` `ui` `tecnico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` + +## user + +- `report.business.planejamento_estrategico.oficial` `business` `planejamento_estrategico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.business.usuario_final.oficial` `business` `usuario_final` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.planejamento_estrategico.oficial` `compliance` `planejamento_estrategico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.compliance.usuario_final.oficial` `compliance` `usuario_final` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.planejamento_estrategico.oficial` `customer_ops` `planejamento_estrategico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.customer_ops.usuario_final.oficial` `customer_ops` `usuario_final` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.docs.planejamento_estrategico.oficial` `docs` `planejamento_estrategico` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.docs.usuario_final.oficial` `docs` `usuario_final` truth `formal_exception` owner `tudo-para-ia-mais-humana` +- `report.finance.planejamento_estrategico.oficial` `finance` `planejamento_estrategico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.finance.usuario_final.oficial` `finance` `usuario_final` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.planejamento_estrategico.oficial` `gettys` `planejamento_estrategico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.gettys.usuario_final.oficial` `gettys` `usuario_final` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.planejamento_estrategico.oficial` `identity` `planejamento_estrategico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.identity.usuario_final.oficial` `identity` `usuario_final` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.planejamento_estrategico.oficial` `integracoes` `planejamento_estrategico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.integracoes.usuario_final.oficial` `integracoes` `usuario_final` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.intelligence.planejamento_estrategico.oficial` `intelligence` `planejamento_estrategico` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.intelligence.usuario_final.oficial` `intelligence` `usuario_final` truth `blocked` owner `tudo-para-ia-mais-humana` +- `report.mcps.planejamento_estrategico.oficial` `mcps` `planejamento_estrategico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.mcps.usuario_final.oficial` `mcps` `usuario_final` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.platform_base.planejamento_estrategico.oficial` `platform_base` `planejamento_estrategico` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.platform_base.usuario_final.oficial` `platform_base` `usuario_final` truth `derived` owner `tudo-para-ia-mais-humana` +- `report.public.planejamento_estrategico.oficial` `public` `planejamento_estrategico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.public.usuario_final.oficial` `public` `usuario_final` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.planejamento_estrategico.oficial` `stj` `planejamento_estrategico` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.stj.usuario_final.oficial` `stj` `usuario_final` truth `response_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.planejamento_estrategico.oficial` `ui` `planejamento_estrategico` truth `same_source_ready` owner `tudo-para-ia-mais-humana` +- `report.ui.usuario_final.oficial` `ui` `usuario_final` truth `same_source_ready` owner `tudo-para-ia-mais-humana` diff --git a/ecossistema/PENDENCIAS-LIFECYCLE-ORDENS.md b/ecossistema/PENDENCIAS-LIFECYCLE-ORDENS.md index 429d2cf..223983f 100644 --- a/ecossistema/PENDENCIAS-LIFECYCLE-ORDENS.md +++ b/ecossistema/PENDENCIAS-LIFECYCLE-ORDENS.md @@ -17,6 +17,11 @@ - 0012_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked - 0013_EXECUTIVA__resolver-ou-formalizar-bloqueios-conhecidos: Leitura Docs canonica ou excecao formal: promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada - 0015_EXECUTIVA__elevar-maturidade-humana-de-compliance-platform: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked +- 0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked +- 0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo: Leitura Docs canonica ou excecao formal: promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada +- 0018_EXECUTIVA__classificar-truthstate-e-sourcehash-em-todas-as-plataformas: plataforma relacionada nao encontrada no portfolio de governanca +- 0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos: plataforma relacionada nao encontrada no portfolio de governanca +- 0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked - 0012_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos: Leitura Docs canonica ou excecao formal: promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada - 0013_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos: MCP como backend do painel humano: formalizar admin_ui, screenData, screenAction, diagnostics e evidence no MCP - 0013_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos: Segredo nunca exposto em relatorios: executar varredura de segredo, mascaramento e politica de campos proibidos @@ -35,3 +40,10 @@ - 0024_GERENCIAL__resolver-ou-formalizar-bloqueios-conhecidos: Leitura Docs canonica ou excecao formal: promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada - 0026_GERENCIAL__elevar-maturidade-humana-de-compliance-platform: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked - : truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked +- 0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform: plataforma relacionada nao encontrada no portfolio de governanca +- 0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo: MCP como backend do painel humano: formalizar admin_ui, screenData, screenAction, diagnostics e evidence no MCP +- 0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo: Segredo nunca exposto em relatorios: executar varredura de segredo, mascaramento e politica de campos proibidos +- 0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked +- 0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked +- 0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela: truthState e fonte da verdade explicitos: classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked +- 0032_GERENCIAL__homologar-rulebook-como-contrato-de-maturidade-humana: plataforma relacionada nao encontrada no portfolio de governanca diff --git a/ecossistema/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.md b/ecossistema/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.md index cfe375c..43cb508 100644 --- a/ecossistema/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.md +++ b/ecossistema/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.md @@ -1,6 +1,6 @@ # Relatorio Geral do Ecossistema Mais Humano -Foram avaliadas 14 plataformas, com 1692464 linhas de codigo e 5039 evidencias locais. +Foram avaliadas 14 plataformas, com 1611449 linhas de codigo e 5029 evidencias locais. Score medio humano do ecossistema: 100. A pergunta central desta plataforma e simples: quem e atendido, como e atendido, o que ja funciona hoje e o que precisa virar ordem de servico para servir melhor pessoas reais. Leitura por necessidade humana diff --git a/ecossistema/REPOSITORY-MESH-AUTOMATION.md b/ecossistema/REPOSITORY-MESH-AUTOMATION.md new file mode 100644 index 0000000..84916cf --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-AUTOMATION.md @@ -0,0 +1,59 @@ +# Repository Mesh Automation + +## Objetivo + +Executar a cada 5 minutos um ciclo nao destrutivo de inventario, fetch, comparacao de hashes e bloqueio de risco. + +## Contrato operacional + +- Etapa 1: criar lock por ambiente para evitar duas sincronizacoes simultaneas. +- Etapa 2: inventariar caminho, `.git`, branch, HEAD, remote, status e upstream. +- Etapa 3: executar somente `git fetch --all --prune` nos repositorios materializados. +- Etapa 4: calcular ahead/behind sem modificar working tree. +- Etapa 5: permitir fast-forward apenas quando worktree estiver limpo e o merge for comprovadamente `--ff-only`. +- Etapa 6: bloquear qualquer dirty tree, divergencia, falta de credencial, ambiente ausente, remote divergente ou renome pendente. +- Etapa 7: gravar JSON, CSV e Markdown com hash, timestamp, comando e decisao. +- Etapa 8: nunca executar reset, clean, checkout, merge nao fast-forward, rebase ou pull generico. + +## Scheduled Task Windows sugerida + +```powershell +$python = 'C:\Users\Ami\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe' +$repo = 'G:\_codex-git\tudo-para-ia-mais-humana-plataform' +$central = 'G:\_codex-git\nucleo-gestao-operacional\central-de-ordem-de-servico\projects\15_repo_tudo-para-ia-mais-humana' +$action = New-ScheduledTaskAction -Execute $python -Argument "-m mais_humana.cli repo-mesh --ecosystem-root G:\_codex-git --project-root $repo --central-platform-folder $central --fetch" +$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 5) +Register-ScheduledTask -TaskName 'TudoParaIA-RepositoryMeshSync' -Action $action -Trigger $trigger +``` + +## Cron Linux sugerido + +```cron +*/5 * * * * cd /root/__gpt-codex/tudo-para-ia-mais-humana-plataform && python -m mais_humana.cli repo-mesh --ecosystem-root /root/__gpt-codex --fetch +``` + +## Estado desta rodada + +- report_id: `repository-mesh-25823a78b901` +- blocked: `15` +- attention: `0` +- credential_errors: `0` +- missing_materializations: `38` + +## Bloqueios para ativacao plena + +- tudo-para-ia-business-platform: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-compliance-platform: hash unico 7e88a2beb57e; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-customer-ops-platform: hash unico ef83587577f9; 3 materializacoes ausentes/inacessiveis; 1 remotes divergentes; 2 divergencias nominais +- tudo-para-ia-docs-plataform: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-finance-platform: hash unico 81eb44e3cdeb; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-gettys-platform: hash unico 9d0c4c2594d0; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-identity-platform: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-integracoes-platform: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 remotes divergentes; 4 divergencias nominais +- tudo-para-ia-intelligence-platform: hash unico 0ebe258ed33e; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva +- tudo-para-ia-mais-humana-plataform: hash unico 3d2748adf5e0; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 3 divergencias nominais; 1 bloqueios contra sync destrutiva +- tudo-para-ia-mcps-internos-plataform: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-platform-base: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 worktrees sujos; 2 divergencias nominais; 4 bloqueios contra sync destrutiva +- tudo-para-ia-public-platform: hash unico b1bad49c12a4; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-stj-platform: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais +- tudo-para-ia-ui-platform: hash unico 64e52f8949eb; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva diff --git a/ecossistema/REPOSITORY-MESH-GITEA.md b/ecossistema/REPOSITORY-MESH-GITEA.md new file mode 100644 index 0000000..b453915 --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-GITEA.md @@ -0,0 +1,163 @@ +# Gitea Repository Mesh Plan + +- mesh_plan_id: `gitea-mesh-plan-fb07fa55e9d8` +- generated_at: `2026-04-30T13:46:41+00:00` +- base_url: `https://git.ami.app.br` +- authenticated_as: `none` +- exists: `15` +- missing: `0` +- blocked: `15` + +## Repositorios + +### tudo-para-ia-business-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-business-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-business-platform` + +### tudo-para-ia-compliance-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-compliance-platform` + +### tudo-para-ia-customer-ops-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-customer-ops-platform` + +### tudo-para-ia-docs-plataform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-docs-plataform` + +### tudo-para-ia-finance-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-finance-platform` + +### tudo-para-ia-gettys-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-gettys-platform` + +### tudo-para-ia-identity-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-identity-platform` + +### tudo-para-ia-integracoes-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository, require_owner_decision, rename_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota; renome remoto depende de decisao institucional +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-integracoes-platform` + - `PATCH /api/v1/repos/admin/tudo-para-ia-integracoes-platform name=tudo-para-ia-integracoes-plataform` + +### tudo-para-ia-intelligence-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-intelligence-platform` + +### tudo-para-ia-mais-humana-plataform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository, require_owner_decision, rename_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota; renome remoto depende de decisao institucional +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-mais-humana` + - `PATCH /api/v1/repos/admin/tudo-para-ia-mais-humana name=tudo-para-ia-mais-humana-plataform` + +### tudo-para-ia-mcps-internos-plataform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-mcps-internos-plataform` + +### tudo-para-ia-platform-base + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-platform-base.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-platform-base` + +### tudo-para-ia-public-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-public-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-public-platform` + +### tudo-para-ia-stj-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-stj-platform` + +### tudo-para-ia-ui-platform + +- clone_url: `https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git` +- status: `exists` +- blocked: `True` +- actions: require_token, verify_repository +- reason: credencial Gitea ausente; nao e seguro declarar existencia/criacao remota +- api_requests: + - `GET /api/v1/repos/admin/tudo-para-ia-ui-platform` diff --git a/ecossistema/REPOSITORY-MESH-ORDERS.md b/ecossistema/REPOSITORY-MESH-ORDERS.md new file mode 100644 index 0000000..979c792 --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-ORDERS.md @@ -0,0 +1,94 @@ +# Ordens relacionadas por repositorio + +- report_id: `repository-mesh-25823a78b901` +- generated_at: `2026-04-30T13:46:41+00:00` + +## tudo-para-ia-business-platform + +- pasta_central: `01_repo_tudo-para-ia-business-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-compliance-platform + +- pasta_central: `02_repo_tudo-para-ia-compliance-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-customer-ops-platform + +- pasta_central: `03_repo_tudo-para-ia-customer-ops-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-docs-plataform + +- pasta_central: `04_repo_tudo-para-ia-docs-plataform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-finance-platform + +- pasta_central: `05_repo_tudo-para-ia-finance-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-gettys-platform + +- pasta_central: `06_repo_tudo-para-ia-gettys-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-identity-platform + +- pasta_central: `07_repo_tudo-para-ia-identity-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-integracoes-platform + +- pasta_central: `08_repo_tudo-para-ia-integracoes-plataform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-intelligence-platform + +- pasta_central: `09_repo_tudo-para-ia-intelligence-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-mais-humana-plataform + +- pasta_central: `15_repo_tudo-para-ia-mais-humana` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-mcps-internos-plataform + +- pasta_central: `10_repo_tudo-para-ia-mcps-internos-plataform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-platform-base + +- pasta_central: `11_repo_tudo-para-ia-platform-base` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-public-platform + +- pasta_central: `12_repo_tudo-para-ia-public-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-stj-platform + +- pasta_central: `13_repo_tudo-para-ia-stj-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente + +## tudo-para-ia-ui-platform + +- pasta_central: `14_repo_tudo-para-ia-ui-platform` +- risco: `blocked` +- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente diff --git a/ecossistema/REPOSITORY-MESH-READINESS.md b/ecossistema/REPOSITORY-MESH-READINESS.md new file mode 100644 index 0000000..24118c6 --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-READINESS.md @@ -0,0 +1,246 @@ +# Repository Mesh Readiness + +- readiness_id: `mesh-readiness-9723f925d91c` +- report_id: `repository-mesh-25823a78b901` +- plan_id: `mesh-plan-5c7e3edb6b33` +- cycle_id: `mesh-cycle-7634bd77674c` +- generated_at: `2026-04-30T13:46:41+00:00` +- status: `warn` +- score: `92` +- blockers: `0` +- warnings: `2` + +## Sumario + +- score: 92 +- status: warn +- gates: 19 +- blockers: 0 +- warnings: 2 +- passed: 17 + +## Gates + +### inventory.targets-declared + +- status: `pass` +- severity: `info` +- score: `100` +- title: Todos os repositorios declarados foram carregados +- reason: Repositorios declarados: 15. +- next_action: atualizar manifesto da OS permanente +- evidence: + - `15` + +### inventory.observations-created + +- status: `pass` +- severity: `info` +- score: `100` +- title: Observacoes por ambiente foram criadas +- reason: Observacoes: 60. +- next_action: rodar inventario nos ambientes faltantes +- evidence: + - `60` + +### inventory.hashes-present + +- status: `pass` +- severity: `info` +- score: `100` +- title: Ao menos um hash HEAD foi observado +- reason: Hashes HEAD foram coletados em ambientes acessiveis. +- next_action: corrigir acesso a repositorios e repetir git rev-parse HEAD +- evidence: + - `tudo-para-ia-business-platform` + - `tudo-para-ia-compliance-platform` + - `tudo-para-ia-customer-ops-platform` + - `tudo-para-ia-docs-plataform` + - `tudo-para-ia-finance-platform` + - `tudo-para-ia-gettys-platform` + - `tudo-para-ia-identity-platform` + - `tudo-para-ia-integracoes-platform` + +### inventory.fetch-attempted + +- status: `pass` +- severity: `info` +- score: `100` +- title: Fetch nao destrutivo foi tentado quando solicitado +- reason: Fetch habilitado no ciclo. +- next_action: executar repo-mesh --fetch em rodada com credencial Git disponivel +- evidence: + - `fetch_enabled=True` + +### safety.no-destructive-auto + +- status: `pass` +- severity: `info` +- score: `100` +- title: Nenhum comando destrutivo ficou permitido automaticamente +- reason: Runtime nao permitiu comando destrutivo. +- next_action: corrigir gates do runtime antes de ativar scheduler + +### safety.dirty-blocked + +- status: `pass` +- severity: `info` +- score: `100` +- title: Working trees sujos viraram bloqueio +- reason: Worktrees sujos detectados: 5. +- next_action: commit/stash consciente ou decisao de precedencia +- evidence: + - `5` + +### safety.credentials-classified + +- status: `pass` +- severity: `info` +- score: `100` +- title: Falhas de credencial foram classificadas +- reason: Falhas de credencial: 0; recibos credential_blocked: 0. +- next_action: configurar credencial Git e repetir fetch +- evidence: + - `0` + - `0` + +### safety.receipts-created + +- status: `pass` +- severity: `info` +- score: `100` +- title: Recibos de reconciliacao foram criados +- reason: Recibos: 15; repositorios: 15. +- next_action: regerar plano de reconciliacao +- evidence: + - `15` + - `15` + +### safety.blockers-visible + +- status: `warn` +- severity: `warning` +- score: `10` +- title: Bloqueios estao visiveis no plano +- reason: Recibos com blocker: 15. +- next_action: executar ordens de saida para remover bloqueios reais +- evidence: + - `15` + +### naming.policy-evaluated + +- status: `pass` +- severity: `info` +- score: `100` +- title: Politica de nomenclatura avaliou os repositorios +- reason: Decisoes nominais: 30. +- next_action: executar reconciliacao com raizes acessiveis +- evidence: + - `30` + +### naming.no-conflicts + +- status: `pass` +- severity: `info` +- score: `100` +- title: Conflitos de nome foram bloqueados +- reason: Conflitos nominais: 0. +- next_action: comparar variantes platform/plataform/alias antes de rename ou clone + +### naming.pending-visible + +- status: `warn` +- severity: `warning` +- score: `30` +- title: Pendencias nominais estao visiveis +- reason: Pendencias nominais: 11. +- next_action: executar ordens de renome/alias geradas pela reconciliacao +- evidence: + - `tudo-para-ia-compliance-platform:missing` + - `tudo-para-ia-customer-ops-platform:missing` + - `tudo-para-ia-finance-platform:missing` + - `tudo-para-ia-gettys-platform:missing` + - `tudo-para-ia-integracoes-platform:canonical_rename_required` + - `tudo-para-ia-integracoes-platform:canonical_rename_required` + - `tudo-para-ia-intelligence-platform:missing` + - `tudo-para-ia-mais-humana-plataform:canonical_rename_required` + +### automation.runtime-cycle + +- status: `pass` +- severity: `info` +- score: `100` +- title: Ciclo runtime foi gerado +- reason: Ciclo: mesh-cycle-7634bd77674c. +- next_action: gerar runtime cycle com lock e comandos +- evidence: + - `mesh-cycle-7634bd77674c` + +### automation.lock-held + +- status: `pass` +- severity: `info` +- score: `100` +- title: Runtime registrou estado de lock +- reason: Lock: stale_replaced. +- next_action: corrigir lock do runtime +- evidence: + - `G:\_codex-git\tudo-para-ia-mais-humana\dados\repository-mesh.lock.json` + - `stale_replaced` + +### automation.schedulers + +- status: `pass` +- severity: `info` +- score: `100` +- title: Schedulers Windows e Linux foram especificados +- reason: Schedulers: cron, windows_task. +- next_action: publicar instalacao em cada ambiente +- evidence: + - `cron` + - `windows_task` + +### automation.allowed-commands-limited + +- status: `pass` +- severity: `info` +- score: `100` +- title: Comandos automaticos permitidos sao minoria controlada +- reason: Allowed: 4; total: 133. +- next_action: revisar gates se comandos automaticos crescerem sem recibo +- evidence: + - `4` + - `133` + +### semantic.report + +- status: `pass` +- severity: `info` +- score: `100` +- title: SQL registrou report da malha +- reason: Reports SQL: 3. +- next_action: executar write_repository_mesh_semantic_state +- evidence: + - `3` + +### semantic.receipts + +- status: `pass` +- severity: `info` +- score: `100` +- title: SQL registrou recibos de reconciliacao +- reason: Receipts SQL: 15. +- next_action: persistir plano de reconciliacao no SQLite +- evidence: + - `15` + +### semantic.schedulers + +- status: `pass` +- severity: `info` +- score: `100` +- title: SQL registrou schedulers +- reason: Schedulers SQL: 2. +- next_action: persistir specs de scheduler Windows/Cron +- evidence: + - `2` diff --git a/ecossistema/REPOSITORY-MESH-RECONCILIATION.md b/ecossistema/REPOSITORY-MESH-RECONCILIATION.md new file mode 100644 index 0000000..db57f9e --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-RECONCILIATION.md @@ -0,0 +1,350 @@ +# Repository Mesh Reconciliation Plan + +- plan_id: `mesh-plan-5c7e3edb6b33` +- report_id: `repository-mesh-25823a78b901` +- generated_at: `2026-04-30T13:46:41+00:00` +- blockers: `15` +- auto_sync_ready: `0` +- rename_ready: `0` +- credential_blocked: `0` + +## Sumario + +- recibos: 15 +- auto_sync_ready: 0 +- bloqueados: 15 +- renomes_prontos: 0 +- credenciais_pendentes: 0 + +## Recibos + +### tudo-para-ia-business-platform + +- receipt_id: `mesh-receipt-a49d74c8be8d` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `cee7e824559832f3e36492dfadf0777d605afee8` +- selected_environment: `windows-primary` +- precedence: `local_ahead` +- reason: um ambiente possui commits locais a frente e nao ha behind registrado +- nomenclatura: + - `exact` selected=`tudo-para-ia-business-platform` expected=`tudo-para-ia-business-platform` reason=nome esperado ja esta materializado + - `exact` selected=`tudo-para-ia-business-platform` expected=`tudo-para-ia-business-platform` reason=nome esperado ja esta materializado +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - push exige credencial e validacao de remoto antes de convergir +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + +### tudo-para-ia-compliance-platform + +- receipt_id: `mesh-receipt-4cb873ce1328` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `7e88a2beb57ecb4a07534733638110b999dce561` +- selected_environment: `windows-primary` +- precedence: `single_hash` +- reason: todos os ambientes com HEAD confirmado apontam para o mesmo commit +- nomenclatura: + - `exact` selected=`tudo-para-ia-compliance-platform` expected=`tudo-para-ia-compliance-platform` reason=nome esperado ja esta materializado + - `missing` selected=`` expected=`tudo-para-ia-compliance-platform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - repositorio declarado nao existe no ambiente observado +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino + +### tudo-para-ia-customer-ops-platform + +- receipt_id: `mesh-receipt-76d38c9b58b4` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `ef83587577f93ed6df086db39975c83e1216edac` +- selected_environment: `windows-primary` +- precedence: `single_hash` +- reason: todos os ambientes com HEAD confirmado apontam para o mesmo commit +- nomenclatura: + - `exact` selected=`tudo-para-ia-customer-ops-platform` expected=`tudo-para-ia-customer-ops-platform` reason=nome esperado ja esta materializado + - `missing` selected=`` expected=`tudo-para-ia-customer-ops-platform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - repositorio declarado nao existe no ambiente observado + - remote origin nao corresponde ao Gitea esperado +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino + - `remote_mismatch` `warning` `manual`: Corrigir remote origin divergente + +### tudo-para-ia-docs-plataform + +- receipt_id: `mesh-receipt-4d709e26bc96` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `80095cd75b612ce09b704bc00bf54dbdc59ccdf3` +- selected_environment: `windows-primary` +- precedence: `local_ahead` +- reason: um ambiente possui commits locais a frente e nao ha behind registrado +- nomenclatura: + - `exact` selected=`tudo-para-ia-docs-plataform` expected=`tudo-para-ia-docs-plataform` reason=nome esperado ja esta materializado + - `exact` selected=`tudo-para-ia-docs-plataform` expected=`tudo-para-ia-docs-plataform` reason=nome esperado ja esta materializado +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - push exige credencial e validacao de remoto antes de convergir +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + +### tudo-para-ia-finance-platform + +- receipt_id: `mesh-receipt-92c0d80b1a54` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `81eb44e3cdeb9912d45a9ba43c904d39bf0ae884` +- selected_environment: `windows-primary` +- precedence: `single_hash` +- reason: todos os ambientes com HEAD confirmado apontam para o mesmo commit +- nomenclatura: + - `exact` selected=`tudo-para-ia-finance-platform` expected=`tudo-para-ia-finance-platform` reason=nome esperado ja esta materializado + - `missing` selected=`` expected=`tudo-para-ia-finance-platform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - repositorio declarado nao existe no ambiente observado +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino + +### tudo-para-ia-gettys-platform + +- receipt_id: `mesh-receipt-d83d967d1f2b` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `9d0c4c2594d019e70568f21c23b04e4693225ce1` +- selected_environment: `windows-primary` +- precedence: `single_hash` +- reason: todos os ambientes com HEAD confirmado apontam para o mesmo commit +- nomenclatura: + - `exact` selected=`tudo-para-ia-gettys-platform` expected=`tudo-para-ia-gettys-platform` reason=nome esperado ja esta materializado + - `missing` selected=`` expected=`tudo-para-ia-gettys-platform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - repositorio declarado nao existe no ambiente observado +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino + +### tudo-para-ia-identity-platform + +- receipt_id: `mesh-receipt-6d5b2c3fcbf8` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `cdfe78714d61bf36793d38bdadf2fcd736ae08c1` +- selected_environment: `windows-primary` +- precedence: `local_ahead` +- reason: um ambiente possui commits locais a frente e nao ha behind registrado +- nomenclatura: + - `exact` selected=`tudo-para-ia-identity-platform` expected=`tudo-para-ia-identity-platform` reason=nome esperado ja esta materializado + - `exact` selected=`tudo-para-ia-identity-platform` expected=`tudo-para-ia-identity-platform` reason=nome esperado ja esta materializado +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - push exige credencial e validacao de remoto antes de convergir +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + +### tudo-para-ia-integracoes-platform + +- receipt_id: `mesh-receipt-aaba6c30df14` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `6371413be59b2d4dbea347b7305db0f15c8f0c28` +- selected_environment: `windows-primary` +- precedence: `local_ahead` +- reason: um ambiente possui commits locais a frente e nao ha behind registrado +- nomenclatura: + - `canonical_rename_required` selected=`tudo-para-ia-integracoes-plataform` expected=`tudo-para-ia-integracoes-platform` reason=pasta encontrada como tudo-para-ia-integracoes-plataform, esperado tudo-para-ia-integracoes-platform + - `canonical_rename_required` selected=`tudo-para-ia-integracoes-plataform` expected=`tudo-para-ia-integracoes-platform` reason=pasta encontrada como tudo-para-ia-integracoes-plataform, esperado tudo-para-ia-integracoes-platform +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - remote origin nao corresponde ao Gitea esperado + - materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform + - push exige credencial e validacao de remoto antes de convergir +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `remote_mismatch` `warning` `manual`: Corrigir remote origin divergente + - `remote_mismatch` `warning` `manual`: Corrigir remote origin divergente + - `nominal_rename_ready` `warning` `auto`: Reconciliar nomenclatura local/canonica + - `nominal_rename_ready` `warning` `auto`: Reconciliar nomenclatura local/canonica + +### tudo-para-ia-intelligence-platform + +- receipt_id: `mesh-receipt-286eb398adae` +- status: `dirty_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `` +- selected_environment: `` +- precedence: `dirty_tree` +- reason: estado sujo impede declarar commit como fonte unica de verdade +- nomenclatura: + - `exact` selected=`tudo-para-ia-intelligence-platform` expected=`tudo-para-ia-intelligence-platform` reason=nome esperado ja esta materializado + - `missing` selected=`` expected=`tudo-para-ia-intelligence-platform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - alteracoes locais nao commitadas podem ser a versao valida mais recente + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - repositorio declarado nao existe no ambiente observado + - windows-primary possui working tree sujo +- operacoes: + - `dirty_blocked` `blocker` `manual`: Bloquear sincronizacao destrutiva por working tree sujo + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino + +### tudo-para-ia-mais-humana-plataform + +- receipt_id: `mesh-receipt-aba57158afb9` +- status: `dirty_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `` +- selected_environment: `` +- precedence: `dirty_tree` +- reason: estado sujo impede declarar commit como fonte unica de verdade +- nomenclatura: + - `canonical_rename_required` selected=`tudo-para-ia-mais-humana` expected=`tudo-para-ia-mais-humana-plataform` reason=pasta encontrada como tudo-para-ia-mais-humana, esperado tudo-para-ia-mais-humana-plataform + - `missing` selected=`` expected=`tudo-para-ia-mais-humana-plataform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - alteracoes locais nao commitadas podem ser a versao valida mais recente + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform + - repositorio declarado nao existe no ambiente observado + - windows-primary possui working tree sujo +- operacoes: + - `dirty_blocked` `blocker` `manual`: Bloquear sincronizacao destrutiva por working tree sujo + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino + - `manual_decision_required` `blocker` `manual`: Reconciliar nomenclatura local/canonica + +### tudo-para-ia-mcps-internos-plataform + +- receipt_id: `mesh-receipt-a84946b8a14a` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2` +- selected_environment: `windows-primary` +- precedence: `local_ahead` +- reason: um ambiente possui commits locais a frente e nao ha behind registrado +- nomenclatura: + - `exact` selected=`tudo-para-ia-mcps-internos-plataform` expected=`tudo-para-ia-mcps-internos-plataform` reason=nome esperado ja esta materializado + - `exact` selected=`tudo-para-ia-mcps-internos-plataform` expected=`tudo-para-ia-mcps-internos-plataform` reason=nome esperado ja esta materializado +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - push exige credencial e validacao de remoto antes de convergir +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + +### tudo-para-ia-platform-base + +- receipt_id: `mesh-receipt-432e0adc6f8b` +- status: `dirty_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `` +- selected_environment: `` +- precedence: `dirty_tree` +- reason: estado sujo impede declarar commit como fonte unica de verdade +- nomenclatura: + - `exact` selected=`tudo-para-ia-platform-base` expected=`tudo-para-ia-platform-base` reason=nome esperado ja esta materializado + - `exact` selected=`tudo-para-ia-platform-base` expected=`tudo-para-ia-platform-base` reason=nome esperado ja esta materializado +- pendencias: + - alteracoes locais nao commitadas podem ser a versao valida mais recente + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - windows-primary possui working tree sujo + - windows-secondary possui working tree sujo +- operacoes: + - `dirty_blocked` `blocker` `manual`: Bloquear sincronizacao destrutiva por working tree sujo + - `dirty_blocked` `blocker` `manual`: Bloquear sincronizacao destrutiva por working tree sujo + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + +### tudo-para-ia-public-platform + +- receipt_id: `mesh-receipt-6cf5fadc238f` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42` +- selected_environment: `windows-primary` +- precedence: `single_hash` +- reason: todos os ambientes com HEAD confirmado apontam para o mesmo commit +- nomenclatura: + - `exact` selected=`tudo-para-ia-public-platform` expected=`tudo-para-ia-public-platform` reason=nome esperado ja esta materializado + - `missing` selected=`` expected=`tudo-para-ia-public-platform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - repositorio declarado nao existe no ambiente observado +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino + +### tudo-para-ia-stj-platform + +- receipt_id: `mesh-receipt-bb026d9866c6` +- status: `environment_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7` +- selected_environment: `windows-primary` +- precedence: `local_ahead` +- reason: um ambiente possui commits locais a frente e nao ha behind registrado +- nomenclatura: + - `exact` selected=`tudo-para-ia-stj-platform` expected=`tudo-para-ia-stj-platform` reason=nome esperado ja esta materializado + - `exact` selected=`tudo-para-ia-stj-platform` expected=`tudo-para-ia-stj-platform` reason=nome esperado ja esta materializado +- pendencias: + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - push exige credencial e validacao de remoto antes de convergir +- operacoes: + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + +### tudo-para-ia-ui-platform + +- receipt_id: `mesh-receipt-b9242d750d57` +- status: `dirty_blocked` +- risk: `blocked` +- safe_to_auto_sync: `False` +- selected_head: `` +- selected_environment: `` +- precedence: `dirty_tree` +- reason: estado sujo impede declarar commit como fonte unica de verdade +- nomenclatura: + - `exact` selected=`tudo-para-ia-ui-platform` expected=`tudo-para-ia-ui-platform` reason=nome esperado ja esta materializado + - `missing` selected=`` expected=`tudo-para-ia-ui-platform` reason=nenhuma variante nominal foi encontrada +- pendencias: + - alteracoes locais nao commitadas podem ser a versao valida mais recente + - ambiente declarado pela OS nao esta acessivel a partir desta sessao + - repositorio declarado nao existe no ambiente observado + - windows-primary possui working tree sujo +- operacoes: + - `dirty_blocked` `blocker` `manual`: Bloquear sincronizacao destrutiva por working tree sujo + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `environment_blocked` `blocker` `manual`: Executar inventario no ambiente inacessivel + - `missing_materialization` `warning` `manual`: Materializar espelho ausente sem sobrescrever destino diff --git a/ecossistema/REPOSITORY-MESH-RUNTIME.md b/ecossistema/REPOSITORY-MESH-RUNTIME.md new file mode 100644 index 0000000..900413f --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-RUNTIME.md @@ -0,0 +1,283 @@ +# Repository Mesh Runtime Cycle + +- cycle_id: `mesh-cycle-7634bd77674c` +- report_id: `repository-mesh-25823a78b901` +- plan_id: `mesh-plan-5c7e3edb6b33` +- generated_at: `2026-04-30T13:46:41+00:00` +- lock_status: `stale_replaced` +- allowed: `4` +- blocked: `129` +- skipped: `0` + +## Sumario + +- commands: 133 +- allowed: 4 +- blocked: 129 +- skipped: 0 +- lock: stale_replaced + +## Comandos + +- `blocked` `tudo-para-ia-business-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-business-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-business-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-business-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-business-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-compliance-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-compliance-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-compliance-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-compliance-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-compliance-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-customer-ops-platform` `git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-customer-ops-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-customer-ops-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-customer-ops-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-customer-ops-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-customer-ops-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-docs-plataform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-docs-plataform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-docs-plataform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-docs-plataform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-docs-plataform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-finance-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-finance-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-finance-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-finance-platform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-finance-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-finance-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-gettys-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-gettys-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-gettys-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-gettys-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-gettys-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-identity-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-identity-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-identity-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-identity-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-identity-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `allowed` `tudo-para-ia-integracoes-platform` `Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'` +- `blocked` `tudo-para-ia-integracoes-platform` `git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-integracoes-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-integracoes-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `allowed` `tudo-para-ia-integracoes-platform` `Rename-Item -LiteralPath 'G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'` +- `blocked` `tudo-para-ia-integracoes-platform` `git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-integracoes-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-integracoes-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-integracoes-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-intelligence-platform` `NOOP action:block_destructive_sync` + - bloqueios: comando ou acao marcado como destrutivo; acao nao marcada como automatica +- `blocked` `tudo-para-ia-intelligence-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-intelligence-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-intelligence-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-intelligence-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mais-humana-plataform` `Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mais-humana-plataform` `NOOP action:block_destructive_sync` + - bloqueios: comando ou acao marcado como destrutivo; acao nao marcada como automatica +- `blocked` `tudo-para-ia-mais-humana-plataform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mais-humana-plataform` `git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mais-humana-plataform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mais-humana-plataform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mcps-internos-plataform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mcps-internos-plataform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mcps-internos-plataform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mcps-internos-plataform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-mcps-internos-plataform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `NOOP action:block_destructive_sync` + - bloqueios: comando ou acao marcado como destrutivo; acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `NOOP action:block_destructive_sync` + - bloqueios: comando ou acao marcado como destrutivo; acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `NOOP action:block_destructive_sync` + - bloqueios: comando ou acao marcado como destrutivo; acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `git fetch --all --prune` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `git merge --ff-only @{u}` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-platform-base` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-public-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-public-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-public-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\codex_vm\_codex-git\tudo-para-ia-public-platform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-public-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-public-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-stj-platform` `git push origin HEAD` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-stj-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-stj-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-stj-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-stj-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-ui-platform` `NOOP action:block_destructive_sync` + - bloqueios: comando ou acao marcado como destrutivo; acao nao marcada como automatica +- `blocked` `tudo-para-ia-ui-platform` `NOOP action:register_evidence` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-ui-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\codex_vm\_codex-git\tudo-para-ia-ui-platform` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-ui-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-ui-platform` `NOOP action:require_environment_access` + - bloqueios: acao nao marcada como automatica +- `blocked` `tudo-para-ia-business-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-business-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-compliance-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-compliance-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-compliance-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-customer-ops-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-customer-ops-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-customer-ops-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-customer-ops-platform` `git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-docs-plataform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-docs-plataform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-finance-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-finance-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-finance-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-finance-platform` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-gettys-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-gettys-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-gettys-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-identity-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-identity-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-integracoes-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-integracoes-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-integracoes-platform` `git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git` + - bloqueios: operacao requer execucao manual +- `allowed` `tudo-para-ia-integracoes-platform` `Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'` +- `allowed` `tudo-para-ia-integracoes-platform` `Rename-Item -LiteralPath 'G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform'` +- `blocked` `tudo-para-ia-intelligence-platform` `NOOP operation:dirty_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-intelligence-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-intelligence-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-intelligence-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-mais-humana-plataform` `NOOP operation:dirty_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-mais-humana-plataform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-mais-humana-plataform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-mais-humana-plataform` `git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-mais-humana-plataform` `Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform'` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-mcps-internos-plataform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-mcps-internos-plataform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-platform-base` `NOOP operation:dirty_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-platform-base` `NOOP operation:dirty_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-platform-base` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-platform-base` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-public-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-public-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-public-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\codex_vm\_codex-git\tudo-para-ia-public-platform` + - bloqueios: operacao requer execucao manual +- `blocked` `tudo-para-ia-stj-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-stj-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-ui-platform` `NOOP operation:dirty_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-ui-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-ui-platform` `NOOP operation:environment_blocked` + - bloqueios: operacao possui severidade blocker; operacao requer execucao manual +- `blocked` `tudo-para-ia-ui-platform` `git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\codex_vm\_codex-git\tudo-para-ia-ui-platform` + - bloqueios: operacao requer execucao manual diff --git a/ecossistema/REPOSITORY-MESH-SCHEDULERS.md b/ecossistema/REPOSITORY-MESH-SCHEDULERS.md new file mode 100644 index 0000000..7e56949 --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-SCHEDULERS.md @@ -0,0 +1,37 @@ +# Repository Mesh Scheduler Specs + +## TudoParaIA-RepositoryMeshSync + +- kind: `windows_task` +- interval_minutes: `5` +- working_directory: `G:\_codex-git\tudo-para-ia-mais-humana` +- log_path: `G:\_codex-git\tudo-para-ia-mais-humana\dados\repository-mesh-runtime.jsonl` + +Install: +- `$Action = New-ScheduledTaskAction -Execute 'C:\Users\Ami\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe' -Argument "-m mais_humana.cli repo-mesh --ecosystem-root 'G:\_codex-git' --project-root 'G:\_codex-git\tudo-para-ia-mais-humana' --fetch"` +- `$Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 5)` +- `Register-ScheduledTask -TaskName 'TudoParaIA-RepositoryMeshSync' -Action $Action -Trigger $Trigger` + +Uninstall: +- `Unregister-ScheduledTask -TaskName 'TudoParaIA-RepositoryMeshSync' -Confirm:$false` + +Notas: +- usar credencial Git do usuario operacional +- nao usar plugin Cloudflare como via de sincronizacao + +## tudo-para-ia-repository-mesh-sync + +- kind: `cron` +- interval_minutes: `5` +- working_directory: `G:\_codex-git\tudo-para-ia-mais-humana` +- log_path: `G:\_codex-git\tudo-para-ia-mais-humana\dados\repository-mesh-cron.log` + +Install: +- `(crontab -l; echo "*/5 * * * * cd 'G:\_codex-git\tudo-para-ia-mais-humana' && PYTHONPATH='G:\_codex-git\tudo-para-ia-mais-humana\src' 'python' -m mais_humana.cli repo-mesh --ecosystem-root 'G:\_codex-git' --project-root 'G:\_codex-git\tudo-para-ia-mais-humana' --fetch >> 'G:\_codex-git\tudo-para-ia-mais-humana\dados\repository-mesh-cron.log' 2>&1") | crontab -` + +Uninstall: +- `crontab -l | grep -v 'repository-mesh' | crontab -` + +Notas: +- executar em cada host Linux da malha +- bloquear se houver dirty tree ou divergencia diff --git a/ecossistema/REPOSITORY-MESH-SYNC.md b/ecossistema/REPOSITORY-MESH-SYNC.md new file mode 100644 index 0000000..5601d3b --- /dev/null +++ b/ecossistema/REPOSITORY-MESH-SYNC.md @@ -0,0 +1,368 @@ +# Repository Mesh Sync + +- report_id: `repository-mesh-25823a78b901` +- generated_at: `2026-04-30T13:46:41+00:00` +- ecosystem_root: `G:\_codex-git` +- fetch_enabled: `True` +- plugin_cloudflare_auth_attempt: `user rejected MCP tool call` +- repositorios declarados: `15` +- ambientes declarados: `4` +- observacoes: `60` +- ok: `0` +- attention: `0` +- blocked: `15` +- worktrees sujos: `5` +- falhas de credencial: `0` +- bloqueios contra sync destrutiva: `7` + +## Regra de seguranca aplicada + +- Nenhum reset, checkout, clean, pull, merge ou rebase automatico foi executado por esta rotina. +- Fetch e inventario usam `git -c safe.directory=*` para evitar falso negativo de ownership sem alterar config global. +- Worktree sujo, divergencia ahead/behind, diretorio sem `.git`, credencial ausente e ambiente inacessivel viram bloqueio ou atencao documentada. +- A rotina privilegia preservacao da alteracao valida mais recente e bloqueia qualquer acao que possa reintroduzir estado antigo. + +## Repositorios + +### tudo-para-ia-business-platform + +- esperado_local: `tudo-para-ia-business-platform` +- repositorio_gitea: `admin/tudo-para-ia-business-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-business-platform.git` +- risco: `blocked` +- resumo: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `cee7e8245598` | `https://git.ami.app.br/admin/tudo-para-ia-business-platform.git` | `clean` | | +| `windows-secondary` | `present_git` | `main` | `3eae5dd9a542` | `https://git.ami.app.br/admin/tudo-para-ia-business-platform.git` | `clean` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-compliance-platform + +- esperado_local: `tudo-para-ia-compliance-platform` +- repositorio_gitea: `admin/tudo-para-ia-compliance-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git` +- risco: `blocked` +- resumo: hash unico 7e88a2beb57e; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `7e88a2beb57e` | `https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git` | `clean` | | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-customer-ops-platform + +- esperado_local: `tudo-para-ia-customer-ops-platform` +- repositorio_gitea: `admin/tudo-para-ia-customer-ops-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git` +- risco: `blocked` +- resumo: hash unico ef83587577f9; 3 materializacoes ausentes/inacessiveis; 1 remotes divergentes; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `ef83587577f9` | `https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git` | `clean` | | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `fix_remote_url` `attention` `manual`: remote origin nao corresponde ao Gitea esperado +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-docs-plataform + +- esperado_local: `tudo-para-ia-docs-plataform` +- repositorio_gitea: `admin/tudo-para-ia-docs-plataform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git` +- risco: `blocked` +- resumo: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `80095cd75b61` | `https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git` | `clean` | | +| `windows-secondary` | `present_git` | `main` | `ef25192b7c41` | `https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git` | `clean` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-finance-platform + +- esperado_local: `tudo-para-ia-finance-platform` +- repositorio_gitea: `admin/tudo-para-ia-finance-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git` +- risco: `blocked` +- resumo: hash unico 81eb44e3cdeb; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `81eb44e3cdeb` | `https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git` | `clean` | | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-gettys-platform + +- esperado_local: `tudo-para-ia-gettys-platform` +- repositorio_gitea: `admin/tudo-para-ia-gettys-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git` +- risco: `blocked` +- resumo: hash unico 9d0c4c2594d0; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `9d0c4c2594d0` | `https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git` | `clean` | | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-identity-platform + +- esperado_local: `tudo-para-ia-identity-platform` +- repositorio_gitea: `admin/tudo-para-ia-identity-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git` +- risco: `blocked` +- resumo: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `cdfe78714d61` | `https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git` | `clean` | | +| `windows-secondary` | `present_git` | `main` | `ecc93e089819` | `https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git` | `clean` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-integracoes-platform + +- esperado_local: `tudo-para-ia-integracoes-platform` +- repositorio_gitea: `admin/tudo-para-ia-integracoes-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git` +- risco: `blocked` +- resumo: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 remotes divergentes; 4 divergencias nominais +- notas: + - ordem declarou platform, espelho local conhecido usa plataform + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `6371413be59b` | `https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git` | `clean` | materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform | +| `windows-secondary` | `present_git` | `main` | `5b015a1d63a2` | `https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git` | `clean` | materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `rename_local_folder` `attention` `auto`: materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform +- `fix_remote_url` `attention` `manual`: remote origin nao corresponde ao Gitea esperado +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `rename_local_folder` `attention` `auto`: materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform +- `fix_remote_url` `attention` `manual`: remote origin nao corresponde ao Gitea esperado +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-intelligence-platform + +- esperado_local: `tudo-para-ia-intelligence-platform` +- repositorio_gitea: `admin/tudo-para-ia-intelligence-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git` +- risco: `blocked` +- resumo: hash unico 0ebe258ed33e; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `0ebe258ed33e` | `https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git` | `dirty` | | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `block_destructive_sync` `blocked` `manual`: working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-mais-humana-plataform + +- esperado_local: `tudo-para-ia-mais-humana-plataform` +- repositorio_gitea: `admin/tudo-para-ia-mais-humana` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git` +- risco: `blocked` +- resumo: hash unico 3d2748adf5e0; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 3 divergencias nominais; 1 bloqueios contra sync destrutiva +- notas: + - renome local autorizado nesta rodada; remoto legado segue admin/tudo-para-ia-mais-humana ate decisao Gitea + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `3d2748adf5e0` | `https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git` | `dirty` | materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `rename_local_folder` `attention` `manual`: materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform +- `block_destructive_sync` `blocked` `manual`: working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-mcps-internos-plataform + +- esperado_local: `tudo-para-ia-mcps-internos-plataform` +- repositorio_gitea: `admin/tudo-para-ia-mcps-internos-plataform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git` +- risco: `blocked` +- resumo: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `5dfaedd3d8dc` | `https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git` | `clean` | | +| `windows-secondary` | `present_git` | `main` | `e47192610f41` | `https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git` | `clean` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-platform-base + +- esperado_local: `tudo-para-ia-platform-base` +- repositorio_gitea: `admin/tudo-para-ia-platform-base` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-platform-base.git` +- risco: `blocked` +- resumo: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 worktrees sujos; 2 divergencias nominais; 4 bloqueios contra sync destrutiva + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `086d86a8ac06` | `https://git.ami.app.br/admin/tudo-para-ia-platform-base.git` | `dirty` | | +| `windows-secondary` | `present_git` | `main` | `4f6e1590ddaf` | `https://git.ami.app.br/admin/tudo-para-ia-platform-base.git` | `dirty` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `block_destructive_sync` `blocked` `manual`: working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida +- `block_destructive_sync` `blocked` `manual`: branch divergente ahead/behind; reconciliacao automatica poderia escolher versao antiga +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `block_destructive_sync` `blocked` `manual`: working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida +- `block_destructive_sync` `blocked` `manual`: ha commits remotos nao aplicados; pull automatico so e seguro com working tree limpo e comparacao de hash +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-public-platform + +- esperado_local: `tudo-para-ia-public-platform` +- repositorio_gitea: `admin/tudo-para-ia-public-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-public-platform.git` +- risco: `blocked` +- resumo: hash unico b1bad49c12a4; 3 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `b1bad49c12a4` | `https://git.ami.app.br/admin/tudo-para-ia-public-platform.git` | `clean` | | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-stj-platform + +- esperado_local: `tudo-para-ia-stj-platform` +- repositorio_gitea: `admin/tudo-para-ia-stj-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git` +- risco: `blocked` +- resumo: 2 hashes distintos; 2 materializacoes ausentes/inacessiveis; 2 divergencias nominais + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `006bd08740d0` | `https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git` | `clean` | | +| `windows-secondary` | `present_git` | `main` | `b13e6c946466` | `https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git` | `clean` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `register_evidence` `attention` `manual`: ha commits locais nao enviados; push exige credencial e revisao de precedencia +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao + +### tudo-para-ia-ui-platform + +- esperado_local: `tudo-para-ia-ui-platform` +- repositorio_gitea: `admin/tudo-para-ia-ui-platform` +- remote_esperado: `https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git` +- risco: `blocked` +- resumo: hash unico 64e52f8949eb; 3 materializacoes ausentes/inacessiveis; 1 worktrees sujos; 2 divergencias nominais; 1 bloqueios contra sync destrutiva + +| ambiente | presenca | branch | head | remote | worktree | observacao | +| --- | --- | --- | --- | --- | --- | --- | +| `windows-primary` | `present_git` | `main` | `64e52f8949eb` | `https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git` | `dirty` | | +| `windows-secondary` | `missing` | `` | `` | `` | `missing` | | +| `codex-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex | +| `gitlab-server` | `unreachable_environment` | `` | `` | `` | `unreachable_environment` | ambiente nao acessivel a partir desta sessao: /root/_codex-git | + +Acoes/decisoes: +- `block_destructive_sync` `blocked` `manual`: working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida +- `register_evidence` `attention` `manual`: fetch falhou: unknown +- `clone_missing` `attention` `manual`: espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao +- `require_environment_access` `blocked` `manual`: ambiente declarado na OS nao esta acessivel nesta sessao diff --git a/ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md b/ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md index 9c5ccc2..5c022bb 100644 --- a/ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md +++ b/ecossistema/RULEBOOK-HUMANO-OPERACIONAL.md @@ -2,7 +2,7 @@ - project_id_atual: `tudo-para-ia-mais-humana` - project_id_canonico_recomendado: `tudo-para-ia-mais-humana-plataform` -- generated_at: `2026-04-30T10:32:49+00:00` +- generated_at: `2026-04-30T11:35:06+00:00` - regras_geradas: `582` - regras_avaliadas: `582` - score_medio: `57` @@ -230,7 +230,7 @@ ### platform_base -- score: `62` +- score: `64` - bloqueadas: `0` - parciais: `32` - sem_evidencia: `0` diff --git a/ecossistema/UI-RENDERER-SAME-SOURCE-POLICY.md b/ecossistema/UI-RENDERER-SAME-SOURCE-POLICY.md new file mode 100644 index 0000000..8aa3523 --- /dev/null +++ b/ecossistema/UI-RENDERER-SAME-SOURCE-POLICY.md @@ -0,0 +1,83 @@ +# Politica UI Renderer Same-Source + +- provider: `mais_humana` +- tool: `mais_humana.admin_ui.same_source` +- telas_catalogadas: `68` + +## Regra + +- A UI Platform renderiza contratos MCP; ela nao cria estado operacional paralelo. +- Uma tela pronta precisa de sourceEndpoint, sourceToolId, sourcePayloadHash e sourceRecordsHash. +- Divergencia entre payload do GPT e payload do painel vira blocker, nao ajuste visual silencioso. +- Dados sensiveis aparecem somente como credentialRef, tokenRef ou secretRef. + +## Telas rastreadas + +- `business.billing.ui-screen` platform `business` tool `mais_humana.admin_ui.same_source` hash `40c9006f2adf` records `002046ffacc6` +- `business.checkout.ui-screen` platform `business` tool `mais_humana.admin_ui.same_source` hash `944eb00e3c3b` records `21d7da93042d` +- `business.commercial-readiness.ui-screen` platform `business` tool `mais_humana.admin_ui.same_source` hash `8221accfda36` records `1e4874560894` +- `business.consumption.ui-screen` platform `business` tool `mais_humana.admin_ui.same_source` hash `522326e8d5e5` records `2f02ede20790` +- `business.entitlements.ui-screen` platform `business` tool `mais_humana.admin_ui.same_source` hash `cc552b25bb0a` records `d45f50853166` +- `compliance.audit.ui-screen` platform `compliance` tool `mais_humana.admin_ui.same_source` hash `95a89c1cad55` records `81dbb5267dbe` +- `compliance.consent.ui-screen` platform `compliance` tool `mais_humana.admin_ui.same_source` hash `af7d26a45d75` records `6a9af3986bba` +- `compliance.privacy.ui-screen` platform `compliance` tool `mais_humana.admin_ui.same_source` hash `52c9b25c7b7f` records `8b1075ec606d` +- `compliance.retention.ui-screen` platform `compliance` tool `mais_humana.admin_ui.same_source` hash `67bf96f32954` records `edccea61255f` +- `compliance.risk.ui-screen` platform `compliance` tool `mais_humana.admin_ui.same_source` hash `7b5e9f17115a` records `7bfeea7ed4a7` +- `customer_ops.customer-status.ui-screen` platform `customer_ops` tool `mais_humana.admin_ui.same_source` hash `b296584a5cf0` records `9a97abceb31e` +- `customer_ops.diagnostics.ui-screen` platform `customer_ops` tool `mais_humana.admin_ui.same_source` hash `305c01f0e0c5` records `616788562999` +- `customer_ops.handoffs.ui-screen` platform `customer_ops` tool `mais_humana.admin_ui.same_source` hash `79f628e0da40` records `f015b1f71d61` +- `customer_ops.incidents.ui-screen` platform `customer_ops` tool `mais_humana.admin_ui.same_source` hash `40fd239ff5cb` records `1466d0fd7527` +- `customer_ops.tickets.ui-screen` platform `customer_ops` tool `mais_humana.admin_ui.same_source` hash `1074db5f0921` records `e1679260202e` +- `docs.canonical-docs.ui-screen` platform `docs` tool `mais_humana.admin_ui.same_source` hash `fb4aa2cf0224` records `c2753b2533ae` +- `docs.contracts.ui-screen` platform `docs` tool `mais_humana.admin_ui.same_source` hash `d68ce4cd38b8` records `30401592417b` +- `docs.help.ui-screen` platform `docs` tool `mais_humana.admin_ui.same_source` hash `b242c83eef48` records `54e46a2bfdba` +- `docs.proofs.ui-screen` platform `docs` tool `mais_humana.admin_ui.same_source` hash `6c81f91dc2e3` records `78c622670544` +- `docs.runbooks.ui-screen` platform `docs` tool `mais_humana.admin_ui.same_source` hash `13f7ca150a8e` records `2791c6e726ac` +- `finance.cost.ui-screen` platform `finance` tool `mais_humana.admin_ui.same_source` hash `7959dd100d7c` records `addcb1126ba7` +- `finance.invoices.ui-screen` platform `finance` tool `mais_humana.admin_ui.same_source` hash `9be4fe9ece8b` records `2a7f1a078a7e` +- `finance.quota.ui-screen` platform `finance` tool `mais_humana.admin_ui.same_source` hash `93f2325c81ed` records `09584edd15fd` +- `finance.reconciliation.ui-screen` platform `finance` tool `mais_humana.admin_ui.same_source` hash `62dd63b632e5` records `58b5b76e7fb2` +- `finance.usage.ui-screen` platform `finance` tool `mais_humana.admin_ui.same_source` hash `2a9b5940897f` records `2f509451aeeb` +- `gettys.admin-screen.ui-screen` platform `gettys` tool `mais_humana.admin_ui.same_source` hash `7eb235333b58` records `c4d4fe1c89b2` +- `gettys.gettys-overview.ui-screen` platform `gettys` tool `mais_humana.admin_ui.same_source` hash `87168abb5c67` records `98584f2def23` +- `gettys.health.ui-screen` platform `gettys` tool `mais_humana.admin_ui.same_source` hash `1369fb91d199` records `7570206c9c34` +- `gettys.product-readiness.ui-screen` platform `gettys` tool `mais_humana.admin_ui.same_source` hash `d856d4e75172` records `5c1219dd7d8f` +- `identity.audit.ui-screen` platform `identity` tool `mais_humana.admin_ui.same_source` hash `bf4166449206` records `10c73df06b1b` +- `identity.contracts.ui-screen` platform `identity` tool `mais_humana.admin_ui.same_source` hash `383739b2f847` records `638a3d5eaa84` +- `identity.incidents.ui-screen` platform `identity` tool `mais_humana.admin_ui.same_source` hash `33b11a5ad029` records `9e10ebbe7dba` +- `identity.organizations.ui-screen` platform `identity` tool `mais_humana.admin_ui.same_source` hash `b79592009783` records `adbffea1bb95` +- `identity.rbac.ui-screen` platform `identity` tool `mais_humana.admin_ui.same_source` hash `d61c4db113c6` records `449e3fe457dc` +- `identity.sessions.ui-screen` platform `identity` tool `mais_humana.admin_ui.same_source` hash `c57b8c9b82b9` records `996d2869e33d` +- `integracoes.byok.ui-screen` platform `integracoes` tool `mais_humana.admin_ui.same_source` hash `fc0689be7a27` records `b2545992e45f` +- `integracoes.credentials.ui-screen` platform `integracoes` tool `mais_humana.admin_ui.same_source` hash `a2a4355ced9f` records `a2196cdedd02` +- `integracoes.products.ui-screen` platform `integracoes` tool `mais_humana.admin_ui.same_source` hash `a1a202dc6b4e` records `c381d306a364` +- `integracoes.providers.ui-screen` platform `integracoes` tool `mais_humana.admin_ui.same_source` hash `bf62d19bac85` records `315baac93bed` +- `integracoes.smoke.ui-screen` platform `integracoes` tool `mais_humana.admin_ui.same_source` hash `024cad0980a3` records `957724b07eec` +- `integracoes.tenant.ui-screen` platform `integracoes` tool `mais_humana.admin_ui.same_source` hash `c9ac3ede8e6c` records `63839cd558d0` +- `intelligence.analytics.ui-screen` platform `intelligence` tool `mais_humana.admin_ui.same_source` hash `6f44239c174e` records `7a890c7ec3d7` +- `intelligence.prioritization.ui-screen` platform `intelligence` tool `mais_humana.admin_ui.same_source` hash `751e706af627` records `8910f522a9e4` +- `intelligence.recommendations.ui-screen` platform `intelligence` tool `mais_humana.admin_ui.same_source` hash `ffe16e3a7543` records `8dca1790002a` +- `intelligence.risk.ui-screen` platform `intelligence` tool `mais_humana.admin_ui.same_source` hash `70a87fc7c001` records `0c2b9e84b59d` +- `mcps.admin-ui.ui-screen` platform `mcps` tool `mais_humana.admin_ui.same_source` hash `74004e4f94d3` records `906fa74e148d` +- `mcps.catalog.ui-screen` platform `mcps` tool `mais_humana.admin_ui.same_source` hash `a1df53048e58` records `c5a247497b01` +- `mcps.evidence.ui-screen` platform `mcps` tool `mais_humana.admin_ui.same_source` hash `eb2559ccb8ac` records `b86b494905c1` +- `mcps.readiness.ui-screen` platform `mcps` tool `mais_humana.admin_ui.same_source` hash `2f4fdddd1c79` records `8a4b80e1f43d` +- `mcps.samesource.ui-screen` platform `mcps` tool `mais_humana.admin_ui.same_source` hash `fadd5d57f1d4` records `d04401ec8a4d` +- `mcps.tools.ui-screen` platform `mcps` tool `mais_humana.admin_ui.same_source` hash `f57f55061b10` records `0a4a9777f8c7` +- `platform_base.contracts.ui-screen` platform `platform_base` tool `mais_humana.admin_ui.same_source` hash `608355d42bbe` records `9cbbe5fc4e1f` +- `platform_base.shared-runtime.ui-screen` platform `platform_base` tool `mais_humana.admin_ui.same_source` hash `7edeb422ac6b` records `44606375baac` +- `platform_base.standards.ui-screen` platform `platform_base` tool `mais_humana.admin_ui.same_source` hash `720e4c24ed3d` records `558aeff86cc2` +- `platform_base.templates.ui-screen` platform `platform_base` tool `mais_humana.admin_ui.same_source` hash `eb0c54efd7aa` records `c0a0ff8c4e0f` +- `public.landing.ui-screen` platform `public` tool `mais_humana.admin_ui.same_source` hash `6eb55f701b97` records `0ee070dcc7a4` +- `public.onboarding.ui-screen` platform `public` tool `mais_humana.admin_ui.same_source` hash `6dbf5f190732` records `d68cdd00e394` +- `public.public-docs.ui-screen` platform `public` tool `mais_humana.admin_ui.same_source` hash `268f0e3ceb55` records `af732a416daf` +- `public.status.ui-screen` platform `public` tool `mais_humana.admin_ui.same_source` hash `fa7e1d3d86a7` records `88e3d82f5961` +- `stj.legal-readiness.ui-screen` platform `stj` tool `mais_humana.admin_ui.same_source` hash `5a85ac1471a2` records `b0ab5394609a` +- `stj.monitoring.ui-screen` platform `stj` tool `mais_humana.admin_ui.same_source` hash `1a9c69804df2` records `ff51b52cd565` +- `stj.process-query.ui-screen` platform `stj` tool `mais_humana.admin_ui.same_source` hash `bde3edb41795` records `e51c1419d8c6` +- `stj.public-documents.ui-screen` platform `stj` tool `mais_humana.admin_ui.same_source` hash `92d0416f3215` records `c8eb7e3b9b42` +- `ui.design-system.ui-screen` platform `ui` tool `mais_humana.admin_ui.same_source` hash `208bfc99ed44` records `366e5c436ed1` +- `ui.panelready.ui-screen` platform `ui` tool `mais_humana.admin_ui.same_source` hash `36ca0610f0b7` records `00c04bb28dc1` +- `ui.pwa.ui-screen` platform `ui` tool `mais_humana.admin_ui.same_source` hash `3ad05265c84d` records `99189c0fbf4f` +- `ui.samesource.ui-screen` platform `ui` tool `mais_humana.admin_ui.same_source` hash `66e684aa7be0` records `194ae88dcd83` +- `ui.screen-contract.ui-screen` platform `ui` tool `mais_humana.admin_ui.same_source` hash `8282cb69708f` records `23a0f33fcf1b` diff --git a/ecossistema/index.html b/ecossistema/index.html index c6f8967..d01f341 100644 --- a/ecossistema/index.html +++ b/ecossistema/index.html @@ -21,6 +21,6 @@

Mais Humana - indice operacional

-

Business Platform

100

Business Platform foi analisada com 47594 linhas de codigo e 374 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Compliance Platform

100

Compliance Platform foi analisada com 14583 linhas de codigo e 287 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • falta contrato OpenAPI ou equivalente para integracao auditavel

Customer Ops Platform

100

Customer Ops Platform foi analisada com 158553 linhas de codigo e 350 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Docs Platform

100

Docs Platform foi analisada com 25921 linhas de codigo e 410 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=False; blockers=1; warnings=0

  • catalogOnly precisa decisao formal ou leitura responseReady minima

Finance Platform

100

Finance Platform foi analisada com 312896 linhas de codigo e 315 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Gettys Platform

100

Gettys Platform foi analisada com 172071 linhas de codigo e 367 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Identity Platform

100

Identity Platform foi analisada com 86631 linhas de codigo e 384 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Integracoes Platform

100

Integracoes Platform foi analisada com 172063 linhas de codigo e 498 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=False; blockers=1; warnings=0

  • tokens live por provider ainda variam por produto

Intelligence Platform

100

Intelligence Platform foi analisada com 10456 linhas de codigo e 153 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=False; blockers=1; warnings=0

  • estado unsupported/configuracao incompleta precisa decisao formal

MCPs Internos Platform

100

MCPs Internos Platform foi analisada com 92559 linhas de codigo e 428 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Platform Base

100

Platform Base foi analisada com 20226 linhas de codigo e 388 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Public Platform

100

Public Platform foi analisada com 42061 linhas de codigo e 286 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • falta contrato OpenAPI ou equivalente para integracao auditavel

STJ Platform

100

STJ Platform foi analisada com 91659 linhas de codigo e 442 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

UI Platform

100

UI Platform foi analisada com 445191 linhas de codigo e 357 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • falta contrato OpenAPI ou equivalente para integracao auditavel

Resumo tabular

PlataformaScoreLinhasEvidenciasHuman readyAvisos
business10047594374True
compliance10014583287Truecontrato OpenAPI nao encontrado por varredura local
customer_ops100158553350True
docs10025921410False
finance100312896315True
gettys100172071367True
identity10086631384True
integracoes100172063498False
intelligence10010456153False
mcps10092559428True
platform_base10020226388True
public10042061286Truecontrato OpenAPI nao encontrado por varredura local
stj10091659442True
ui100445191357Truecontrato OpenAPI nao encontrado por varredura local
+

Business Platform

100

Business Platform foi analisada com 47594 linhas de codigo e 374 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Compliance Platform

100

Compliance Platform foi analisada com 14583 linhas de codigo e 287 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • falta contrato OpenAPI ou equivalente para integracao auditavel

Customer Ops Platform

100

Customer Ops Platform foi analisada com 158553 linhas de codigo e 350 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Docs Platform

100

Docs Platform foi analisada com 25921 linhas de codigo e 410 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=False; blockers=1; warnings=0

  • catalogOnly precisa decisao formal ou leitura responseReady minima

Finance Platform

100

Finance Platform foi analisada com 312896 linhas de codigo e 315 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Gettys Platform

100

Gettys Platform foi analisada com 172071 linhas de codigo e 367 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Identity Platform

100

Identity Platform foi analisada com 86631 linhas de codigo e 384 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Integracoes Platform

100

Integracoes Platform foi analisada com 85505 linhas de codigo e 474 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=False; blockers=1; warnings=0

  • tokens live por provider ainda variam por produto

Intelligence Platform

100

Intelligence Platform foi analisada com 13347 linhas de codigo e 161 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=False; blockers=1; warnings=0

  • estado unsupported/configuracao incompleta precisa decisao formal

MCPs Internos Platform

100

MCPs Internos Platform foi analisada com 92865 linhas de codigo e 429 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Platform Base

100

Platform Base foi analisada com 22553 linhas de codigo e 391 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

Public Platform

100

Public Platform foi analisada com 42080 linhas de codigo e 288 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • falta contrato OpenAPI ou equivalente para integracao auditavel

STJ Platform

100

STJ Platform foi analisada com 91659 linhas de codigo e 442 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • nenhuma lacuna principal detectada pela matriz atual

UI Platform

100

UI Platform foi analisada com 445191 linhas de codigo e 357 evidencias locais. Score medio humano: 100.

technical_ready=True; human_ready=True; blockers=0; warnings=0

  • falta contrato OpenAPI ou equivalente para integracao auditavel

Resumo tabular

PlataformaScoreLinhasEvidenciasHuman readyAvisos
business10047594374True
compliance10014583287Truecontrato OpenAPI nao encontrado por varredura local
customer_ops100158553350True
docs10025921410False
finance100312896315True
gettys100172071367True
identity10086631384True
integracoes10085505474False
intelligence10013347161False
mcps10092865429True
platform_base10022553391True
public10042080288Truecontrato OpenAPI nao encontrado por varredura local
stj10091659442True
ui100445191357Truecontrato OpenAPI nao encontrado por varredura local
diff --git a/graficos/grafo-evidencias.dot b/graficos/grafo-evidencias.dot index 6ff60e2..28ab64f 100644 --- a/graficos/grafo-evidencias.dot +++ b/graficos/grafo-evidencias.dot @@ -319,16 +319,16 @@ digraph MaisHumanaEvidence { "evidence-apps-identity-admin-panel-src-screen-registry-ts275" [label="apps/identity-admin-panel/src/screen-registry.ts:275", color="gray"]; "evidence-apps-identity-admin-panel-src-screen-registry-ts37" [label="apps/identity-admin-panel/src/screen-registry.ts:37", color="gray"]; "evidence-apps-identity-admin-panel-tsconfig-json" [label="apps/identity-admin-panel/tsconfig.json", color="gray"]; - "evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-contract-json3" [label="apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json:3", color="gray"]; "evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-summary-json3" [label="apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json:3", color="gray"]; "evidence-apps-intelligence-worker-package-json" [label="apps/intelligence-worker/package.json", color="gray"]; - "evidence-apps-intelligence-worker-package-json10" [label="apps/intelligence-worker/package.json:10", color="gray"]; + "evidence-apps-intelligence-worker-package-json7" [label="apps/intelligence-worker/package.json:7", color="gray"]; "evidence-apps-intelligence-worker-scripts-export-contracts-mjs11" [label="apps/intelligence-worker/scripts/export-contracts.mjs:11", color="gray"]; "evidence-apps-intelligence-worker-src-gate-orchestrator-js66" [label="apps/intelligence-worker/src/gate-orchestrator.js:66", color="gray"]; "evidence-apps-intelligence-worker-src-gate-orchestrator-js7" [label="apps/intelligence-worker/src/gate-orchestrator.js:7", color="gray"]; "evidence-apps-intelligence-worker-src-owner-gate-receipts-js14" [label="apps/intelligence-worker/src/owner-gate-receipts.js:14", color="gray"]; "evidence-apps-intelligence-worker-src-public-smoke-js29" [label="apps/intelligence-worker/src/public-smoke.js:29", color="gray"]; "evidence-apps-intelligence-worker-src-release-governance-js14" [label="apps/intelligence-worker/src/release-governance.js:14", color="gray"]; + "evidence-apps-intelligence-worker-src-release-readiness-board-js3" [label="apps/intelligence-worker/src/release-readiness-board.js:3", color="gray"]; "evidence-apps-intelligence-worker-tests-intelligence-worker-test-mjs24" [label="apps/intelligence-worker/tests/intelligence-worker.test.mjs:24", color="gray"]; "evidence-apps-intelligence-worker-tests-run-mcp-contract-mjs50" [label="apps/intelligence-worker/tests/run-mcp-contract.mjs:50", color="gray"]; "evidence-apps-public-site-package-json" [label="apps/public-site/package.json", color="gray"]; @@ -364,6 +364,7 @@ digraph MaisHumanaEvidence { "evidence-controle-de-ordens-executadas-md187" [label="CONTROLE-DE-ORDENS-EXECUTADAS.md:187", color="gray"]; "evidence-controle-de-ordens-executadas-md81" [label="CONTROLE-DE-ORDENS-EXECUTADAS.md:81", color="gray"]; "evidence-controle-de-ordens-executadas-md82" [label="CONTROLE-DE-ORDENS-EXECUTADAS.md:82", color="gray"]; + "evidence-deploy-mcps-gateway-src-providers-managed-catalog-ts988" [label="deploy/mcps-gateway/src/providers/managed-catalog.ts:988", color="gray"]; "evidence-dist-nobundle-openapi-document-js44" [label="dist-nobundle/openapi/document.js:44", color="gray"]; "evidence-dist-nobundle-order-control-runbook-js133" [label="dist-nobundle/order-control-runbook.js:133", color="gray"]; "evidence-dist-nobundle-redaction-js12" [label="dist-nobundle/redaction.js:12", color="gray"]; @@ -560,8 +561,6 @@ digraph MaisHumanaEvidence { "evidence-paradigmas-shadcn-ui-apps-v4-components-github-link-tsx" [label="_paradigmas/shadcn-ui/apps/v4/components/github-link.tsx", color="gray"]; "evidence-paradigmas-shadcn-ui-packages-tests-gitignore" [label="_paradigmas/shadcn-ui/packages/tests/.gitignore", color="gray"]; "evidence-paradigmas-shadcn-ui-readme-md" [label="_paradigmas/shadcn-ui/README.md", color="gray"]; - "evidence-pipeline-os-bases-mcps-internos-semantica-v1-autonoma-indice-execucao-mcps-semantica-v1-autonoma-md" [label="pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMAN", color="gray"]; - "evidence-pipeline-os-bases-mcps-internos-semantica-v1-autonoma-indice-execucao-mcps-semantica-v1-autonoma-md1" [label="pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMAN", color="gray"]; "evidence-pipeline-os-bases-stj-semantica-v9-autonoma-lote-003-resumo-lote-003-md30" [label="pipeline-os-bases/stj_semantica_v9_autonoma/lote_003/resumo_lote_003.md:30", color="gray"]; "evidence-policies-migration-reuse-required-by-function-md5" [label="policies/migration/reuse-required-by-function.md:5", color="gray"]; "evidence-readme-md" [label="README.md", color="gray"]; @@ -617,9 +616,6 @@ digraph MaisHumanaEvidence { "evidence-reports-migration-reuse-required-baseline-md" [label="reports/migration/reuse-required-baseline.md", color="gray"]; "evidence-reports-operational-readiness-derived-platform-adoption-json85" [label="reports/operational-readiness/derived-platform-adoption.json:85", color="gray"]; "evidence-reports-operational-readiness-derived-platform-adoption-md27" [label="reports/operational-readiness/derived-platform-adoption.md:27", color="gray"]; - "evidence-reports-operational-readiness-release-execution-manifest-md73" [label="reports/operational-readiness/release-execution-manifest.md:73", color="gray"]; - "evidence-reports-operational-readiness-release-lots-json4030" [label="reports/operational-readiness/release-lots.json:4030", color="gray"]; - "evidence-reports-operational-readiness-release-lots-md64" [label="reports/operational-readiness/release-lots.md:64", color="gray"]; "evidence-reports-ordem-020-validacao-inicial-2026-04-24-md11" [label="reports/ordem-020-validacao-inicial-2026-04-24.md:11", color="gray"]; "evidence-reports-ordem-030-validacao-operacional-2026-04-24-md11" [label="reports/ordem-030-validacao-operacional-2026-04-24.md:11", color="gray"]; "evidence-reports-ordem-030-validacao-operacional-2026-04-24-md27" [label="reports/ordem-030-validacao-operacional-2026-04-24.md:27", color="gray"]; @@ -665,7 +661,6 @@ digraph MaisHumanaEvidence { "evidence-scripts-round-materialize-round-0041-0045-live-gates-js113" [label="scripts/round/materialize-round-0041-0045-live-gates.js:113", color="gray"]; "evidence-scripts-round-materialize-round-10-execution-ledger-mjs77" [label="scripts/round/materialize-round-10-execution-ledger.mjs:77", color="gray"]; "evidence-scripts-round-materialize-round-10-operational-closure-mjs77" [label="scripts/round/materialize-round-10-operational-closure.mjs:77", color="gray"]; - "evidence-scripts-round-materialize-round-11-operational-execution-mjs60" [label="scripts/round/materialize-round-11-operational-execution.mjs:60", color="gray"]; "evidence-scripts-run-mcp-smoke-mjs59" [label="scripts/run-mcp-smoke.mjs:59", color="gray"]; "evidence-scripts-sync-catalog-contract-mjs19" [label="scripts/sync-catalog-contract.mjs:19", color="gray"]; "evidence-scripts-sync-catalog-contract-mjs5" [label="scripts/sync-catalog-contract.mjs:5", color="gray"]; @@ -795,7 +790,9 @@ digraph MaisHumanaEvidence { "evidence-tests-platform-total-test-ts55" [label="tests/platform-total.test.ts:55", color="gray"]; "evidence-tests-product-plan-test-ts10" [label="tests/product-plan.test.ts:10", color="gray"]; "evidence-tests-release-control-test-mjs16" [label="tests/release-control.test.mjs:16", color="gray"]; + "evidence-tests-release-governance-test-ts" [label="tests/release-governance.test.ts", color="gray"]; "evidence-tests-release-governance-test-ts23" [label="tests/release-governance.test.ts:23", color="gray"]; + "evidence-tests-release-governance-test-ts66" [label="tests/release-governance.test.ts:66", color="gray"]; "evidence-tests-release-manifest-test-mjs15" [label="tests/release-manifest.test.mjs:15", color="gray"]; "evidence-tests-remote-release-probe-test-ts206" [label="tests/remote-release-probe.test.ts:206", color="gray"]; "evidence-tests-remote-release-probe-test-ts31" [label="tests/remote-release-probe.test.ts:31", color="gray"]; @@ -811,10 +808,11 @@ digraph MaisHumanaEvidence { "evidence-tests-round-09-operational-execution-test-ts134" [label="tests/round-09-operational-execution.test.ts:134", color="gray"]; "evidence-tests-round-10-operational-closure-test-ts100" [label="tests/round-10-operational-closure.test.ts:100", color="gray"]; "evidence-tests-round-10-operational-closure-test-ts118" [label="tests/round-10-operational-closure.test.ts:118", color="gray"]; + "evidence-tests-round-11-operational-execution-test-ts109" [label="tests/round-11-operational-execution.test.ts:109", color="gray"]; + "evidence-tests-round-11-operational-execution-test-ts11" [label="tests/round-11-operational-execution.test.ts:11", color="gray"]; "evidence-tests-smoke-remote-ts94" [label="tests/smoke-remote.ts:94", color="gray"]; "evidence-tests-snapshots-admin-view-compact-json47" [label="tests/snapshots/admin-view.compact.json:47", color="gray"]; "evidence-tests-surface-test-ts350" [label="tests/surface.test.ts:350", color="gray"]; - "evidence-tests-surface-test-ts52" [label="tests/surface.test.ts:52", color="gray"]; "evidence-tests-ui-governance-test-mjs9" [label="tests/ui-governance.test.mjs:9", color="gray"]; "evidence-tools-generate-round006-operational-governance-mjs168" [label="tools/generate-round006-operational-governance.mjs:168", color="gray"]; "evidence-tudo-para-ia-integracoes-plataform-runbooks-operacao-md6" [label="tudo-para-ia-integracoes-plataform/runbooks/operacao.md:6", color="gray"]; @@ -828,6 +826,315 @@ digraph MaisHumanaEvidence { "evidence-workers-public-mcp-src-index-ts1" [label="workers/public-mcp/src/index.ts:1", color="gray"]; "evidence-workers-stj-mcp-src-index-ts2" [label="workers/stj-mcp/src/index.ts:2", color="gray"]; "evidence-wrangler-toml" [label="wrangler.toml", color="gray"]; + "mcp-contract-business-administrador-empresa-provider-tool" [label="business.administrador_empresa.provider-tool", color="red"]; + "mcp-contract-business-atendimento-cliente-provider-tool" [label="business.atendimento_cliente.provider-tool", color="red"]; + "mcp-contract-business-billing-ui-screen" [label="business.billing.ui-screen", color="red"]; + "mcp-contract-business-ceo-provider-tool" [label="business.ceo.provider-tool", color="red"]; + "mcp-contract-business-cfat-redaction-policy" [label="business.cfat.redaction-policy", color="red"]; + "mcp-contract-business-checkout-ui-screen" [label="business.checkout.ui-screen", color="red"]; + "mcp-contract-business-cliente-externo-provider-tool" [label="business.cliente_externo.provider-tool", color="red"]; + "mcp-contract-business-commercial-readiness-ui-screen" [label="business.commercial-readiness.ui-screen", color="red"]; + "mcp-contract-business-consumption-ui-screen" [label="business.consumption.ui-screen", color="red"]; + "mcp-contract-business-contador-provider-tool" [label="business.contador.provider-tool", color="red"]; + "mcp-contract-business-credentialref-redaction-policy" [label="business.credentialref.redaction-policy", color="red"]; + "mcp-contract-business-entitlements-ui-screen" [label="business.entitlements.ui-screen", color="red"]; + "mcp-contract-business-financeiro-provider-tool" [label="business.financeiro.provider-tool", color="red"]; + "mcp-contract-business-gestor-operacional-provider-tool" [label="business.gestor_operacional.provider-tool", color="red"]; + "mcp-contract-business-juridico-provider-tool" [label="business.juridico.provider-tool", color="red"]; + "mcp-contract-business-planejamento-estrategico-provider-tool" [label="business.planejamento_estrategico.provider-tool", color="red"]; + "mcp-contract-business-secretaria-provider-tool" [label="business.secretaria.provider-tool", color="red"]; + "mcp-contract-business-secretref-redaction-policy" [label="business.secretref.redaction-policy", color="red"]; + "mcp-contract-business-suporte-provider-tool" [label="business.suporte.provider-tool", color="red"]; + "mcp-contract-business-tecnico-provider-tool" [label="business.tecnico.provider-tool", color="red"]; + "mcp-contract-business-tokenref-redaction-policy" [label="business.tokenref.redaction-policy", color="red"]; + "mcp-contract-business-usuario-final-provider-tool" [label="business.usuario_final.provider-tool", color="red"]; + "mcp-contract-compliance-administrador-empresa-provider-tool" [label="compliance.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-compliance-atendimento-cliente-provider-tool" [label="compliance.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-compliance-audit-ui-screen" [label="compliance.audit.ui-screen", color="gray"]; + "mcp-contract-compliance-ceo-provider-tool" [label="compliance.ceo.provider-tool", color="gray"]; + "mcp-contract-compliance-cfat-redaction-policy" [label="compliance.cfat.redaction-policy", color="gray"]; + "mcp-contract-compliance-cliente-externo-provider-tool" [label="compliance.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-compliance-consent-ui-screen" [label="compliance.consent.ui-screen", color="gray"]; + "mcp-contract-compliance-contador-provider-tool" [label="compliance.contador.provider-tool", color="gray"]; + "mcp-contract-compliance-credentialref-redaction-policy" [label="compliance.credentialref.redaction-policy", color="gray"]; + "mcp-contract-compliance-financeiro-provider-tool" [label="compliance.financeiro.provider-tool", color="gray"]; + "mcp-contract-compliance-gestor-operacional-provider-tool" [label="compliance.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-compliance-juridico-provider-tool" [label="compliance.juridico.provider-tool", color="gray"]; + "mcp-contract-compliance-planejamento-estrategico-provider-tool" [label="compliance.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-compliance-privacy-ui-screen" [label="compliance.privacy.ui-screen", color="gray"]; + "mcp-contract-compliance-retention-ui-screen" [label="compliance.retention.ui-screen", color="gray"]; + "mcp-contract-compliance-risk-ui-screen" [label="compliance.risk.ui-screen", color="gray"]; + "mcp-contract-compliance-secretaria-provider-tool" [label="compliance.secretaria.provider-tool", color="gray"]; + "mcp-contract-compliance-secretref-redaction-policy" [label="compliance.secretref.redaction-policy", color="gray"]; + "mcp-contract-compliance-suporte-provider-tool" [label="compliance.suporte.provider-tool", color="gray"]; + "mcp-contract-compliance-tecnico-provider-tool" [label="compliance.tecnico.provider-tool", color="gray"]; + "mcp-contract-compliance-tokenref-redaction-policy" [label="compliance.tokenref.redaction-policy", color="gray"]; + "mcp-contract-compliance-usuario-final-provider-tool" [label="compliance.usuario_final.provider-tool", color="gray"]; + "mcp-contract-customer-ops-administrador-empresa-provider-tool" [label="customer_ops.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-customer-ops-atendimento-cliente-provider-tool" [label="customer_ops.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-customer-ops-ceo-provider-tool" [label="customer_ops.ceo.provider-tool", color="gray"]; + "mcp-contract-customer-ops-cfat-redaction-policy" [label="customer_ops.cfat.redaction-policy", color="gray"]; + "mcp-contract-customer-ops-cliente-externo-provider-tool" [label="customer_ops.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-customer-ops-contador-provider-tool" [label="customer_ops.contador.provider-tool", color="gray"]; + "mcp-contract-customer-ops-credentialref-redaction-policy" [label="customer_ops.credentialref.redaction-policy", color="gray"]; + "mcp-contract-customer-ops-customer-status-ui-screen" [label="customer_ops.customer-status.ui-screen", color="gray"]; + "mcp-contract-customer-ops-diagnostics-ui-screen" [label="customer_ops.diagnostics.ui-screen", color="gray"]; + "mcp-contract-customer-ops-financeiro-provider-tool" [label="customer_ops.financeiro.provider-tool", color="gray"]; + "mcp-contract-customer-ops-gestor-operacional-provider-tool" [label="customer_ops.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-customer-ops-handoffs-ui-screen" [label="customer_ops.handoffs.ui-screen", color="gray"]; + "mcp-contract-customer-ops-incidents-ui-screen" [label="customer_ops.incidents.ui-screen", color="gray"]; + "mcp-contract-customer-ops-juridico-provider-tool" [label="customer_ops.juridico.provider-tool", color="gray"]; + "mcp-contract-customer-ops-planejamento-estrategico-provider-tool" [label="customer_ops.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-customer-ops-secretaria-provider-tool" [label="customer_ops.secretaria.provider-tool", color="gray"]; + "mcp-contract-customer-ops-secretref-redaction-policy" [label="customer_ops.secretref.redaction-policy", color="gray"]; + "mcp-contract-customer-ops-suporte-provider-tool" [label="customer_ops.suporte.provider-tool", color="gray"]; + "mcp-contract-customer-ops-tecnico-provider-tool" [label="customer_ops.tecnico.provider-tool", color="gray"]; + "mcp-contract-customer-ops-tickets-ui-screen" [label="customer_ops.tickets.ui-screen", color="gray"]; + "mcp-contract-customer-ops-tokenref-redaction-policy" [label="customer_ops.tokenref.redaction-policy", color="gray"]; + "mcp-contract-customer-ops-usuario-final-provider-tool" [label="customer_ops.usuario_final.provider-tool", color="gray"]; + "mcp-contract-docs-administrador-empresa-provider-tool" [label="docs.administrador_empresa.provider-tool", color="red"]; + "mcp-contract-docs-atendimento-cliente-provider-tool" [label="docs.atendimento_cliente.provider-tool", color="red"]; + "mcp-contract-docs-canonical-docs-ui-screen" [label="docs.canonical-docs.ui-screen", color="red"]; + "mcp-contract-docs-ceo-provider-tool" [label="docs.ceo.provider-tool", color="red"]; + "mcp-contract-docs-cfat-redaction-policy" [label="docs.cfat.redaction-policy", color="red"]; + "mcp-contract-docs-cliente-externo-provider-tool" [label="docs.cliente_externo.provider-tool", color="red"]; + "mcp-contract-docs-contador-provider-tool" [label="docs.contador.provider-tool", color="red"]; + "mcp-contract-docs-contracts-ui-screen" [label="docs.contracts.ui-screen", color="red"]; + "mcp-contract-docs-credentialref-redaction-policy" [label="docs.credentialref.redaction-policy", color="red"]; + "mcp-contract-docs-financeiro-provider-tool" [label="docs.financeiro.provider-tool", color="red"]; + "mcp-contract-docs-formal-exception-docs-catalogonly" [label="docs.formal-exception.docs-catalogonly", color="gray"]; + "mcp-contract-docs-gestor-operacional-provider-tool" [label="docs.gestor_operacional.provider-tool", color="red"]; + "mcp-contract-docs-help-ui-screen" [label="docs.help.ui-screen", color="red"]; + "mcp-contract-docs-juridico-provider-tool" [label="docs.juridico.provider-tool", color="red"]; + "mcp-contract-docs-planejamento-estrategico-provider-tool" [label="docs.planejamento_estrategico.provider-tool", color="red"]; + "mcp-contract-docs-proofs-ui-screen" [label="docs.proofs.ui-screen", color="red"]; + "mcp-contract-docs-runbooks-ui-screen" [label="docs.runbooks.ui-screen", color="red"]; + "mcp-contract-docs-secretaria-provider-tool" [label="docs.secretaria.provider-tool", color="red"]; + "mcp-contract-docs-secretref-redaction-policy" [label="docs.secretref.redaction-policy", color="red"]; + "mcp-contract-docs-suporte-provider-tool" [label="docs.suporte.provider-tool", color="red"]; + "mcp-contract-docs-tecnico-provider-tool" [label="docs.tecnico.provider-tool", color="red"]; + "mcp-contract-docs-tokenref-redaction-policy" [label="docs.tokenref.redaction-policy", color="red"]; + "mcp-contract-docs-usuario-final-provider-tool" [label="docs.usuario_final.provider-tool", color="red"]; + "mcp-contract-finance-administrador-empresa-provider-tool" [label="finance.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-finance-atendimento-cliente-provider-tool" [label="finance.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-finance-ceo-provider-tool" [label="finance.ceo.provider-tool", color="gray"]; + "mcp-contract-finance-cfat-redaction-policy" [label="finance.cfat.redaction-policy", color="gray"]; + "mcp-contract-finance-cliente-externo-provider-tool" [label="finance.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-finance-contador-provider-tool" [label="finance.contador.provider-tool", color="gray"]; + "mcp-contract-finance-cost-ui-screen" [label="finance.cost.ui-screen", color="gray"]; + "mcp-contract-finance-credentialref-redaction-policy" [label="finance.credentialref.redaction-policy", color="gray"]; + "mcp-contract-finance-financeiro-provider-tool" [label="finance.financeiro.provider-tool", color="gray"]; + "mcp-contract-finance-gestor-operacional-provider-tool" [label="finance.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-finance-invoices-ui-screen" [label="finance.invoices.ui-screen", color="gray"]; + "mcp-contract-finance-juridico-provider-tool" [label="finance.juridico.provider-tool", color="gray"]; + "mcp-contract-finance-planejamento-estrategico-provider-tool" [label="finance.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-finance-quota-ui-screen" [label="finance.quota.ui-screen", color="gray"]; + "mcp-contract-finance-reconciliation-ui-screen" [label="finance.reconciliation.ui-screen", color="gray"]; + "mcp-contract-finance-secretaria-provider-tool" [label="finance.secretaria.provider-tool", color="gray"]; + "mcp-contract-finance-secretref-redaction-policy" [label="finance.secretref.redaction-policy", color="gray"]; + "mcp-contract-finance-suporte-provider-tool" [label="finance.suporte.provider-tool", color="gray"]; + "mcp-contract-finance-tecnico-provider-tool" [label="finance.tecnico.provider-tool", color="gray"]; + "mcp-contract-finance-tokenref-redaction-policy" [label="finance.tokenref.redaction-policy", color="gray"]; + "mcp-contract-finance-usage-ui-screen" [label="finance.usage.ui-screen", color="gray"]; + "mcp-contract-finance-usuario-final-provider-tool" [label="finance.usuario_final.provider-tool", color="gray"]; + "mcp-contract-gettys-admin-screen-ui-screen" [label="gettys.admin-screen.ui-screen", color="red"]; + "mcp-contract-gettys-administrador-empresa-provider-tool" [label="gettys.administrador_empresa.provider-tool", color="red"]; + "mcp-contract-gettys-atendimento-cliente-provider-tool" [label="gettys.atendimento_cliente.provider-tool", color="red"]; + "mcp-contract-gettys-ceo-provider-tool" [label="gettys.ceo.provider-tool", color="red"]; + "mcp-contract-gettys-cfat-redaction-policy" [label="gettys.cfat.redaction-policy", color="red"]; + "mcp-contract-gettys-cliente-externo-provider-tool" [label="gettys.cliente_externo.provider-tool", color="red"]; + "mcp-contract-gettys-contador-provider-tool" [label="gettys.contador.provider-tool", color="red"]; + "mcp-contract-gettys-credentialref-redaction-policy" [label="gettys.credentialref.redaction-policy", color="red"]; + "mcp-contract-gettys-financeiro-provider-tool" [label="gettys.financeiro.provider-tool", color="red"]; + "mcp-contract-gettys-gestor-operacional-provider-tool" [label="gettys.gestor_operacional.provider-tool", color="red"]; + "mcp-contract-gettys-gettys-overview-ui-screen" [label="gettys.gettys-overview.ui-screen", color="red"]; + "mcp-contract-gettys-health-ui-screen" [label="gettys.health.ui-screen", color="red"]; + "mcp-contract-gettys-juridico-provider-tool" [label="gettys.juridico.provider-tool", color="red"]; + "mcp-contract-gettys-planejamento-estrategico-provider-tool" [label="gettys.planejamento_estrategico.provider-tool", color="red"]; + "mcp-contract-gettys-product-readiness-ui-screen" [label="gettys.product-readiness.ui-screen", color="red"]; + "mcp-contract-gettys-secretaria-provider-tool" [label="gettys.secretaria.provider-tool", color="red"]; + "mcp-contract-gettys-secretref-redaction-policy" [label="gettys.secretref.redaction-policy", color="red"]; + "mcp-contract-gettys-suporte-provider-tool" [label="gettys.suporte.provider-tool", color="red"]; + "mcp-contract-gettys-tecnico-provider-tool" [label="gettys.tecnico.provider-tool", color="red"]; + "mcp-contract-gettys-tokenref-redaction-policy" [label="gettys.tokenref.redaction-policy", color="red"]; + "mcp-contract-gettys-usuario-final-provider-tool" [label="gettys.usuario_final.provider-tool", color="red"]; + "mcp-contract-identity-administrador-empresa-provider-tool" [label="identity.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-identity-atendimento-cliente-provider-tool" [label="identity.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-identity-audit-ui-screen" [label="identity.audit.ui-screen", color="gray"]; + "mcp-contract-identity-ceo-provider-tool" [label="identity.ceo.provider-tool", color="gray"]; + "mcp-contract-identity-cfat-redaction-policy" [label="identity.cfat.redaction-policy", color="gray"]; + "mcp-contract-identity-cliente-externo-provider-tool" [label="identity.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-identity-contador-provider-tool" [label="identity.contador.provider-tool", color="gray"]; + "mcp-contract-identity-contracts-ui-screen" [label="identity.contracts.ui-screen", color="gray"]; + "mcp-contract-identity-credentialref-redaction-policy" [label="identity.credentialref.redaction-policy", color="gray"]; + "mcp-contract-identity-financeiro-provider-tool" [label="identity.financeiro.provider-tool", color="gray"]; + "mcp-contract-identity-gestor-operacional-provider-tool" [label="identity.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-identity-incidents-ui-screen" [label="identity.incidents.ui-screen", color="gray"]; + "mcp-contract-identity-juridico-provider-tool" [label="identity.juridico.provider-tool", color="gray"]; + "mcp-contract-identity-organizations-ui-screen" [label="identity.organizations.ui-screen", color="gray"]; + "mcp-contract-identity-planejamento-estrategico-provider-tool" [label="identity.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-identity-rbac-ui-screen" [label="identity.rbac.ui-screen", color="gray"]; + "mcp-contract-identity-secretaria-provider-tool" [label="identity.secretaria.provider-tool", color="gray"]; + "mcp-contract-identity-secretref-redaction-policy" [label="identity.secretref.redaction-policy", color="gray"]; + "mcp-contract-identity-sessions-ui-screen" [label="identity.sessions.ui-screen", color="gray"]; + "mcp-contract-identity-suporte-provider-tool" [label="identity.suporte.provider-tool", color="gray"]; + "mcp-contract-identity-tecnico-provider-tool" [label="identity.tecnico.provider-tool", color="gray"]; + "mcp-contract-identity-tokenref-redaction-policy" [label="identity.tokenref.redaction-policy", color="gray"]; + "mcp-contract-identity-usuario-final-provider-tool" [label="identity.usuario_final.provider-tool", color="gray"]; + "mcp-contract-integracoes-administrador-empresa-provider-tool" [label="integracoes.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-integracoes-atendimento-cliente-provider-tool" [label="integracoes.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-integracoes-byok-ui-screen" [label="integracoes.byok.ui-screen", color="gray"]; + "mcp-contract-integracoes-ceo-provider-tool" [label="integracoes.ceo.provider-tool", color="gray"]; + "mcp-contract-integracoes-cfat-redaction-policy" [label="integracoes.cfat.redaction-policy", color="gray"]; + "mcp-contract-integracoes-cliente-externo-provider-tool" [label="integracoes.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-integracoes-contador-provider-tool" [label="integracoes.contador.provider-tool", color="gray"]; + "mcp-contract-integracoes-credentialref-redaction-policy" [label="integracoes.credentialref.redaction-policy", color="gray"]; + "mcp-contract-integracoes-credentials-ui-screen" [label="integracoes.credentials.ui-screen", color="gray"]; + "mcp-contract-integracoes-financeiro-provider-tool" [label="integracoes.financeiro.provider-tool", color="gray"]; + "mcp-contract-integracoes-gestor-operacional-provider-tool" [label="integracoes.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-integracoes-juridico-provider-tool" [label="integracoes.juridico.provider-tool", color="gray"]; + "mcp-contract-integracoes-planejamento-estrategico-provider-tool" [label="integracoes.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-integracoes-products-ui-screen" [label="integracoes.products.ui-screen", color="gray"]; + "mcp-contract-integracoes-providers-ui-screen" [label="integracoes.providers.ui-screen", color="gray"]; + "mcp-contract-integracoes-secretaria-provider-tool" [label="integracoes.secretaria.provider-tool", color="gray"]; + "mcp-contract-integracoes-secretref-redaction-policy" [label="integracoes.secretref.redaction-policy", color="gray"]; + "mcp-contract-integracoes-smoke-ui-screen" [label="integracoes.smoke.ui-screen", color="gray"]; + "mcp-contract-integracoes-suporte-provider-tool" [label="integracoes.suporte.provider-tool", color="gray"]; + "mcp-contract-integracoes-tecnico-provider-tool" [label="integracoes.tecnico.provider-tool", color="gray"]; + "mcp-contract-integracoes-tenant-ui-screen" [label="integracoes.tenant.ui-screen", color="gray"]; + "mcp-contract-integracoes-tokenref-redaction-policy" [label="integracoes.tokenref.redaction-policy", color="gray"]; + "mcp-contract-integracoes-usuario-final-provider-tool" [label="integracoes.usuario_final.provider-tool", color="gray"]; + "mcp-contract-intelligence-administrador-empresa-provider-tool" [label="intelligence.administrador_empresa.provider-tool", color="red"]; + "mcp-contract-intelligence-analytics-ui-screen" [label="intelligence.analytics.ui-screen", color="red"]; + "mcp-contract-intelligence-atendimento-cliente-provider-tool" [label="intelligence.atendimento_cliente.provider-tool", color="red"]; + "mcp-contract-intelligence-ceo-provider-tool" [label="intelligence.ceo.provider-tool", color="red"]; + "mcp-contract-intelligence-cfat-redaction-policy" [label="intelligence.cfat.redaction-policy", color="red"]; + "mcp-contract-intelligence-cliente-externo-provider-tool" [label="intelligence.cliente_externo.provider-tool", color="red"]; + "mcp-contract-intelligence-contador-provider-tool" [label="intelligence.contador.provider-tool", color="red"]; + "mcp-contract-intelligence-credentialref-redaction-policy" [label="intelligence.credentialref.redaction-policy", color="red"]; + "mcp-contract-intelligence-financeiro-provider-tool" [label="intelligence.financeiro.provider-tool", color="red"]; + "mcp-contract-intelligence-gestor-operacional-provider-tool" [label="intelligence.gestor_operacional.provider-tool", color="red"]; + "mcp-contract-intelligence-juridico-provider-tool" [label="intelligence.juridico.provider-tool", color="red"]; + "mcp-contract-intelligence-planejamento-estrategico-provider-tool" [label="intelligence.planejamento_estrategico.provider-tool", color="red"]; + "mcp-contract-intelligence-prioritization-ui-screen" [label="intelligence.prioritization.ui-screen", color="red"]; + "mcp-contract-intelligence-recommendations-ui-screen" [label="intelligence.recommendations.ui-screen", color="red"]; + "mcp-contract-intelligence-risk-ui-screen" [label="intelligence.risk.ui-screen", color="red"]; + "mcp-contract-intelligence-secretaria-provider-tool" [label="intelligence.secretaria.provider-tool", color="red"]; + "mcp-contract-intelligence-secretref-redaction-policy" [label="intelligence.secretref.redaction-policy", color="red"]; + "mcp-contract-intelligence-suporte-provider-tool" [label="intelligence.suporte.provider-tool", color="red"]; + "mcp-contract-intelligence-tecnico-provider-tool" [label="intelligence.tecnico.provider-tool", color="red"]; + "mcp-contract-intelligence-tokenref-redaction-policy" [label="intelligence.tokenref.redaction-policy", color="red"]; + "mcp-contract-intelligence-usuario-final-provider-tool" [label="intelligence.usuario_final.provider-tool", color="red"]; + "mcp-contract-mais-humana-canonical-rename-plataform" [label="mais-humana.canonical-rename.plataform", color="gray"]; + "mcp-contract-mcps-admin-ui-ui-screen" [label="mcps.admin-ui.ui-screen", color="gray"]; + "mcp-contract-mcps-administrador-empresa-provider-tool" [label="mcps.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-mcps-atendimento-cliente-provider-tool" [label="mcps.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-mcps-catalog-ui-screen" [label="mcps.catalog.ui-screen", color="gray"]; + "mcp-contract-mcps-ceo-provider-tool" [label="mcps.ceo.provider-tool", color="gray"]; + "mcp-contract-mcps-cfat-redaction-policy" [label="mcps.cfat.redaction-policy", color="gray"]; + "mcp-contract-mcps-cliente-externo-provider-tool" [label="mcps.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-mcps-contador-provider-tool" [label="mcps.contador.provider-tool", color="gray"]; + "mcp-contract-mcps-credentialref-redaction-policy" [label="mcps.credentialref.redaction-policy", color="gray"]; + "mcp-contract-mcps-evidence-ui-screen" [label="mcps.evidence.ui-screen", color="gray"]; + "mcp-contract-mcps-financeiro-provider-tool" [label="mcps.financeiro.provider-tool", color="gray"]; + "mcp-contract-mcps-gestor-operacional-provider-tool" [label="mcps.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-mcps-juridico-provider-tool" [label="mcps.juridico.provider-tool", color="gray"]; + "mcp-contract-mcps-planejamento-estrategico-provider-tool" [label="mcps.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-mcps-readiness-ui-screen" [label="mcps.readiness.ui-screen", color="gray"]; + "mcp-contract-mcps-samesource-ui-screen" [label="mcps.samesource.ui-screen", color="gray"]; + "mcp-contract-mcps-secretaria-provider-tool" [label="mcps.secretaria.provider-tool", color="gray"]; + "mcp-contract-mcps-secretref-redaction-policy" [label="mcps.secretref.redaction-policy", color="gray"]; + "mcp-contract-mcps-suporte-provider-tool" [label="mcps.suporte.provider-tool", color="gray"]; + "mcp-contract-mcps-tecnico-provider-tool" [label="mcps.tecnico.provider-tool", color="gray"]; + "mcp-contract-mcps-tokenref-redaction-policy" [label="mcps.tokenref.redaction-policy", color="gray"]; + "mcp-contract-mcps-tools-ui-screen" [label="mcps.tools.ui-screen", color="gray"]; + "mcp-contract-mcps-usuario-final-provider-tool" [label="mcps.usuario_final.provider-tool", color="gray"]; + "mcp-contract-platform-base-administrador-empresa-provider-tool" [label="platform_base.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-platform-base-atendimento-cliente-provider-tool" [label="platform_base.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-platform-base-ceo-provider-tool" [label="platform_base.ceo.provider-tool", color="gray"]; + "mcp-contract-platform-base-cfat-redaction-policy" [label="platform_base.cfat.redaction-policy", color="gray"]; + "mcp-contract-platform-base-cliente-externo-provider-tool" [label="platform_base.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-platform-base-contador-provider-tool" [label="platform_base.contador.provider-tool", color="gray"]; + "mcp-contract-platform-base-contracts-ui-screen" [label="platform_base.contracts.ui-screen", color="gray"]; + "mcp-contract-platform-base-credentialref-redaction-policy" [label="platform_base.credentialref.redaction-policy", color="gray"]; + "mcp-contract-platform-base-financeiro-provider-tool" [label="platform_base.financeiro.provider-tool", color="gray"]; + "mcp-contract-platform-base-gestor-operacional-provider-tool" [label="platform_base.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-platform-base-juridico-provider-tool" [label="platform_base.juridico.provider-tool", color="gray"]; + "mcp-contract-platform-base-planejamento-estrategico-provider-tool" [label="platform_base.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-platform-base-secretaria-provider-tool" [label="platform_base.secretaria.provider-tool", color="gray"]; + "mcp-contract-platform-base-secretref-redaction-policy" [label="platform_base.secretref.redaction-policy", color="gray"]; + "mcp-contract-platform-base-shared-runtime-ui-screen" [label="platform_base.shared-runtime.ui-screen", color="gray"]; + "mcp-contract-platform-base-standards-ui-screen" [label="platform_base.standards.ui-screen", color="gray"]; + "mcp-contract-platform-base-suporte-provider-tool" [label="platform_base.suporte.provider-tool", color="gray"]; + "mcp-contract-platform-base-tecnico-provider-tool" [label="platform_base.tecnico.provider-tool", color="gray"]; + "mcp-contract-platform-base-templates-ui-screen" [label="platform_base.templates.ui-screen", color="gray"]; + "mcp-contract-platform-base-tokenref-redaction-policy" [label="platform_base.tokenref.redaction-policy", color="gray"]; + "mcp-contract-platform-base-usuario-final-provider-tool" [label="platform_base.usuario_final.provider-tool", color="gray"]; + "mcp-contract-public-administrador-empresa-provider-tool" [label="public.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-public-atendimento-cliente-provider-tool" [label="public.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-public-ceo-provider-tool" [label="public.ceo.provider-tool", color="gray"]; + "mcp-contract-public-cfat-redaction-policy" [label="public.cfat.redaction-policy", color="gray"]; + "mcp-contract-public-cliente-externo-provider-tool" [label="public.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-public-contador-provider-tool" [label="public.contador.provider-tool", color="gray"]; + "mcp-contract-public-credentialref-redaction-policy" [label="public.credentialref.redaction-policy", color="gray"]; + "mcp-contract-public-financeiro-provider-tool" [label="public.financeiro.provider-tool", color="gray"]; + "mcp-contract-public-gestor-operacional-provider-tool" [label="public.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-public-juridico-provider-tool" [label="public.juridico.provider-tool", color="gray"]; + "mcp-contract-public-landing-ui-screen" [label="public.landing.ui-screen", color="gray"]; + "mcp-contract-public-onboarding-ui-screen" [label="public.onboarding.ui-screen", color="gray"]; + "mcp-contract-public-planejamento-estrategico-provider-tool" [label="public.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-public-public-docs-ui-screen" [label="public.public-docs.ui-screen", color="gray"]; + "mcp-contract-public-secretaria-provider-tool" [label="public.secretaria.provider-tool", color="gray"]; + "mcp-contract-public-secretref-redaction-policy" [label="public.secretref.redaction-policy", color="gray"]; + "mcp-contract-public-status-ui-screen" [label="public.status.ui-screen", color="gray"]; + "mcp-contract-public-suporte-provider-tool" [label="public.suporte.provider-tool", color="gray"]; + "mcp-contract-public-tecnico-provider-tool" [label="public.tecnico.provider-tool", color="gray"]; + "mcp-contract-public-tokenref-redaction-policy" [label="public.tokenref.redaction-policy", color="gray"]; + "mcp-contract-public-usuario-final-provider-tool" [label="public.usuario_final.provider-tool", color="gray"]; + "mcp-contract-stj-administrador-empresa-provider-tool" [label="stj.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-stj-atendimento-cliente-provider-tool" [label="stj.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-stj-ceo-provider-tool" [label="stj.ceo.provider-tool", color="gray"]; + "mcp-contract-stj-cfat-redaction-policy" [label="stj.cfat.redaction-policy", color="gray"]; + "mcp-contract-stj-cliente-externo-provider-tool" [label="stj.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-stj-contador-provider-tool" [label="stj.contador.provider-tool", color="gray"]; + "mcp-contract-stj-credentialref-redaction-policy" [label="stj.credentialref.redaction-policy", color="gray"]; + "mcp-contract-stj-financeiro-provider-tool" [label="stj.financeiro.provider-tool", color="gray"]; + "mcp-contract-stj-gestor-operacional-provider-tool" [label="stj.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-stj-juridico-provider-tool" [label="stj.juridico.provider-tool", color="gray"]; + "mcp-contract-stj-legal-readiness-ui-screen" [label="stj.legal-readiness.ui-screen", color="gray"]; + "mcp-contract-stj-monitoring-ui-screen" [label="stj.monitoring.ui-screen", color="gray"]; + "mcp-contract-stj-planejamento-estrategico-provider-tool" [label="stj.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-stj-process-query-ui-screen" [label="stj.process-query.ui-screen", color="gray"]; + "mcp-contract-stj-public-documents-ui-screen" [label="stj.public-documents.ui-screen", color="gray"]; + "mcp-contract-stj-secretaria-provider-tool" [label="stj.secretaria.provider-tool", color="gray"]; + "mcp-contract-stj-secretref-redaction-policy" [label="stj.secretref.redaction-policy", color="gray"]; + "mcp-contract-stj-suporte-provider-tool" [label="stj.suporte.provider-tool", color="gray"]; + "mcp-contract-stj-tecnico-provider-tool" [label="stj.tecnico.provider-tool", color="gray"]; + "mcp-contract-stj-tokenref-redaction-policy" [label="stj.tokenref.redaction-policy", color="gray"]; + "mcp-contract-stj-usuario-final-provider-tool" [label="stj.usuario_final.provider-tool", color="gray"]; + "mcp-contract-ui-administrador-empresa-provider-tool" [label="ui.administrador_empresa.provider-tool", color="gray"]; + "mcp-contract-ui-atendimento-cliente-provider-tool" [label="ui.atendimento_cliente.provider-tool", color="gray"]; + "mcp-contract-ui-ceo-provider-tool" [label="ui.ceo.provider-tool", color="gray"]; + "mcp-contract-ui-cfat-redaction-policy" [label="ui.cfat.redaction-policy", color="gray"]; + "mcp-contract-ui-cliente-externo-provider-tool" [label="ui.cliente_externo.provider-tool", color="gray"]; + "mcp-contract-ui-contador-provider-tool" [label="ui.contador.provider-tool", color="gray"]; + "mcp-contract-ui-credentialref-redaction-policy" [label="ui.credentialref.redaction-policy", color="gray"]; + "mcp-contract-ui-design-system-ui-screen" [label="ui.design-system.ui-screen", color="gray"]; + "mcp-contract-ui-financeiro-provider-tool" [label="ui.financeiro.provider-tool", color="gray"]; + "mcp-contract-ui-gestor-operacional-provider-tool" [label="ui.gestor_operacional.provider-tool", color="gray"]; + "mcp-contract-ui-juridico-provider-tool" [label="ui.juridico.provider-tool", color="gray"]; + "mcp-contract-ui-panelready-ui-screen" [label="ui.panelready.ui-screen", color="gray"]; + "mcp-contract-ui-planejamento-estrategico-provider-tool" [label="ui.planejamento_estrategico.provider-tool", color="gray"]; + "mcp-contract-ui-pwa-ui-screen" [label="ui.pwa.ui-screen", color="gray"]; + "mcp-contract-ui-samesource-ui-screen" [label="ui.samesource.ui-screen", color="gray"]; + "mcp-contract-ui-screen-contract-ui-screen" [label="ui.screen-contract.ui-screen", color="gray"]; + "mcp-contract-ui-secretaria-provider-tool" [label="ui.secretaria.provider-tool", color="gray"]; + "mcp-contract-ui-secretref-redaction-policy" [label="ui.secretref.redaction-policy", color="gray"]; + "mcp-contract-ui-suporte-provider-tool" [label="ui.suporte.provider-tool", color="gray"]; + "mcp-contract-ui-tecnico-provider-tool" [label="ui.tecnico.provider-tool", color="gray"]; + "mcp-contract-ui-tokenref-redaction-policy" [label="ui.tokenref.redaction-policy", color="gray"]; + "mcp-contract-ui-usuario-final-provider-tool" [label="ui.usuario_final.provider-tool", color="gray"]; + "mcp-provider-mais-humana" [label="Tudo Para IA Mais Humana", color="gray"]; "order-0001-executiva-blindar-redaction-e-referencias-de-credencial" [label="Blindar redaction e referencias de credencial", color="gray"]; "order-0001-gerencial-separar-maturidade-comercial-e-tecnica-por-produto" [label="Separar maturidade comercial e tecnica por produto", color="gray"]; "order-0002-executiva-classificar-truthstate-e-fonte-da-verdade-dos-dados" [label="Classificar truthState e fonte da verdade dos dados", color="gray"]; diff --git a/matrizes/budget-linhas-rodada.csv b/matrizes/budget-linhas-rodada.csv index b1445b2..3f13baf 100644 --- a/matrizes/budget-linhas-rodada.csv +++ b/matrizes/budget-linhas-rodada.csv @@ -6,11 +6,11 @@ tudo-para-ia-docs-plataform,yes,419,416,26143,38379, tudo-para-ia-finance-platform,yes,7750,2098,312896,384357, tudo-para-ia-gettys-platform,yes,1315,922,172071,293959, tudo-para-ia-identity-platform,yes,569,355,86631,160272, -tudo-para-ia-integracoes-plataform,yes,2971,2915,185970,286656, -tudo-para-ia-intelligence-platform,yes,38,37,10880,19210, -tudo-para-ia-mais-humana,yes,191,141,16675,78448, -tudo-para-ia-mcps-internos-plataform,yes,1074,1061,92632,117869, -tudo-para-ia-platform-base,yes,4724,2191,20226,93429, -tudo-para-ia-public-platform,yes,1146,848,55914,222885, +tudo-para-ia-integracoes-plataform,yes,1570,1514,99065,182346, +tudo-para-ia-intelligence-platform,yes,42,41,13347,14587, +tudo-para-ia-mais-humana,yes,195,145,18302,80075, +tudo-para-ia-mcps-internos-plataform,yes,1074,1061,92938,118175, +tudo-para-ia-platform-base,yes,4739,2206,22553,107565, +tudo-para-ia-public-platform,yes,1182,884,55933,225651, tudo-para-ia-stj-platform,yes,3331,3232,104542,144299, tudo-para-ia-ui-platform,yes,8810,8333,456462,1145299, diff --git a/matrizes/grafo-evidencias.csv b/matrizes/grafo-evidencias.csv index 5e7341e..9deb979 100644 --- a/matrizes/grafo-evidencias.csv +++ b/matrizes/grafo-evidencias.csv @@ -317,16 +317,16 @@ node,evidence-apps-identity-admin-panel-readme-md3,,evidence,code,55,apps/identi node,evidence-apps-identity-admin-panel-src-screen-registry-ts275,,evidence,runtime,78,apps/identity-admin-panel/src/screen-registry.ts:275 node,evidence-apps-identity-admin-panel-src-screen-registry-ts37,,evidence,code,55,apps/identity-admin-panel/src/screen-registry.ts:37 node,evidence-apps-identity-admin-panel-tsconfig-json,,evidence,config,65,apps/identity-admin-panel/tsconfig.json -node,evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-contract-json3,,evidence,code,55,apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json:3 node,evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-summary-json3,,evidence,code,55,apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json:3 node,evidence-apps-intelligence-worker-package-json,,evidence,config,65,apps/intelligence-worker/package.json -node,evidence-apps-intelligence-worker-package-json10,,evidence,code,55,apps/intelligence-worker/package.json:10 +node,evidence-apps-intelligence-worker-package-json7,,evidence,code,55,apps/intelligence-worker/package.json:7 node,evidence-apps-intelligence-worker-scripts-export-contracts-mjs11,,evidence,code,55,apps/intelligence-worker/scripts/export-contracts.mjs:11 node,evidence-apps-intelligence-worker-src-gate-orchestrator-js66,,evidence,runtime,68,apps/intelligence-worker/src/gate-orchestrator.js:66 node,evidence-apps-intelligence-worker-src-gate-orchestrator-js7,,evidence,code,55,apps/intelligence-worker/src/gate-orchestrator.js:7 node,evidence-apps-intelligence-worker-src-owner-gate-receipts-js14,,evidence,code,55,apps/intelligence-worker/src/owner-gate-receipts.js:14 node,evidence-apps-intelligence-worker-src-public-smoke-js29,,evidence,code,55,apps/intelligence-worker/src/public-smoke.js:29 node,evidence-apps-intelligence-worker-src-release-governance-js14,,evidence,runtime,68,apps/intelligence-worker/src/release-governance.js:14 +node,evidence-apps-intelligence-worker-src-release-readiness-board-js3,,evidence,code,55,apps/intelligence-worker/src/release-readiness-board.js:3 node,evidence-apps-intelligence-worker-tests-intelligence-worker-test-mjs24,,evidence,code,55,apps/intelligence-worker/tests/intelligence-worker.test.mjs:24 node,evidence-apps-intelligence-worker-tests-run-mcp-contract-mjs50,,evidence,code,55,apps/intelligence-worker/tests/run-mcp-contract.mjs:50 node,evidence-apps-public-site-package-json,,evidence,config,65,apps/public-site/package.json @@ -362,6 +362,7 @@ node,evidence-apps-tudo-para-ia-webhooks-wrangler-toml,,evidence,config,65,apps/ node,evidence-controle-de-ordens-executadas-md187,,evidence,runtime,68,CONTROLE-DE-ORDENS-EXECUTADAS.md:187 node,evidence-controle-de-ordens-executadas-md81,,evidence,runtime,68,CONTROLE-DE-ORDENS-EXECUTADAS.md:81 node,evidence-controle-de-ordens-executadas-md82,,evidence,code,55,CONTROLE-DE-ORDENS-EXECUTADAS.md:82 +node,evidence-deploy-mcps-gateway-src-providers-managed-catalog-ts988,,evidence,runtime,78,deploy/mcps-gateway/src/providers/managed-catalog.ts:988 node,evidence-dist-nobundle-openapi-document-js44,,evidence,derived,70,dist-nobundle/openapi/document.js:44 node,evidence-dist-nobundle-order-control-runbook-js133,,evidence,code,55,dist-nobundle/order-control-runbook.js:133 node,evidence-dist-nobundle-redaction-js12,,evidence,runtime,78,dist-nobundle/redaction.js:12 @@ -558,8 +559,6 @@ node,evidence-paradigmas-shadcn-ui-apps-v4-app-og-geist-semibold-otf-json1,,evid node,evidence-paradigmas-shadcn-ui-apps-v4-components-github-link-tsx,,evidence,code,66,_paradigmas/shadcn-ui/apps/v4/components/github-link.tsx node,evidence-paradigmas-shadcn-ui-packages-tests-gitignore,,evidence,test,72,_paradigmas/shadcn-ui/packages/tests/.gitignore node,evidence-paradigmas-shadcn-ui-readme-md,,evidence,documentation,75,_paradigmas/shadcn-ui/README.md -node,evidence-pipeline-os-bases-mcps-internos-semantica-v1-autonoma-indice-execucao-mcps-semantica-v1-autonoma-md,,evidence,code,55,pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMANTICA_V1_AUTONOMA.md -node,evidence-pipeline-os-bases-mcps-internos-semantica-v1-autonoma-indice-execucao-mcps-semantica-v1-autonoma-md1,,evidence,code,55,pipeline-os-bases/mcps_internos_semantica_v1_autonoma/INDICE_EXECUCAO_MCPS_SEMANTICA_V1_AUTONOMA.md:1 node,evidence-pipeline-os-bases-stj-semantica-v9-autonoma-lote-003-resumo-lote-003-md30,,evidence,derived,70,pipeline-os-bases/stj_semantica_v9_autonoma/lote_003/resumo_lote_003.md:30 node,evidence-policies-migration-reuse-required-by-function-md5,,evidence,contract,78,policies/migration/reuse-required-by-function.md:5 node,evidence-readme-md,,evidence,documentation,75,README.md @@ -615,9 +614,6 @@ node,evidence-reports-migration-reuse-decision-report-md15,,evidence,contract,78 node,evidence-reports-migration-reuse-required-baseline-md,,evidence,code,55,reports/migration/reuse-required-baseline.md node,evidence-reports-operational-readiness-derived-platform-adoption-json85,,evidence,runtime,68,reports/operational-readiness/derived-platform-adoption.json:85 node,evidence-reports-operational-readiness-derived-platform-adoption-md27,,evidence,runtime,68,reports/operational-readiness/derived-platform-adoption.md:27 -node,evidence-reports-operational-readiness-release-execution-manifest-md73,,evidence,code,55,reports/operational-readiness/release-execution-manifest.md:73 -node,evidence-reports-operational-readiness-release-lots-json4030,,evidence,code,55,reports/operational-readiness/release-lots.json:4030 -node,evidence-reports-operational-readiness-release-lots-md64,,evidence,code,55,reports/operational-readiness/release-lots.md:64 node,evidence-reports-ordem-020-validacao-inicial-2026-04-24-md11,,evidence,code,55,reports/ordem-020-validacao-inicial-2026-04-24.md:11 node,evidence-reports-ordem-030-validacao-operacional-2026-04-24-md11,,evidence,code,55,reports/ordem-030-validacao-operacional-2026-04-24.md:11 node,evidence-reports-ordem-030-validacao-operacional-2026-04-24-md27,,evidence,derived,70,reports/ordem-030-validacao-operacional-2026-04-24.md:27 @@ -663,7 +659,6 @@ node,evidence-scripts-round-materialize-round-0026-0030-live-audit-pack-js41,,ev node,evidence-scripts-round-materialize-round-0041-0045-live-gates-js113,,evidence,code,55,scripts/round/materialize-round-0041-0045-live-gates.js:113 node,evidence-scripts-round-materialize-round-10-execution-ledger-mjs77,,evidence,code,78,scripts/round/materialize-round-10-execution-ledger.mjs:77 node,evidence-scripts-round-materialize-round-10-operational-closure-mjs77,,evidence,code,78,scripts/round/materialize-round-10-operational-closure.mjs:77 -node,evidence-scripts-round-materialize-round-11-operational-execution-mjs60,,evidence,code,78,scripts/round/materialize-round-11-operational-execution.mjs:60 node,evidence-scripts-run-mcp-smoke-mjs59,,evidence,runtime,68,scripts/run-mcp-smoke.mjs:59 node,evidence-scripts-sync-catalog-contract-mjs19,,evidence,runtime,68,scripts/sync-catalog-contract.mjs:19 node,evidence-scripts-sync-catalog-contract-mjs5,,evidence,code,55,scripts/sync-catalog-contract.mjs:5 @@ -793,7 +788,9 @@ node,evidence-tests-platform-total-test-ts27,,evidence,derived,55,tests/platform node,evidence-tests-platform-total-test-ts55,,evidence,runtime,68,tests/platform-total.test.ts:55 node,evidence-tests-product-plan-test-ts10,,evidence,runtime,68,tests/product-plan.test.ts:10 node,evidence-tests-release-control-test-mjs16,,evidence,code,55,tests/release-control.test.mjs:16 +node,evidence-tests-release-governance-test-ts,,evidence,test,72,tests/release-governance.test.ts node,evidence-tests-release-governance-test-ts23,,evidence,runtime,68,tests/release-governance.test.ts:23 +node,evidence-tests-release-governance-test-ts66,,evidence,derived,55,tests/release-governance.test.ts:66 node,evidence-tests-release-manifest-test-mjs15,,evidence,code,55,tests/release-manifest.test.mjs:15 node,evidence-tests-remote-release-probe-test-ts206,,evidence,runtime,68,tests/remote-release-probe.test.ts:206 node,evidence-tests-remote-release-probe-test-ts31,,evidence,code,55,tests/remote-release-probe.test.ts:31 @@ -809,10 +806,11 @@ node,evidence-tests-round-08-playbook-integrity-test-ts62,,evidence,runtime,68,t node,evidence-tests-round-09-operational-execution-test-ts134,,evidence,runtime,78,tests/round-09-operational-execution.test.ts:134 node,evidence-tests-round-10-operational-closure-test-ts100,,evidence,code,78,tests/round-10-operational-closure.test.ts:100 node,evidence-tests-round-10-operational-closure-test-ts118,,evidence,runtime,78,tests/round-10-operational-closure.test.ts:118 +node,evidence-tests-round-11-operational-execution-test-ts109,,evidence,runtime,78,tests/round-11-operational-execution.test.ts:109 +node,evidence-tests-round-11-operational-execution-test-ts11,,evidence,code,78,tests/round-11-operational-execution.test.ts:11 node,evidence-tests-smoke-remote-ts94,,evidence,derived,55,tests/smoke-remote.ts:94 node,evidence-tests-snapshots-admin-view-compact-json47,,evidence,runtime,68,tests/snapshots/admin-view.compact.json:47 node,evidence-tests-surface-test-ts350,,evidence,derived,55,tests/surface.test.ts:350 -node,evidence-tests-surface-test-ts52,,evidence,runtime,78,tests/surface.test.ts:52 node,evidence-tests-ui-governance-test-mjs9,,evidence,code,78,tests/ui-governance.test.mjs:9 node,evidence-tools-generate-round006-operational-governance-mjs168,,evidence,derived,55,tools/generate-round006-operational-governance.mjs:168 node,evidence-tudo-para-ia-integracoes-plataform-runbooks-operacao-md6,,evidence,code,55,tudo-para-ia-integracoes-plataform/runbooks/operacao.md:6 @@ -826,6 +824,315 @@ node,evidence-workers-intelligence-mcp-src-index-ts11,,evidence,runtime,68,worke node,evidence-workers-public-mcp-src-index-ts1,,evidence,code,55,workers/public-mcp/src/index.ts:1 node,evidence-workers-stj-mcp-src-index-ts2,,evidence,code,55,workers/stj-mcp/src/index.ts:2 node,evidence-wrangler-toml,,evidence,config,65,wrangler.toml +node,mcp-contract-business-administrador-empresa-provider-tool,,mcp_provider_tool,blocked,9,business.administrador_empresa.provider-tool +node,mcp-contract-business-atendimento-cliente-provider-tool,,mcp_provider_tool,blocked,9,business.atendimento_cliente.provider-tool +node,mcp-contract-business-billing-ui-screen,,mcp_ui_screen,blocked,9,business.billing.ui-screen +node,mcp-contract-business-ceo-provider-tool,,mcp_provider_tool,blocked,9,business.ceo.provider-tool +node,mcp-contract-business-cfat-redaction-policy,,mcp_redaction_policy,blocked,9,business.cfat.redaction-policy +node,mcp-contract-business-checkout-ui-screen,,mcp_ui_screen,blocked,9,business.checkout.ui-screen +node,mcp-contract-business-cliente-externo-provider-tool,,mcp_provider_tool,blocked,9,business.cliente_externo.provider-tool +node,mcp-contract-business-commercial-readiness-ui-screen,,mcp_ui_screen,blocked,9,business.commercial-readiness.ui-screen +node,mcp-contract-business-consumption-ui-screen,,mcp_ui_screen,blocked,9,business.consumption.ui-screen +node,mcp-contract-business-contador-provider-tool,,mcp_provider_tool,blocked,9,business.contador.provider-tool +node,mcp-contract-business-credentialref-redaction-policy,,mcp_redaction_policy,blocked,9,business.credentialref.redaction-policy +node,mcp-contract-business-entitlements-ui-screen,,mcp_ui_screen,blocked,9,business.entitlements.ui-screen +node,mcp-contract-business-financeiro-provider-tool,,mcp_provider_tool,blocked,9,business.financeiro.provider-tool +node,mcp-contract-business-gestor-operacional-provider-tool,,mcp_provider_tool,blocked,9,business.gestor_operacional.provider-tool +node,mcp-contract-business-juridico-provider-tool,,mcp_provider_tool,blocked,9,business.juridico.provider-tool +node,mcp-contract-business-planejamento-estrategico-provider-tool,,mcp_provider_tool,blocked,9,business.planejamento_estrategico.provider-tool +node,mcp-contract-business-secretaria-provider-tool,,mcp_provider_tool,blocked,9,business.secretaria.provider-tool +node,mcp-contract-business-secretref-redaction-policy,,mcp_redaction_policy,blocked,9,business.secretref.redaction-policy +node,mcp-contract-business-suporte-provider-tool,,mcp_provider_tool,blocked,9,business.suporte.provider-tool +node,mcp-contract-business-tecnico-provider-tool,,mcp_provider_tool,blocked,9,business.tecnico.provider-tool +node,mcp-contract-business-tokenref-redaction-policy,,mcp_redaction_policy,blocked,9,business.tokenref.redaction-policy +node,mcp-contract-business-usuario-final-provider-tool,,mcp_provider_tool,blocked,9,business.usuario_final.provider-tool +node,mcp-contract-compliance-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,compliance.administrador_empresa.provider-tool +node,mcp-contract-compliance-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,compliance.atendimento_cliente.provider-tool +node,mcp-contract-compliance-audit-ui-screen,,mcp_ui_screen,ready,100,compliance.audit.ui-screen +node,mcp-contract-compliance-ceo-provider-tool,,mcp_provider_tool,ready,100,compliance.ceo.provider-tool +node,mcp-contract-compliance-cfat-redaction-policy,,mcp_redaction_policy,ready,100,compliance.cfat.redaction-policy +node,mcp-contract-compliance-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,compliance.cliente_externo.provider-tool +node,mcp-contract-compliance-consent-ui-screen,,mcp_ui_screen,ready,100,compliance.consent.ui-screen +node,mcp-contract-compliance-contador-provider-tool,,mcp_provider_tool,ready,100,compliance.contador.provider-tool +node,mcp-contract-compliance-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,compliance.credentialref.redaction-policy +node,mcp-contract-compliance-financeiro-provider-tool,,mcp_provider_tool,ready,100,compliance.financeiro.provider-tool +node,mcp-contract-compliance-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,compliance.gestor_operacional.provider-tool +node,mcp-contract-compliance-juridico-provider-tool,,mcp_provider_tool,ready,100,compliance.juridico.provider-tool +node,mcp-contract-compliance-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,compliance.planejamento_estrategico.provider-tool +node,mcp-contract-compliance-privacy-ui-screen,,mcp_ui_screen,ready,100,compliance.privacy.ui-screen +node,mcp-contract-compliance-retention-ui-screen,,mcp_ui_screen,ready,100,compliance.retention.ui-screen +node,mcp-contract-compliance-risk-ui-screen,,mcp_ui_screen,ready,100,compliance.risk.ui-screen +node,mcp-contract-compliance-secretaria-provider-tool,,mcp_provider_tool,ready,100,compliance.secretaria.provider-tool +node,mcp-contract-compliance-secretref-redaction-policy,,mcp_redaction_policy,ready,100,compliance.secretref.redaction-policy +node,mcp-contract-compliance-suporte-provider-tool,,mcp_provider_tool,ready,100,compliance.suporte.provider-tool +node,mcp-contract-compliance-tecnico-provider-tool,,mcp_provider_tool,ready,100,compliance.tecnico.provider-tool +node,mcp-contract-compliance-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,compliance.tokenref.redaction-policy +node,mcp-contract-compliance-usuario-final-provider-tool,,mcp_provider_tool,ready,100,compliance.usuario_final.provider-tool +node,mcp-contract-customer-ops-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,customer_ops.administrador_empresa.provider-tool +node,mcp-contract-customer-ops-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,customer_ops.atendimento_cliente.provider-tool +node,mcp-contract-customer-ops-ceo-provider-tool,,mcp_provider_tool,ready,100,customer_ops.ceo.provider-tool +node,mcp-contract-customer-ops-cfat-redaction-policy,,mcp_redaction_policy,ready,100,customer_ops.cfat.redaction-policy +node,mcp-contract-customer-ops-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,customer_ops.cliente_externo.provider-tool +node,mcp-contract-customer-ops-contador-provider-tool,,mcp_provider_tool,ready,100,customer_ops.contador.provider-tool +node,mcp-contract-customer-ops-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,customer_ops.credentialref.redaction-policy +node,mcp-contract-customer-ops-customer-status-ui-screen,,mcp_ui_screen,ready,100,customer_ops.customer-status.ui-screen +node,mcp-contract-customer-ops-diagnostics-ui-screen,,mcp_ui_screen,ready,100,customer_ops.diagnostics.ui-screen +node,mcp-contract-customer-ops-financeiro-provider-tool,,mcp_provider_tool,ready,100,customer_ops.financeiro.provider-tool +node,mcp-contract-customer-ops-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,customer_ops.gestor_operacional.provider-tool +node,mcp-contract-customer-ops-handoffs-ui-screen,,mcp_ui_screen,ready,100,customer_ops.handoffs.ui-screen +node,mcp-contract-customer-ops-incidents-ui-screen,,mcp_ui_screen,ready,100,customer_ops.incidents.ui-screen +node,mcp-contract-customer-ops-juridico-provider-tool,,mcp_provider_tool,ready,100,customer_ops.juridico.provider-tool +node,mcp-contract-customer-ops-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,customer_ops.planejamento_estrategico.provider-tool +node,mcp-contract-customer-ops-secretaria-provider-tool,,mcp_provider_tool,ready,100,customer_ops.secretaria.provider-tool +node,mcp-contract-customer-ops-secretref-redaction-policy,,mcp_redaction_policy,ready,100,customer_ops.secretref.redaction-policy +node,mcp-contract-customer-ops-suporte-provider-tool,,mcp_provider_tool,ready,100,customer_ops.suporte.provider-tool +node,mcp-contract-customer-ops-tecnico-provider-tool,,mcp_provider_tool,ready,100,customer_ops.tecnico.provider-tool +node,mcp-contract-customer-ops-tickets-ui-screen,,mcp_ui_screen,ready,100,customer_ops.tickets.ui-screen +node,mcp-contract-customer-ops-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,customer_ops.tokenref.redaction-policy +node,mcp-contract-customer-ops-usuario-final-provider-tool,,mcp_provider_tool,ready,100,customer_ops.usuario_final.provider-tool +node,mcp-contract-docs-administrador-empresa-provider-tool,,mcp_provider_tool,blocked,11,docs.administrador_empresa.provider-tool +node,mcp-contract-docs-atendimento-cliente-provider-tool,,mcp_provider_tool,blocked,11,docs.atendimento_cliente.provider-tool +node,mcp-contract-docs-canonical-docs-ui-screen,,mcp_ui_screen,blocked,11,docs.canonical-docs.ui-screen +node,mcp-contract-docs-ceo-provider-tool,,mcp_provider_tool,blocked,11,docs.ceo.provider-tool +node,mcp-contract-docs-cfat-redaction-policy,,mcp_redaction_policy,blocked,11,docs.cfat.redaction-policy +node,mcp-contract-docs-cliente-externo-provider-tool,,mcp_provider_tool,blocked,11,docs.cliente_externo.provider-tool +node,mcp-contract-docs-contador-provider-tool,,mcp_provider_tool,blocked,11,docs.contador.provider-tool +node,mcp-contract-docs-contracts-ui-screen,,mcp_ui_screen,blocked,11,docs.contracts.ui-screen +node,mcp-contract-docs-credentialref-redaction-policy,,mcp_redaction_policy,blocked,11,docs.credentialref.redaction-policy +node,mcp-contract-docs-financeiro-provider-tool,,mcp_provider_tool,blocked,11,docs.financeiro.provider-tool +node,mcp-contract-docs-formal-exception-docs-catalogonly,,mcp_docs_exception,formal_exception,92,docs.formal-exception.docs-catalogonly +node,mcp-contract-docs-gestor-operacional-provider-tool,,mcp_provider_tool,blocked,11,docs.gestor_operacional.provider-tool +node,mcp-contract-docs-help-ui-screen,,mcp_ui_screen,blocked,11,docs.help.ui-screen +node,mcp-contract-docs-juridico-provider-tool,,mcp_provider_tool,blocked,11,docs.juridico.provider-tool +node,mcp-contract-docs-planejamento-estrategico-provider-tool,,mcp_provider_tool,blocked,11,docs.planejamento_estrategico.provider-tool +node,mcp-contract-docs-proofs-ui-screen,,mcp_ui_screen,blocked,11,docs.proofs.ui-screen +node,mcp-contract-docs-runbooks-ui-screen,,mcp_ui_screen,blocked,11,docs.runbooks.ui-screen +node,mcp-contract-docs-secretaria-provider-tool,,mcp_provider_tool,blocked,11,docs.secretaria.provider-tool +node,mcp-contract-docs-secretref-redaction-policy,,mcp_redaction_policy,blocked,11,docs.secretref.redaction-policy +node,mcp-contract-docs-suporte-provider-tool,,mcp_provider_tool,blocked,11,docs.suporte.provider-tool +node,mcp-contract-docs-tecnico-provider-tool,,mcp_provider_tool,blocked,11,docs.tecnico.provider-tool +node,mcp-contract-docs-tokenref-redaction-policy,,mcp_redaction_policy,blocked,11,docs.tokenref.redaction-policy +node,mcp-contract-docs-usuario-final-provider-tool,,mcp_provider_tool,blocked,11,docs.usuario_final.provider-tool +node,mcp-contract-finance-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,finance.administrador_empresa.provider-tool +node,mcp-contract-finance-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,finance.atendimento_cliente.provider-tool +node,mcp-contract-finance-ceo-provider-tool,,mcp_provider_tool,ready,100,finance.ceo.provider-tool +node,mcp-contract-finance-cfat-redaction-policy,,mcp_redaction_policy,ready,100,finance.cfat.redaction-policy +node,mcp-contract-finance-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,finance.cliente_externo.provider-tool +node,mcp-contract-finance-contador-provider-tool,,mcp_provider_tool,ready,100,finance.contador.provider-tool +node,mcp-contract-finance-cost-ui-screen,,mcp_ui_screen,ready,100,finance.cost.ui-screen +node,mcp-contract-finance-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,finance.credentialref.redaction-policy +node,mcp-contract-finance-financeiro-provider-tool,,mcp_provider_tool,ready,100,finance.financeiro.provider-tool +node,mcp-contract-finance-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,finance.gestor_operacional.provider-tool +node,mcp-contract-finance-invoices-ui-screen,,mcp_ui_screen,ready,100,finance.invoices.ui-screen +node,mcp-contract-finance-juridico-provider-tool,,mcp_provider_tool,ready,100,finance.juridico.provider-tool +node,mcp-contract-finance-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,finance.planejamento_estrategico.provider-tool +node,mcp-contract-finance-quota-ui-screen,,mcp_ui_screen,ready,100,finance.quota.ui-screen +node,mcp-contract-finance-reconciliation-ui-screen,,mcp_ui_screen,ready,100,finance.reconciliation.ui-screen +node,mcp-contract-finance-secretaria-provider-tool,,mcp_provider_tool,ready,100,finance.secretaria.provider-tool +node,mcp-contract-finance-secretref-redaction-policy,,mcp_redaction_policy,ready,100,finance.secretref.redaction-policy +node,mcp-contract-finance-suporte-provider-tool,,mcp_provider_tool,ready,100,finance.suporte.provider-tool +node,mcp-contract-finance-tecnico-provider-tool,,mcp_provider_tool,ready,100,finance.tecnico.provider-tool +node,mcp-contract-finance-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,finance.tokenref.redaction-policy +node,mcp-contract-finance-usage-ui-screen,,mcp_ui_screen,ready,100,finance.usage.ui-screen +node,mcp-contract-finance-usuario-final-provider-tool,,mcp_provider_tool,ready,100,finance.usuario_final.provider-tool +node,mcp-contract-gettys-admin-screen-ui-screen,,mcp_ui_screen,blocked,6,gettys.admin-screen.ui-screen +node,mcp-contract-gettys-administrador-empresa-provider-tool,,mcp_provider_tool,blocked,6,gettys.administrador_empresa.provider-tool +node,mcp-contract-gettys-atendimento-cliente-provider-tool,,mcp_provider_tool,blocked,6,gettys.atendimento_cliente.provider-tool +node,mcp-contract-gettys-ceo-provider-tool,,mcp_provider_tool,blocked,6,gettys.ceo.provider-tool +node,mcp-contract-gettys-cfat-redaction-policy,,mcp_redaction_policy,blocked,6,gettys.cfat.redaction-policy +node,mcp-contract-gettys-cliente-externo-provider-tool,,mcp_provider_tool,blocked,6,gettys.cliente_externo.provider-tool +node,mcp-contract-gettys-contador-provider-tool,,mcp_provider_tool,blocked,6,gettys.contador.provider-tool +node,mcp-contract-gettys-credentialref-redaction-policy,,mcp_redaction_policy,blocked,6,gettys.credentialref.redaction-policy +node,mcp-contract-gettys-financeiro-provider-tool,,mcp_provider_tool,blocked,6,gettys.financeiro.provider-tool +node,mcp-contract-gettys-gestor-operacional-provider-tool,,mcp_provider_tool,blocked,6,gettys.gestor_operacional.provider-tool +node,mcp-contract-gettys-gettys-overview-ui-screen,,mcp_ui_screen,blocked,6,gettys.gettys-overview.ui-screen +node,mcp-contract-gettys-health-ui-screen,,mcp_ui_screen,blocked,6,gettys.health.ui-screen +node,mcp-contract-gettys-juridico-provider-tool,,mcp_provider_tool,blocked,6,gettys.juridico.provider-tool +node,mcp-contract-gettys-planejamento-estrategico-provider-tool,,mcp_provider_tool,blocked,6,gettys.planejamento_estrategico.provider-tool +node,mcp-contract-gettys-product-readiness-ui-screen,,mcp_ui_screen,blocked,6,gettys.product-readiness.ui-screen +node,mcp-contract-gettys-secretaria-provider-tool,,mcp_provider_tool,blocked,6,gettys.secretaria.provider-tool +node,mcp-contract-gettys-secretref-redaction-policy,,mcp_redaction_policy,blocked,6,gettys.secretref.redaction-policy +node,mcp-contract-gettys-suporte-provider-tool,,mcp_provider_tool,blocked,6,gettys.suporte.provider-tool +node,mcp-contract-gettys-tecnico-provider-tool,,mcp_provider_tool,blocked,6,gettys.tecnico.provider-tool +node,mcp-contract-gettys-tokenref-redaction-policy,,mcp_redaction_policy,blocked,6,gettys.tokenref.redaction-policy +node,mcp-contract-gettys-usuario-final-provider-tool,,mcp_provider_tool,blocked,6,gettys.usuario_final.provider-tool +node,mcp-contract-identity-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,identity.administrador_empresa.provider-tool +node,mcp-contract-identity-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,identity.atendimento_cliente.provider-tool +node,mcp-contract-identity-audit-ui-screen,,mcp_ui_screen,ready,100,identity.audit.ui-screen +node,mcp-contract-identity-ceo-provider-tool,,mcp_provider_tool,ready,100,identity.ceo.provider-tool +node,mcp-contract-identity-cfat-redaction-policy,,mcp_redaction_policy,ready,100,identity.cfat.redaction-policy +node,mcp-contract-identity-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,identity.cliente_externo.provider-tool +node,mcp-contract-identity-contador-provider-tool,,mcp_provider_tool,ready,100,identity.contador.provider-tool +node,mcp-contract-identity-contracts-ui-screen,,mcp_ui_screen,ready,100,identity.contracts.ui-screen +node,mcp-contract-identity-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,identity.credentialref.redaction-policy +node,mcp-contract-identity-financeiro-provider-tool,,mcp_provider_tool,ready,100,identity.financeiro.provider-tool +node,mcp-contract-identity-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,identity.gestor_operacional.provider-tool +node,mcp-contract-identity-incidents-ui-screen,,mcp_ui_screen,ready,100,identity.incidents.ui-screen +node,mcp-contract-identity-juridico-provider-tool,,mcp_provider_tool,ready,100,identity.juridico.provider-tool +node,mcp-contract-identity-organizations-ui-screen,,mcp_ui_screen,ready,100,identity.organizations.ui-screen +node,mcp-contract-identity-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,identity.planejamento_estrategico.provider-tool +node,mcp-contract-identity-rbac-ui-screen,,mcp_ui_screen,ready,100,identity.rbac.ui-screen +node,mcp-contract-identity-secretaria-provider-tool,,mcp_provider_tool,ready,100,identity.secretaria.provider-tool +node,mcp-contract-identity-secretref-redaction-policy,,mcp_redaction_policy,ready,100,identity.secretref.redaction-policy +node,mcp-contract-identity-sessions-ui-screen,,mcp_ui_screen,ready,100,identity.sessions.ui-screen +node,mcp-contract-identity-suporte-provider-tool,,mcp_provider_tool,ready,100,identity.suporte.provider-tool +node,mcp-contract-identity-tecnico-provider-tool,,mcp_provider_tool,ready,100,identity.tecnico.provider-tool +node,mcp-contract-identity-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,identity.tokenref.redaction-policy +node,mcp-contract-identity-usuario-final-provider-tool,,mcp_provider_tool,ready,100,identity.usuario_final.provider-tool +node,mcp-contract-integracoes-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,integracoes.administrador_empresa.provider-tool +node,mcp-contract-integracoes-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,integracoes.atendimento_cliente.provider-tool +node,mcp-contract-integracoes-byok-ui-screen,,mcp_ui_screen,ready,100,integracoes.byok.ui-screen +node,mcp-contract-integracoes-ceo-provider-tool,,mcp_provider_tool,ready,100,integracoes.ceo.provider-tool +node,mcp-contract-integracoes-cfat-redaction-policy,,mcp_redaction_policy,ready,100,integracoes.cfat.redaction-policy +node,mcp-contract-integracoes-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,integracoes.cliente_externo.provider-tool +node,mcp-contract-integracoes-contador-provider-tool,,mcp_provider_tool,ready,100,integracoes.contador.provider-tool +node,mcp-contract-integracoes-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,integracoes.credentialref.redaction-policy +node,mcp-contract-integracoes-credentials-ui-screen,,mcp_ui_screen,ready,100,integracoes.credentials.ui-screen +node,mcp-contract-integracoes-financeiro-provider-tool,,mcp_provider_tool,ready,100,integracoes.financeiro.provider-tool +node,mcp-contract-integracoes-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,integracoes.gestor_operacional.provider-tool +node,mcp-contract-integracoes-juridico-provider-tool,,mcp_provider_tool,ready,100,integracoes.juridico.provider-tool +node,mcp-contract-integracoes-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,integracoes.planejamento_estrategico.provider-tool +node,mcp-contract-integracoes-products-ui-screen,,mcp_ui_screen,ready,100,integracoes.products.ui-screen +node,mcp-contract-integracoes-providers-ui-screen,,mcp_ui_screen,ready,100,integracoes.providers.ui-screen +node,mcp-contract-integracoes-secretaria-provider-tool,,mcp_provider_tool,ready,100,integracoes.secretaria.provider-tool +node,mcp-contract-integracoes-secretref-redaction-policy,,mcp_redaction_policy,ready,100,integracoes.secretref.redaction-policy +node,mcp-contract-integracoes-smoke-ui-screen,,mcp_ui_screen,ready,100,integracoes.smoke.ui-screen +node,mcp-contract-integracoes-suporte-provider-tool,,mcp_provider_tool,ready,100,integracoes.suporte.provider-tool +node,mcp-contract-integracoes-tecnico-provider-tool,,mcp_provider_tool,ready,100,integracoes.tecnico.provider-tool +node,mcp-contract-integracoes-tenant-ui-screen,,mcp_ui_screen,ready,100,integracoes.tenant.ui-screen +node,mcp-contract-integracoes-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,integracoes.tokenref.redaction-policy +node,mcp-contract-integracoes-usuario-final-provider-tool,,mcp_provider_tool,ready,100,integracoes.usuario_final.provider-tool +node,mcp-contract-intelligence-administrador-empresa-provider-tool,,mcp_provider_tool,blocked,1,intelligence.administrador_empresa.provider-tool +node,mcp-contract-intelligence-analytics-ui-screen,,mcp_ui_screen,blocked,1,intelligence.analytics.ui-screen +node,mcp-contract-intelligence-atendimento-cliente-provider-tool,,mcp_provider_tool,blocked,1,intelligence.atendimento_cliente.provider-tool +node,mcp-contract-intelligence-ceo-provider-tool,,mcp_provider_tool,blocked,1,intelligence.ceo.provider-tool +node,mcp-contract-intelligence-cfat-redaction-policy,,mcp_redaction_policy,blocked,10,intelligence.cfat.redaction-policy +node,mcp-contract-intelligence-cliente-externo-provider-tool,,mcp_provider_tool,blocked,1,intelligence.cliente_externo.provider-tool +node,mcp-contract-intelligence-contador-provider-tool,,mcp_provider_tool,blocked,1,intelligence.contador.provider-tool +node,mcp-contract-intelligence-credentialref-redaction-policy,,mcp_redaction_policy,blocked,10,intelligence.credentialref.redaction-policy +node,mcp-contract-intelligence-financeiro-provider-tool,,mcp_provider_tool,blocked,1,intelligence.financeiro.provider-tool +node,mcp-contract-intelligence-gestor-operacional-provider-tool,,mcp_provider_tool,blocked,1,intelligence.gestor_operacional.provider-tool +node,mcp-contract-intelligence-juridico-provider-tool,,mcp_provider_tool,blocked,1,intelligence.juridico.provider-tool +node,mcp-contract-intelligence-planejamento-estrategico-provider-tool,,mcp_provider_tool,blocked,1,intelligence.planejamento_estrategico.provider-tool +node,mcp-contract-intelligence-prioritization-ui-screen,,mcp_ui_screen,blocked,1,intelligence.prioritization.ui-screen +node,mcp-contract-intelligence-recommendations-ui-screen,,mcp_ui_screen,blocked,1,intelligence.recommendations.ui-screen +node,mcp-contract-intelligence-risk-ui-screen,,mcp_ui_screen,blocked,1,intelligence.risk.ui-screen +node,mcp-contract-intelligence-secretaria-provider-tool,,mcp_provider_tool,blocked,1,intelligence.secretaria.provider-tool +node,mcp-contract-intelligence-secretref-redaction-policy,,mcp_redaction_policy,blocked,10,intelligence.secretref.redaction-policy +node,mcp-contract-intelligence-suporte-provider-tool,,mcp_provider_tool,blocked,1,intelligence.suporte.provider-tool +node,mcp-contract-intelligence-tecnico-provider-tool,,mcp_provider_tool,blocked,1,intelligence.tecnico.provider-tool +node,mcp-contract-intelligence-tokenref-redaction-policy,,mcp_redaction_policy,blocked,10,intelligence.tokenref.redaction-policy +node,mcp-contract-intelligence-usuario-final-provider-tool,,mcp_provider_tool,blocked,1,intelligence.usuario_final.provider-tool +node,mcp-contract-mais-humana-canonical-rename-plataform,,mcp_canonical_rename,external_decision,71,mais-humana.canonical-rename.plataform +node,mcp-contract-mcps-admin-ui-ui-screen,,mcp_ui_screen,ready,100,mcps.admin-ui.ui-screen +node,mcp-contract-mcps-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,mcps.administrador_empresa.provider-tool +node,mcp-contract-mcps-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,mcps.atendimento_cliente.provider-tool +node,mcp-contract-mcps-catalog-ui-screen,,mcp_ui_screen,ready,100,mcps.catalog.ui-screen +node,mcp-contract-mcps-ceo-provider-tool,,mcp_provider_tool,ready,100,mcps.ceo.provider-tool +node,mcp-contract-mcps-cfat-redaction-policy,,mcp_redaction_policy,ready,100,mcps.cfat.redaction-policy +node,mcp-contract-mcps-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,mcps.cliente_externo.provider-tool +node,mcp-contract-mcps-contador-provider-tool,,mcp_provider_tool,ready,100,mcps.contador.provider-tool +node,mcp-contract-mcps-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,mcps.credentialref.redaction-policy +node,mcp-contract-mcps-evidence-ui-screen,,mcp_ui_screen,ready,100,mcps.evidence.ui-screen +node,mcp-contract-mcps-financeiro-provider-tool,,mcp_provider_tool,ready,100,mcps.financeiro.provider-tool +node,mcp-contract-mcps-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,mcps.gestor_operacional.provider-tool +node,mcp-contract-mcps-juridico-provider-tool,,mcp_provider_tool,ready,100,mcps.juridico.provider-tool +node,mcp-contract-mcps-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,mcps.planejamento_estrategico.provider-tool +node,mcp-contract-mcps-readiness-ui-screen,,mcp_ui_screen,ready,100,mcps.readiness.ui-screen +node,mcp-contract-mcps-samesource-ui-screen,,mcp_ui_screen,ready,100,mcps.samesource.ui-screen +node,mcp-contract-mcps-secretaria-provider-tool,,mcp_provider_tool,ready,100,mcps.secretaria.provider-tool +node,mcp-contract-mcps-secretref-redaction-policy,,mcp_redaction_policy,ready,100,mcps.secretref.redaction-policy +node,mcp-contract-mcps-suporte-provider-tool,,mcp_provider_tool,ready,100,mcps.suporte.provider-tool +node,mcp-contract-mcps-tecnico-provider-tool,,mcp_provider_tool,ready,100,mcps.tecnico.provider-tool +node,mcp-contract-mcps-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,mcps.tokenref.redaction-policy +node,mcp-contract-mcps-tools-ui-screen,,mcp_ui_screen,ready,100,mcps.tools.ui-screen +node,mcp-contract-mcps-usuario-final-provider-tool,,mcp_provider_tool,ready,100,mcps.usuario_final.provider-tool +node,mcp-contract-platform-base-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,platform_base.administrador_empresa.provider-tool +node,mcp-contract-platform-base-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,platform_base.atendimento_cliente.provider-tool +node,mcp-contract-platform-base-ceo-provider-tool,,mcp_provider_tool,ready,100,platform_base.ceo.provider-tool +node,mcp-contract-platform-base-cfat-redaction-policy,,mcp_redaction_policy,ready,100,platform_base.cfat.redaction-policy +node,mcp-contract-platform-base-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,platform_base.cliente_externo.provider-tool +node,mcp-contract-platform-base-contador-provider-tool,,mcp_provider_tool,ready,100,platform_base.contador.provider-tool +node,mcp-contract-platform-base-contracts-ui-screen,,mcp_ui_screen,ready,100,platform_base.contracts.ui-screen +node,mcp-contract-platform-base-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,platform_base.credentialref.redaction-policy +node,mcp-contract-platform-base-financeiro-provider-tool,,mcp_provider_tool,ready,100,platform_base.financeiro.provider-tool +node,mcp-contract-platform-base-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,platform_base.gestor_operacional.provider-tool +node,mcp-contract-platform-base-juridico-provider-tool,,mcp_provider_tool,ready,100,platform_base.juridico.provider-tool +node,mcp-contract-platform-base-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,platform_base.planejamento_estrategico.provider-tool +node,mcp-contract-platform-base-secretaria-provider-tool,,mcp_provider_tool,ready,100,platform_base.secretaria.provider-tool +node,mcp-contract-platform-base-secretref-redaction-policy,,mcp_redaction_policy,ready,100,platform_base.secretref.redaction-policy +node,mcp-contract-platform-base-shared-runtime-ui-screen,,mcp_ui_screen,ready,100,platform_base.shared-runtime.ui-screen +node,mcp-contract-platform-base-standards-ui-screen,,mcp_ui_screen,ready,100,platform_base.standards.ui-screen +node,mcp-contract-platform-base-suporte-provider-tool,,mcp_provider_tool,ready,100,platform_base.suporte.provider-tool +node,mcp-contract-platform-base-tecnico-provider-tool,,mcp_provider_tool,ready,100,platform_base.tecnico.provider-tool +node,mcp-contract-platform-base-templates-ui-screen,,mcp_ui_screen,ready,100,platform_base.templates.ui-screen +node,mcp-contract-platform-base-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,platform_base.tokenref.redaction-policy +node,mcp-contract-platform-base-usuario-final-provider-tool,,mcp_provider_tool,ready,100,platform_base.usuario_final.provider-tool +node,mcp-contract-public-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,public.administrador_empresa.provider-tool +node,mcp-contract-public-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,public.atendimento_cliente.provider-tool +node,mcp-contract-public-ceo-provider-tool,,mcp_provider_tool,ready,100,public.ceo.provider-tool +node,mcp-contract-public-cfat-redaction-policy,,mcp_redaction_policy,ready,100,public.cfat.redaction-policy +node,mcp-contract-public-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,public.cliente_externo.provider-tool +node,mcp-contract-public-contador-provider-tool,,mcp_provider_tool,ready,100,public.contador.provider-tool +node,mcp-contract-public-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,public.credentialref.redaction-policy +node,mcp-contract-public-financeiro-provider-tool,,mcp_provider_tool,ready,100,public.financeiro.provider-tool +node,mcp-contract-public-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,public.gestor_operacional.provider-tool +node,mcp-contract-public-juridico-provider-tool,,mcp_provider_tool,ready,100,public.juridico.provider-tool +node,mcp-contract-public-landing-ui-screen,,mcp_ui_screen,ready,100,public.landing.ui-screen +node,mcp-contract-public-onboarding-ui-screen,,mcp_ui_screen,ready,100,public.onboarding.ui-screen +node,mcp-contract-public-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,public.planejamento_estrategico.provider-tool +node,mcp-contract-public-public-docs-ui-screen,,mcp_ui_screen,ready,100,public.public-docs.ui-screen +node,mcp-contract-public-secretaria-provider-tool,,mcp_provider_tool,ready,100,public.secretaria.provider-tool +node,mcp-contract-public-secretref-redaction-policy,,mcp_redaction_policy,ready,100,public.secretref.redaction-policy +node,mcp-contract-public-status-ui-screen,,mcp_ui_screen,ready,100,public.status.ui-screen +node,mcp-contract-public-suporte-provider-tool,,mcp_provider_tool,ready,100,public.suporte.provider-tool +node,mcp-contract-public-tecnico-provider-tool,,mcp_provider_tool,ready,100,public.tecnico.provider-tool +node,mcp-contract-public-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,public.tokenref.redaction-policy +node,mcp-contract-public-usuario-final-provider-tool,,mcp_provider_tool,ready,100,public.usuario_final.provider-tool +node,mcp-contract-stj-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,stj.administrador_empresa.provider-tool +node,mcp-contract-stj-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,stj.atendimento_cliente.provider-tool +node,mcp-contract-stj-ceo-provider-tool,,mcp_provider_tool,ready,100,stj.ceo.provider-tool +node,mcp-contract-stj-cfat-redaction-policy,,mcp_redaction_policy,ready,100,stj.cfat.redaction-policy +node,mcp-contract-stj-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,stj.cliente_externo.provider-tool +node,mcp-contract-stj-contador-provider-tool,,mcp_provider_tool,ready,100,stj.contador.provider-tool +node,mcp-contract-stj-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,stj.credentialref.redaction-policy +node,mcp-contract-stj-financeiro-provider-tool,,mcp_provider_tool,ready,100,stj.financeiro.provider-tool +node,mcp-contract-stj-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,stj.gestor_operacional.provider-tool +node,mcp-contract-stj-juridico-provider-tool,,mcp_provider_tool,ready,100,stj.juridico.provider-tool +node,mcp-contract-stj-legal-readiness-ui-screen,,mcp_ui_screen,ready,100,stj.legal-readiness.ui-screen +node,mcp-contract-stj-monitoring-ui-screen,,mcp_ui_screen,ready,100,stj.monitoring.ui-screen +node,mcp-contract-stj-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,stj.planejamento_estrategico.provider-tool +node,mcp-contract-stj-process-query-ui-screen,,mcp_ui_screen,ready,100,stj.process-query.ui-screen +node,mcp-contract-stj-public-documents-ui-screen,,mcp_ui_screen,ready,100,stj.public-documents.ui-screen +node,mcp-contract-stj-secretaria-provider-tool,,mcp_provider_tool,ready,100,stj.secretaria.provider-tool +node,mcp-contract-stj-secretref-redaction-policy,,mcp_redaction_policy,ready,100,stj.secretref.redaction-policy +node,mcp-contract-stj-suporte-provider-tool,,mcp_provider_tool,ready,100,stj.suporte.provider-tool +node,mcp-contract-stj-tecnico-provider-tool,,mcp_provider_tool,ready,100,stj.tecnico.provider-tool +node,mcp-contract-stj-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,stj.tokenref.redaction-policy +node,mcp-contract-stj-usuario-final-provider-tool,,mcp_provider_tool,ready,100,stj.usuario_final.provider-tool +node,mcp-contract-ui-administrador-empresa-provider-tool,,mcp_provider_tool,ready,100,ui.administrador_empresa.provider-tool +node,mcp-contract-ui-atendimento-cliente-provider-tool,,mcp_provider_tool,ready,100,ui.atendimento_cliente.provider-tool +node,mcp-contract-ui-ceo-provider-tool,,mcp_provider_tool,ready,100,ui.ceo.provider-tool +node,mcp-contract-ui-cfat-redaction-policy,,mcp_redaction_policy,ready,100,ui.cfat.redaction-policy +node,mcp-contract-ui-cliente-externo-provider-tool,,mcp_provider_tool,ready,100,ui.cliente_externo.provider-tool +node,mcp-contract-ui-contador-provider-tool,,mcp_provider_tool,ready,100,ui.contador.provider-tool +node,mcp-contract-ui-credentialref-redaction-policy,,mcp_redaction_policy,ready,100,ui.credentialref.redaction-policy +node,mcp-contract-ui-design-system-ui-screen,,mcp_ui_screen,ready,100,ui.design-system.ui-screen +node,mcp-contract-ui-financeiro-provider-tool,,mcp_provider_tool,ready,100,ui.financeiro.provider-tool +node,mcp-contract-ui-gestor-operacional-provider-tool,,mcp_provider_tool,ready,100,ui.gestor_operacional.provider-tool +node,mcp-contract-ui-juridico-provider-tool,,mcp_provider_tool,ready,100,ui.juridico.provider-tool +node,mcp-contract-ui-panelready-ui-screen,,mcp_ui_screen,ready,100,ui.panelready.ui-screen +node,mcp-contract-ui-planejamento-estrategico-provider-tool,,mcp_provider_tool,ready,100,ui.planejamento_estrategico.provider-tool +node,mcp-contract-ui-pwa-ui-screen,,mcp_ui_screen,ready,100,ui.pwa.ui-screen +node,mcp-contract-ui-samesource-ui-screen,,mcp_ui_screen,ready,100,ui.samesource.ui-screen +node,mcp-contract-ui-screen-contract-ui-screen,,mcp_ui_screen,ready,100,ui.screen-contract.ui-screen +node,mcp-contract-ui-secretaria-provider-tool,,mcp_provider_tool,ready,100,ui.secretaria.provider-tool +node,mcp-contract-ui-secretref-redaction-policy,,mcp_redaction_policy,ready,100,ui.secretref.redaction-policy +node,mcp-contract-ui-suporte-provider-tool,,mcp_provider_tool,ready,100,ui.suporte.provider-tool +node,mcp-contract-ui-tecnico-provider-tool,,mcp_provider_tool,ready,100,ui.tecnico.provider-tool +node,mcp-contract-ui-tokenref-redaction-policy,,mcp_redaction_policy,ready,100,ui.tokenref.redaction-policy +node,mcp-contract-ui-usuario-final-provider-tool,,mcp_provider_tool,ready,100,ui.usuario_final.provider-tool +node,mcp-provider-mais-humana,,mcp_provider,published_contract,74,Tudo Para IA Mais Humana node,order-0001-executiva-blindar-redaction-e-referencias-de-credencial,,service_order,planejada,50,Blindar redaction e referencias de credencial node,order-0001-gerencial-separar-maturidade-comercial-e-tecnica-por-produto,,service_order,planejada,50,Separar maturidade comercial e tecnica por produto node,order-0002-executiva-classificar-truthstate-e-fonte-da-verdade-dos-dados,,service_order,planejada,50,Classificar truthState e fonte da verdade dos dados @@ -1547,7 +1854,7 @@ edge,check-integracoes-integrations-byok-chain,evidence-tests-package-structure- edge,check-integracoes-integrations-credential-redaction,evidence-tests-round-08-operational-closure-test-ts211,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." edge,check-integracoes-integrations-credential-redaction,evidence-tests-round-09-operational-execution-test-ts134,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." edge,check-integracoes-integrations-credential-redaction,evidence-tests-round-10-operational-closure-test-ts118,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." -edge,check-integracoes-integrations-credential-redaction,evidence-tests-surface-test-ts52,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." +edge,check-integracoes-integrations-credential-redaction,evidence-tests-round-11-operational-execution-test-ts109,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." edge,check-integracoes-integrations-provider-stage,evidence-packages-shared-integration-admin-ops-src-provider-operations-ts142,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-integracoes-integrations-provider-stage,evidence-packages-shared-integration-catalog-src-commercial-readiness-policy-ts176,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-integracoes-integrations-provider-stage,evidence-packages-shared-integration-catalog-src-provider-live-roadmap-ts22,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." @@ -1567,8 +1874,8 @@ edge,check-integracoes-panel-compact-response,evidence-packages-shared-integrati edge,check-integracoes-panel-compact-response,evidence-packages-shared-integration-admin-ops-src-compact-contract-ts93,supported_by,,55,"Texto menciona 'incident', sinalizando capacidade humana ou operacional." edge,check-integracoes-panel-same-source,evidence-scripts-round-materialize-round-10-execution-ledger-mjs77,supported_by,,78,"Texto menciona 'samesource', sinalizando capacidade humana ou operacional." edge,check-integracoes-panel-same-source,evidence-scripts-round-materialize-round-10-operational-closure-mjs77,supported_by,,78,"Texto menciona 'samesource', sinalizando capacidade humana ou operacional." -edge,check-integracoes-panel-same-source,evidence-scripts-round-materialize-round-11-operational-execution-mjs60,supported_by,,78,"Texto menciona 'samesource', sinalizando capacidade humana ou operacional." edge,check-integracoes-panel-same-source,evidence-tests-round-10-operational-closure-test-ts100,supported_by,,78,"Texto menciona 'samesource', sinalizando capacidade humana ou operacional." +edge,check-integracoes-panel-same-source,evidence-tests-round-11-operational-execution-test-ts11,supported_by,,78,"Texto menciona 'samesource', sinalizando capacidade humana ou operacional." edge,check-integracoes-repository-exists,evidence-packages-shared-integration-entitlements-readme-md1,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-integracoes-repository-exists,evidence-packages-shared-integration-entitlements-tests-readme-md1,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-integracoes-repository-exists,evidence-readme-md10,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." @@ -1590,7 +1897,7 @@ edge,check-integracoes-tests-regression,evidence-packages-shared-integration-cat edge,check-integracoes-tests-regression,evidence-scripts-docs-build-admin-operational-snapshots-ts13,supported_by,,68,"Texto menciona 'readiness', sinalizando capacidade humana ou operacional." edge,check-integracoes-tests-regression,evidence-scripts-docs-build-admin-operational-snapshots-ts5,supported_by,,78,"Texto menciona 'byok', sinalizando capacidade humana ou operacional." edge,check-integracoes-tests-regression,evidence-tests-round-10-operational-closure-test-ts100,supported_by,,78,"Texto menciona 'samesource', sinalizando capacidade humana ou operacional." -edge,check-intelligence-contract-openapi-or-equivalent,evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-contract-json3,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." +edge,check-intelligence-contract-openapi-or-equivalent,evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-summary-json3,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-contract-openapi-or-equivalent,evidence-apps-intelligence-worker-scripts-export-contracts-mjs11,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-contract-openapi-or-equivalent,evidence-apps-intelligence-worker-tests-run-mcp-contract-mjs50,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-contract-openapi-or-equivalent,evidence-docs-operational-contract-md10,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." @@ -1606,9 +1913,9 @@ edge,check-intelligence-observability-audit-trace,evidence-docs-data-read-models edge,check-intelligence-observability-audit-trace,evidence-docs-data-read-models-md34,supported_by,,68,"Texto menciona 'trace', sinalizando capacidade humana ou operacional." edge,check-intelligence-observability-audit-trace,evidence-docs-governance-security-md15,supported_by,,68,"Texto menciona 'audit', sinalizando capacidade humana ou operacional." edge,check-intelligence-observability-audit-trace,evidence-readme-md10,supported_by,,68,"Texto menciona 'audit', sinalizando capacidade humana ou operacional." -edge,check-intelligence-observability-health-readiness,evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-contract-json3,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-observability-health-readiness,evidence-apps-intelligence-worker-contracts-intelligence-mcp-ready-summary-json3,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-observability-health-readiness,evidence-apps-intelligence-worker-src-public-smoke-js29,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." +edge,check-intelligence-observability-health-readiness,evidence-apps-intelligence-worker-src-release-readiness-board-js3,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-observability-health-readiness,evidence-status-summary-md5,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-release-gates,evidence-apps-intelligence-worker-src-gate-orchestrator-js66,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-intelligence-release-gates,evidence-apps-intelligence-worker-src-gate-orchestrator-js7,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." @@ -1622,7 +1929,7 @@ edge,check-intelligence-repository-git-traceability,evidence-g-codex-git-tudo-pa edge,check-intelligence-repository-git-traceability,evidence-https-git-ami-app-br-admin-tudo-para-ia-intelligence-platform-git,supported_by,,70,Metadado Git detectado. edge,check-intelligence-repository-git-traceability,evidence-main,supported_by,,70,Metadado Git detectado. edge,check-intelligence-tests-detected,evidence-apps-intelligence-worker-package-json,supported_by,,65,Configuracao operacional encontrada. -edge,check-intelligence-tests-detected,evidence-apps-intelligence-worker-package-json10,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." +edge,check-intelligence-tests-detected,evidence-apps-intelligence-worker-package-json7,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-tests-detected,evidence-apps-intelligence-worker-tests-intelligence-worker-test-mjs24,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." edge,check-intelligence-tests-detected,evidence-package-json,supported_by,,65,Configuracao operacional encontrada. edge,check-mcps-cloud-plugin-exception,evidence-reports-os-tudo-para-ia-mcps-internos-plataform-0286-executado-2026-04-22-1735-md30,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." @@ -1661,6 +1968,7 @@ edge,check-mcps-integrations-byok-chain,evidence-readme-md29,supported_by,,68,"T edge,check-mcps-integrations-byok-chain,evidence-tests-area-coverage-test-ts17,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-mcps-integrations-byok-chain,evidence-workers-customer-ops-mcp-src-index-ts20,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-mcps-integrations-credential-redaction,evidence-apps-tudo-para-ia-mcps-central-tests-integracoes-persistence-test-ts246,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." +edge,check-mcps-integrations-credential-redaction,evidence-deploy-mcps-gateway-src-providers-managed-catalog-ts988,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." edge,check-mcps-integrations-credential-redaction,evidence-workers-customer-ops-mcp-src-index-ts31,supported_by,,78,"Texto menciona 'credentialref', sinalizando capacidade humana ou operacional." edge,check-mcps-integrations-provider-stage,evidence-controle-de-ordens-executadas-md187,supported_by,,68,"Texto menciona 'readiness', sinalizando capacidade humana ou operacional." edge,check-mcps-integrations-provider-stage,evidence-readme-md33,supported_by,,68,"Texto menciona 'readiness', sinalizando capacidade humana ou operacional." @@ -1723,10 +2031,10 @@ edge,check-platform-base-docs-contract-reconciliation,evidence-g-codex-git-tudo- edge,check-platform-base-docs-contract-reconciliation,evidence-reports-os-004-mcps-funcao-maior-progress-2026-04-23-1226-md65,supported_by,,70,"Texto menciona 'openapi', sinalizando capacidade humana ou operacional." edge,check-platform-base-docs-contract-reconciliation,evidence-reports-os-079-funcao-maior-por-pasta-progress-2026-04-23-1017-md53,supported_by,,70,"Texto menciona 'openapi', sinalizando capacidade humana ou operacional." edge,check-platform-base-docs-contract-reconciliation,evidence-reports-os-079-funcao-maior-por-pasta-progress-2026-04-23-1030-md55,supported_by,,70,"Texto menciona 'openapi', sinalizando capacidade humana ou operacional." -edge,check-platform-base-documentation-human-readme,evidence-pipeline-os-bases-mcps-internos-semantica-v1-autonoma-indice-execucao-mcps-semantica-v1-autonoma-md,supported_by,,55,Possivel tool ou superficie MCP encontrada. -edge,check-platform-base-documentation-human-readme,evidence-pipeline-os-bases-mcps-internos-semantica-v1-autonoma-indice-execucao-mcps-semantica-v1-autonoma-md1,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." +edge,check-platform-base-documentation-human-readme,evidence-readme-md,supported_by,,75,Documentacao inicial encontrada. edge,check-platform-base-documentation-human-readme,evidence-readme-md8,supported_by,,68,"Texto menciona 'audit', sinalizando capacidade humana ou operacional." edge,check-platform-base-documentation-human-readme,evidence-templates-modules-module-template-readme-md9,supported_by,,68,"Texto menciona 'audit', sinalizando capacidade humana ou operacional." +edge,check-platform-base-documentation-human-readme,evidence-templates-packages-package-template-readme-md,supported_by,,75,Documentacao inicial encontrada. edge,check-platform-base-observability-audit-trace,evidence-package-lock-json480,supported_by,,68,"Texto menciona 'audit', sinalizando capacidade humana ou operacional." edge,check-platform-base-observability-audit-trace,evidence-packages-core-audit-package-json,supported_by,,65,Configuracao operacional encontrada. edge,check-platform-base-observability-audit-trace,evidence-packages-core-audit-tsconfig-json,supported_by,,65,Configuracao operacional encontrada. @@ -1736,10 +2044,10 @@ edge,check-platform-base-observability-health-readiness,evidence-packages-core-o edge,check-platform-base-observability-health-readiness,evidence-packages-core-operational-readiness-src-mcp-administration-catalog-ts241,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-platform-base-observability-health-readiness,evidence-reports-operational-readiness-derived-platform-adoption-json85,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." edge,check-platform-base-observability-health-readiness,evidence-reports-operational-readiness-derived-platform-adoption-md27,supported_by,,68,"Texto menciona 'entitlement', sinalizando capacidade humana ou operacional." -edge,check-platform-base-release-gates,evidence-reports-operational-readiness-release-execution-manifest-md73,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." -edge,check-platform-base-release-gates,evidence-reports-operational-readiness-release-lots-json4030,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." -edge,check-platform-base-release-gates,evidence-reports-operational-readiness-release-lots-md64,supported_by,,55,"Texto menciona 'mcp', sinalizando capacidade humana ou operacional." +edge,check-platform-base-release-gates,evidence-package-json,supported_by,,62,Script 'release:plan-lots' com intencao 'operation'. +edge,check-platform-base-release-gates,evidence-tests-release-governance-test-ts,supported_by,,72,Arquivo de teste ou especificacao encontrado. edge,check-platform-base-release-gates,evidence-tests-release-governance-test-ts23,supported_by,,68,"Texto menciona 'readiness', sinalizando capacidade humana ou operacional." +edge,check-platform-base-release-gates,evidence-tests-release-governance-test-ts66,supported_by,,55,"Texto menciona 'support', sinalizando capacidade humana ou operacional." edge,check-platform-base-repository-exists,evidence-readme-md,supported_by,,75,Documentacao inicial encontrada. edge,check-platform-base-repository-exists,evidence-readme-md8,supported_by,,68,"Texto menciona 'audit', sinalizando capacidade humana ou operacional." edge,check-platform-base-repository-exists,evidence-templates-modules-module-template-readme-md9,supported_by,,68,"Texto menciona 'audit', sinalizando capacidade humana ou operacional." @@ -1899,6 +2207,843 @@ edge,check-ui-tests-detected,evidence-reports-latest-visual-contract-docs-summar edge,check-ui-tests-regression,evidence-readme-md34,supported_by,,78,"Texto menciona 'panelready', sinalizando capacidade humana ou operacional." edge,check-ui-tests-regression,evidence-tests-browser-regression-test-mjs,supported_by,,72,Arquivo de teste ou especificacao encontrado. edge,check-ui-tests-regression,evidence-tests-browser-regression-test-mjs20,supported_by,,55,"Texto menciona 'screen', sinalizando capacidade humana ou operacional." +edge,mcp-contract-business-administrador-empresa-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-atendimento-cliente-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-billing-ui-screen,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-ceo-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-cfat-redaction-policy,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-checkout-ui-screen,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-cliente-externo-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-commercial-readiness-ui-screen,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-consumption-ui-screen,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-contador-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-credentialref-redaction-policy,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-entitlements-ui-screen,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-financeiro-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-gestor-operacional-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-juridico-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-planejamento-estrategico-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-secretaria-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-secretref-redaction-policy,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-suporte-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-tecnico-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-tokenref-redaction-policy,platform-business,governs_platform,,9,blocked +edge,mcp-contract-business-usuario-final-provider-tool,platform-business,governs_platform,,9,blocked +edge,mcp-contract-compliance-administrador-empresa-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,d5581cb4b2f8e04c +edge,mcp-contract-compliance-atendimento-cliente-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,5ca5cd37aab29c9e +edge,mcp-contract-compliance-audit-ui-screen,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-audit-ui-screen,platform-mcps,same_source_ready,,100,95a89c1cad553ef8 +edge,mcp-contract-compliance-ceo-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-ceo-provider-tool,platform-mcps,same_source_ready,,100,06fc69170da7f478 +edge,mcp-contract-compliance-cfat-redaction-policy,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-cfat-redaction-policy,platform-mcps,same_source_ready,,100,6b07c0279d30221b +edge,mcp-contract-compliance-cliente-externo-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,2218a632c4aaa22e +edge,mcp-contract-compliance-consent-ui-screen,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-consent-ui-screen,platform-mcps,same_source_ready,,100,af7d26a45d75d573 +edge,mcp-contract-compliance-contador-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-contador-provider-tool,platform-mcps,same_source_ready,,100,d00e20d587737d99 +edge,mcp-contract-compliance-credentialref-redaction-policy,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,44c216268d2936e7 +edge,mcp-contract-compliance-financeiro-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-financeiro-provider-tool,platform-mcps,same_source_ready,,100,6dbf1baec01ff39c +edge,mcp-contract-compliance-gestor-operacional-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,b9fa380c81e90188 +edge,mcp-contract-compliance-juridico-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-juridico-provider-tool,platform-mcps,same_source_ready,,100,4c723eb98897fde4 +edge,mcp-contract-compliance-planejamento-estrategico-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,43d4740235d0c772 +edge,mcp-contract-compliance-privacy-ui-screen,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-privacy-ui-screen,platform-mcps,same_source_ready,,100,52c9b25c7b7f1217 +edge,mcp-contract-compliance-retention-ui-screen,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-retention-ui-screen,platform-mcps,same_source_ready,,100,67bf96f32954e756 +edge,mcp-contract-compliance-risk-ui-screen,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-risk-ui-screen,platform-mcps,same_source_ready,,100,7b5e9f17115a6df1 +edge,mcp-contract-compliance-secretaria-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-secretaria-provider-tool,platform-mcps,same_source_ready,,100,60afb1d570ce3fed +edge,mcp-contract-compliance-secretref-redaction-policy,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-secretref-redaction-policy,platform-mcps,same_source_ready,,100,db3adad75aa37fa1 +edge,mcp-contract-compliance-suporte-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-suporte-provider-tool,platform-mcps,same_source_ready,,100,2112546a673c0113 +edge,mcp-contract-compliance-tecnico-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-tecnico-provider-tool,platform-mcps,same_source_ready,,100,a18fe84f81b8318b +edge,mcp-contract-compliance-tokenref-redaction-policy,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,a5c560fc4edd9f61 +edge,mcp-contract-compliance-usuario-final-provider-tool,platform-compliance,governs_platform,,100,live_write +edge,mcp-contract-compliance-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,c81dee2633b502ba +edge,mcp-contract-customer-ops-administrador-empresa-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,51c20f63e5f6e59e +edge,mcp-contract-customer-ops-atendimento-cliente-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,e0d58ae5d3ba5069 +edge,mcp-contract-customer-ops-ceo-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-ceo-provider-tool,platform-mcps,same_source_ready,,100,1bb5268fb8af10ec +edge,mcp-contract-customer-ops-cfat-redaction-policy,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-cfat-redaction-policy,platform-mcps,same_source_ready,,100,944fb7f6c323a869 +edge,mcp-contract-customer-ops-cliente-externo-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,35b627f8330a1b58 +edge,mcp-contract-customer-ops-contador-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-contador-provider-tool,platform-mcps,same_source_ready,,100,7f395f489120f80f +edge,mcp-contract-customer-ops-credentialref-redaction-policy,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,1ecf7f79ada21a54 +edge,mcp-contract-customer-ops-customer-status-ui-screen,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-customer-status-ui-screen,platform-mcps,same_source_ready,,100,b296584a5cf050eb +edge,mcp-contract-customer-ops-diagnostics-ui-screen,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-diagnostics-ui-screen,platform-mcps,same_source_ready,,100,305c01f0e0c52933 +edge,mcp-contract-customer-ops-financeiro-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-financeiro-provider-tool,platform-mcps,same_source_ready,,100,cca88f3b48ffb380 +edge,mcp-contract-customer-ops-gestor-operacional-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,da2634ef758c6143 +edge,mcp-contract-customer-ops-handoffs-ui-screen,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-handoffs-ui-screen,platform-mcps,same_source_ready,,100,79f628e0da40f08e +edge,mcp-contract-customer-ops-incidents-ui-screen,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-incidents-ui-screen,platform-mcps,same_source_ready,,100,40fd239ff5cbba8e +edge,mcp-contract-customer-ops-juridico-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-juridico-provider-tool,platform-mcps,same_source_ready,,100,99d9c2f70a422725 +edge,mcp-contract-customer-ops-planejamento-estrategico-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,f4d0441279e4d57e +edge,mcp-contract-customer-ops-secretaria-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-secretaria-provider-tool,platform-mcps,same_source_ready,,100,db767d9d1c7d8b43 +edge,mcp-contract-customer-ops-secretref-redaction-policy,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-secretref-redaction-policy,platform-mcps,same_source_ready,,100,6f46e82ccfea22d0 +edge,mcp-contract-customer-ops-suporte-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-suporte-provider-tool,platform-mcps,same_source_ready,,100,9824db2ea03aee49 +edge,mcp-contract-customer-ops-tecnico-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-tecnico-provider-tool,platform-mcps,same_source_ready,,100,e4525dd8a29c0196 +edge,mcp-contract-customer-ops-tickets-ui-screen,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-tickets-ui-screen,platform-mcps,same_source_ready,,100,1074db5f0921b418 +edge,mcp-contract-customer-ops-tokenref-redaction-policy,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,4294d40231ffbb33 +edge,mcp-contract-customer-ops-usuario-final-provider-tool,platform-customer-ops,governs_platform,,100,live_write +edge,mcp-contract-customer-ops-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,d0a95416815c4004 +edge,mcp-contract-docs-administrador-empresa-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-atendimento-cliente-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-canonical-docs-ui-screen,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-ceo-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-cfat-redaction-policy,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-cliente-externo-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-contador-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-contracts-ui-screen,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-credentialref-redaction-policy,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-financeiro-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-formal-exception-docs-catalogonly,platform-docs,governs_platform,,92,formal_exception +edge,mcp-contract-docs-formal-exception-docs-catalogonly,platform-mcps,same_source_ready,,92,80b21a1c5151b46b +edge,mcp-contract-docs-gestor-operacional-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-help-ui-screen,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-juridico-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-planejamento-estrategico-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-proofs-ui-screen,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-runbooks-ui-screen,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-secretaria-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-secretref-redaction-policy,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-suporte-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-tecnico-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-tokenref-redaction-policy,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-docs-usuario-final-provider-tool,platform-docs,governs_platform,,11,catalog_only +edge,mcp-contract-finance-administrador-empresa-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,ae61961be521dcce +edge,mcp-contract-finance-atendimento-cliente-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,227c43d477c1d456 +edge,mcp-contract-finance-ceo-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-ceo-provider-tool,platform-mcps,same_source_ready,,100,58dc94ea8bc9e67d +edge,mcp-contract-finance-cfat-redaction-policy,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-cfat-redaction-policy,platform-mcps,same_source_ready,,100,17b4aec6a2a530a7 +edge,mcp-contract-finance-cliente-externo-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,1fa51059c38246e2 +edge,mcp-contract-finance-contador-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-contador-provider-tool,platform-mcps,same_source_ready,,100,b77faa8a41f681b3 +edge,mcp-contract-finance-cost-ui-screen,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-cost-ui-screen,platform-mcps,same_source_ready,,100,7959dd100d7c881b +edge,mcp-contract-finance-credentialref-redaction-policy,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,db53939f8248cb63 +edge,mcp-contract-finance-financeiro-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-financeiro-provider-tool,platform-mcps,same_source_ready,,100,9c4f19cd22c22827 +edge,mcp-contract-finance-gestor-operacional-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,2ee1f448947843b2 +edge,mcp-contract-finance-invoices-ui-screen,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-invoices-ui-screen,platform-mcps,same_source_ready,,100,9be4fe9ece8b4b1c +edge,mcp-contract-finance-juridico-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-juridico-provider-tool,platform-mcps,same_source_ready,,100,e1820153abfd685e +edge,mcp-contract-finance-planejamento-estrategico-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,6437094b477a7775 +edge,mcp-contract-finance-quota-ui-screen,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-quota-ui-screen,platform-mcps,same_source_ready,,100,93f2325c81ed2b46 +edge,mcp-contract-finance-reconciliation-ui-screen,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-reconciliation-ui-screen,platform-mcps,same_source_ready,,100,62dd63b632e5c52d +edge,mcp-contract-finance-secretaria-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-secretaria-provider-tool,platform-mcps,same_source_ready,,100,37290faf67c1e958 +edge,mcp-contract-finance-secretref-redaction-policy,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-secretref-redaction-policy,platform-mcps,same_source_ready,,100,a6916b3b56f113b8 +edge,mcp-contract-finance-suporte-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-suporte-provider-tool,platform-mcps,same_source_ready,,100,a227341feb3ce189 +edge,mcp-contract-finance-tecnico-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-tecnico-provider-tool,platform-mcps,same_source_ready,,100,78ae0e369c0bfad4 +edge,mcp-contract-finance-tokenref-redaction-policy,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,4bfc52bc6747f2d5 +edge,mcp-contract-finance-usage-ui-screen,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-usage-ui-screen,platform-mcps,same_source_ready,,100,2a9b5940897f46af +edge,mcp-contract-finance-usuario-final-provider-tool,platform-finance,governs_platform,,100,live_write +edge,mcp-contract-finance-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,c3e2f16729f5b43b +edge,mcp-contract-gettys-admin-screen-ui-screen,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-administrador-empresa-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-atendimento-cliente-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-ceo-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-cfat-redaction-policy,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-cliente-externo-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-contador-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-credentialref-redaction-policy,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-financeiro-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-gestor-operacional-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-gettys-overview-ui-screen,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-health-ui-screen,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-juridico-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-planejamento-estrategico-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-product-readiness-ui-screen,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-secretaria-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-secretref-redaction-policy,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-suporte-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-tecnico-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-tokenref-redaction-policy,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-gettys-usuario-final-provider-tool,platform-gettys,governs_platform,,6,blocked +edge,mcp-contract-identity-administrador-empresa-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,3c56ca698ea4fb9a +edge,mcp-contract-identity-atendimento-cliente-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,679d01273de1ee7d +edge,mcp-contract-identity-audit-ui-screen,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-audit-ui-screen,platform-mcps,same_source_ready,,100,bf416644920649c9 +edge,mcp-contract-identity-ceo-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-ceo-provider-tool,platform-mcps,same_source_ready,,100,25b1c98b65790167 +edge,mcp-contract-identity-cfat-redaction-policy,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-cfat-redaction-policy,platform-mcps,same_source_ready,,100,14b27bfb0ad3351e +edge,mcp-contract-identity-cliente-externo-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,f612f56309ee0204 +edge,mcp-contract-identity-contador-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-contador-provider-tool,platform-mcps,same_source_ready,,100,9b6ba5a2e9328674 +edge,mcp-contract-identity-contracts-ui-screen,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-contracts-ui-screen,platform-mcps,same_source_ready,,100,383739b2f8472fc4 +edge,mcp-contract-identity-credentialref-redaction-policy,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,f36cf280fd1c3221 +edge,mcp-contract-identity-financeiro-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-financeiro-provider-tool,platform-mcps,same_source_ready,,100,1ee9d527f414ce65 +edge,mcp-contract-identity-gestor-operacional-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,1d19208ec3ef87b5 +edge,mcp-contract-identity-incidents-ui-screen,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-incidents-ui-screen,platform-mcps,same_source_ready,,100,33b11a5ad029925e +edge,mcp-contract-identity-juridico-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-juridico-provider-tool,platform-mcps,same_source_ready,,100,2e2240a79326bcae +edge,mcp-contract-identity-organizations-ui-screen,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-organizations-ui-screen,platform-mcps,same_source_ready,,100,b79592009783a24b +edge,mcp-contract-identity-planejamento-estrategico-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,ba7c0cde425b158c +edge,mcp-contract-identity-rbac-ui-screen,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-rbac-ui-screen,platform-mcps,same_source_ready,,100,d61c4db113c6db43 +edge,mcp-contract-identity-secretaria-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-secretaria-provider-tool,platform-mcps,same_source_ready,,100,e9171f871aa4c78a +edge,mcp-contract-identity-secretref-redaction-policy,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-secretref-redaction-policy,platform-mcps,same_source_ready,,100,20d324f22e017c74 +edge,mcp-contract-identity-sessions-ui-screen,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-sessions-ui-screen,platform-mcps,same_source_ready,,100,c57b8c9b82b9316b +edge,mcp-contract-identity-suporte-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-suporte-provider-tool,platform-mcps,same_source_ready,,100,48882792624aae7d +edge,mcp-contract-identity-tecnico-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-tecnico-provider-tool,platform-mcps,same_source_ready,,100,3c2c7f8613fa615a +edge,mcp-contract-identity-tokenref-redaction-policy,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,6afe0ca157515b2c +edge,mcp-contract-identity-usuario-final-provider-tool,platform-identity,governs_platform,,100,live_write +edge,mcp-contract-identity-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,13b87675e5e7517a +edge,mcp-contract-integracoes-administrador-empresa-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,a80d94f44c57e62a +edge,mcp-contract-integracoes-atendimento-cliente-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,41a1792b535c6807 +edge,mcp-contract-integracoes-byok-ui-screen,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-byok-ui-screen,platform-mcps,same_source_ready,,100,fc0689be7a2727e8 +edge,mcp-contract-integracoes-ceo-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-ceo-provider-tool,platform-mcps,same_source_ready,,100,242a238f96078f74 +edge,mcp-contract-integracoes-cfat-redaction-policy,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-cfat-redaction-policy,platform-mcps,same_source_ready,,100,f2109fbaced7b47c +edge,mcp-contract-integracoes-cliente-externo-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,2d1045bb812ebbf3 +edge,mcp-contract-integracoes-contador-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-contador-provider-tool,platform-mcps,same_source_ready,,100,97be8fbdebe6ffcc +edge,mcp-contract-integracoes-credentialref-redaction-policy,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,8a01be4492c17a91 +edge,mcp-contract-integracoes-credentials-ui-screen,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-credentials-ui-screen,platform-mcps,same_source_ready,,100,a2a4355ced9fb35e +edge,mcp-contract-integracoes-financeiro-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-financeiro-provider-tool,platform-mcps,same_source_ready,,100,6b6d92803354a771 +edge,mcp-contract-integracoes-gestor-operacional-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,a2298c406ce5b0c8 +edge,mcp-contract-integracoes-juridico-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-juridico-provider-tool,platform-mcps,same_source_ready,,100,6f39560fbaf5ee07 +edge,mcp-contract-integracoes-planejamento-estrategico-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,cfddc35ac3ce91f6 +edge,mcp-contract-integracoes-products-ui-screen,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-products-ui-screen,platform-mcps,same_source_ready,,100,a1a202dc6b4ec4d0 +edge,mcp-contract-integracoes-providers-ui-screen,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-providers-ui-screen,platform-mcps,same_source_ready,,100,bf62d19bac8548ff +edge,mcp-contract-integracoes-secretaria-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-secretaria-provider-tool,platform-mcps,same_source_ready,,100,11b599244ee04c51 +edge,mcp-contract-integracoes-secretref-redaction-policy,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-secretref-redaction-policy,platform-mcps,same_source_ready,,100,5b5cb0c6c7239c76 +edge,mcp-contract-integracoes-smoke-ui-screen,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-smoke-ui-screen,platform-mcps,same_source_ready,,100,024cad0980a3a6a7 +edge,mcp-contract-integracoes-suporte-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-suporte-provider-tool,platform-mcps,same_source_ready,,100,58afcffd1296a9be +edge,mcp-contract-integracoes-tecnico-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-tecnico-provider-tool,platform-mcps,same_source_ready,,100,623ec62e1025c8cf +edge,mcp-contract-integracoes-tenant-ui-screen,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-tenant-ui-screen,platform-mcps,same_source_ready,,100,c9ac3ede8e6c7532 +edge,mcp-contract-integracoes-tokenref-redaction-policy,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,7c0d711e83c52734 +edge,mcp-contract-integracoes-usuario-final-provider-tool,platform-integracoes,governs_platform,,100,live_write +edge,mcp-contract-integracoes-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,037566e181558181 +edge,mcp-contract-intelligence-administrador-empresa-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-analytics-ui-screen,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-atendimento-cliente-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-ceo-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-cfat-redaction-policy,platform-intelligence,governs_platform,,10,catalog_only +edge,mcp-contract-intelligence-cliente-externo-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-contador-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-credentialref-redaction-policy,platform-intelligence,governs_platform,,10,catalog_only +edge,mcp-contract-intelligence-financeiro-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-gestor-operacional-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-juridico-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-planejamento-estrategico-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-prioritization-ui-screen,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-recommendations-ui-screen,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-risk-ui-screen,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-secretaria-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-secretref-redaction-policy,platform-intelligence,governs_platform,,10,catalog_only +edge,mcp-contract-intelligence-suporte-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-tecnico-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-intelligence-tokenref-redaction-policy,platform-intelligence,governs_platform,,10,catalog_only +edge,mcp-contract-intelligence-usuario-final-provider-tool,platform-intelligence,governs_platform,,1,catalog_only +edge,mcp-contract-mais-humana-canonical-rename-plataform,platform-mais-humana,governs_platform,,71,documented +edge,mcp-contract-mcps-admin-ui-ui-screen,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-admin-ui-ui-screen,platform-mcps,same_source_ready,,100,74004e4f94d3af9f +edge,mcp-contract-mcps-administrador-empresa-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,f63f364db32acd6b +edge,mcp-contract-mcps-atendimento-cliente-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,c03269ccc06ff529 +edge,mcp-contract-mcps-catalog-ui-screen,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-catalog-ui-screen,platform-mcps,same_source_ready,,100,a1df53048e581fbe +edge,mcp-contract-mcps-ceo-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-ceo-provider-tool,platform-mcps,same_source_ready,,100,7afde5d0a25c484b +edge,mcp-contract-mcps-cfat-redaction-policy,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-cfat-redaction-policy,platform-mcps,same_source_ready,,100,235667c845e3c6cc +edge,mcp-contract-mcps-cliente-externo-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,a96a6cbbae66bd2e +edge,mcp-contract-mcps-contador-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-contador-provider-tool,platform-mcps,same_source_ready,,100,ba7dcf0c3f5e055c +edge,mcp-contract-mcps-credentialref-redaction-policy,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,538dce0e8dc2ddf6 +edge,mcp-contract-mcps-evidence-ui-screen,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-evidence-ui-screen,platform-mcps,same_source_ready,,100,eb2559ccb8ac3bec +edge,mcp-contract-mcps-financeiro-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-financeiro-provider-tool,platform-mcps,same_source_ready,,100,2caa5a9b859262f8 +edge,mcp-contract-mcps-gestor-operacional-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,85d2177ea1fff063 +edge,mcp-contract-mcps-juridico-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-juridico-provider-tool,platform-mcps,same_source_ready,,100,14e86607c2d0fc2c +edge,mcp-contract-mcps-planejamento-estrategico-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,ac34b7e70eaaa0d9 +edge,mcp-contract-mcps-readiness-ui-screen,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-readiness-ui-screen,platform-mcps,same_source_ready,,100,2f4fdddd1c79aceb +edge,mcp-contract-mcps-samesource-ui-screen,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-samesource-ui-screen,platform-mcps,same_source_ready,,100,fadd5d57f1d45cdf +edge,mcp-contract-mcps-secretaria-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-secretaria-provider-tool,platform-mcps,same_source_ready,,100,eacac684eea54d5c +edge,mcp-contract-mcps-secretref-redaction-policy,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-secretref-redaction-policy,platform-mcps,same_source_ready,,100,48160668032185da +edge,mcp-contract-mcps-suporte-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-suporte-provider-tool,platform-mcps,same_source_ready,,100,1079dbd5a060987e +edge,mcp-contract-mcps-tecnico-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-tecnico-provider-tool,platform-mcps,same_source_ready,,100,47edc20df3b10d02 +edge,mcp-contract-mcps-tokenref-redaction-policy,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,5504966d629eb4c4 +edge,mcp-contract-mcps-tools-ui-screen,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-tools-ui-screen,platform-mcps,same_source_ready,,100,f57f55061b106b8f +edge,mcp-contract-mcps-usuario-final-provider-tool,platform-mcps,governs_platform,,100,live_write +edge,mcp-contract-mcps-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,0786628caffaa36d +edge,mcp-contract-platform-base-administrador-empresa-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,f5c930d089539143 +edge,mcp-contract-platform-base-atendimento-cliente-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,d32732d07e0d5b51 +edge,mcp-contract-platform-base-ceo-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-ceo-provider-tool,platform-mcps,same_source_ready,,100,ac90a753b12f0c59 +edge,mcp-contract-platform-base-cfat-redaction-policy,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-cfat-redaction-policy,platform-mcps,same_source_ready,,100,eae450c14ac78cff +edge,mcp-contract-platform-base-cliente-externo-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,72a518fad763d81c +edge,mcp-contract-platform-base-contador-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-contador-provider-tool,platform-mcps,same_source_ready,,100,08ea5c4ec6caadf7 +edge,mcp-contract-platform-base-contracts-ui-screen,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-contracts-ui-screen,platform-mcps,same_source_ready,,100,608355d42bbe727d +edge,mcp-contract-platform-base-credentialref-redaction-policy,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,a978d316ee16c417 +edge,mcp-contract-platform-base-financeiro-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-financeiro-provider-tool,platform-mcps,same_source_ready,,100,926af4e038b125c6 +edge,mcp-contract-platform-base-gestor-operacional-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,ca6d1c24614b9498 +edge,mcp-contract-platform-base-juridico-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-juridico-provider-tool,platform-mcps,same_source_ready,,100,7161190a526b770b +edge,mcp-contract-platform-base-planejamento-estrategico-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,927950e90cf38cf8 +edge,mcp-contract-platform-base-secretaria-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-secretaria-provider-tool,platform-mcps,same_source_ready,,100,ec150da6bb9355ac +edge,mcp-contract-platform-base-secretref-redaction-policy,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-secretref-redaction-policy,platform-mcps,same_source_ready,,100,7603bc2ca4f1d9d5 +edge,mcp-contract-platform-base-shared-runtime-ui-screen,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-shared-runtime-ui-screen,platform-mcps,same_source_ready,,100,7edeb422ac6b5cb0 +edge,mcp-contract-platform-base-standards-ui-screen,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-standards-ui-screen,platform-mcps,same_source_ready,,100,720e4c24ed3d6d4e +edge,mcp-contract-platform-base-suporte-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-suporte-provider-tool,platform-mcps,same_source_ready,,100,56fbaea7e8712c6f +edge,mcp-contract-platform-base-tecnico-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-tecnico-provider-tool,platform-mcps,same_source_ready,,100,11baa64871e5d8e5 +edge,mcp-contract-platform-base-templates-ui-screen,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-templates-ui-screen,platform-mcps,same_source_ready,,100,eb0c54efd7aa456b +edge,mcp-contract-platform-base-tokenref-redaction-policy,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,500e7e9664b46a98 +edge,mcp-contract-platform-base-usuario-final-provider-tool,platform-platform-base,governs_platform,,100,derived +edge,mcp-contract-platform-base-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,62f5eb2945d3eb2b +edge,mcp-contract-public-administrador-empresa-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,2b393872f193d84a +edge,mcp-contract-public-atendimento-cliente-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,5aabaed2833debe4 +edge,mcp-contract-public-ceo-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-ceo-provider-tool,platform-mcps,same_source_ready,,100,80865e4200bdd5dc +edge,mcp-contract-public-cfat-redaction-policy,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-cfat-redaction-policy,platform-mcps,same_source_ready,,100,e581fe55bf2a6826 +edge,mcp-contract-public-cliente-externo-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,1aaddbcbf0770372 +edge,mcp-contract-public-contador-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-contador-provider-tool,platform-mcps,same_source_ready,,100,6c705590e488f228 +edge,mcp-contract-public-credentialref-redaction-policy,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,2b98e80028f5cf39 +edge,mcp-contract-public-financeiro-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-financeiro-provider-tool,platform-mcps,same_source_ready,,100,19f782b31e5ddb5f +edge,mcp-contract-public-gestor-operacional-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,d5a179ea1db51417 +edge,mcp-contract-public-juridico-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-juridico-provider-tool,platform-mcps,same_source_ready,,100,a5232487618bdd0b +edge,mcp-contract-public-landing-ui-screen,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-landing-ui-screen,platform-mcps,same_source_ready,,100,6eb55f701b979d56 +edge,mcp-contract-public-onboarding-ui-screen,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-onboarding-ui-screen,platform-mcps,same_source_ready,,100,6dbf5f19073229e9 +edge,mcp-contract-public-planejamento-estrategico-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,145923390cac2ebc +edge,mcp-contract-public-public-docs-ui-screen,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-public-docs-ui-screen,platform-mcps,same_source_ready,,100,268f0e3ceb556d2d +edge,mcp-contract-public-secretaria-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-secretaria-provider-tool,platform-mcps,same_source_ready,,100,e67d5ff549125162 +edge,mcp-contract-public-secretref-redaction-policy,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-secretref-redaction-policy,platform-mcps,same_source_ready,,100,de77f349c7ecb477 +edge,mcp-contract-public-status-ui-screen,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-status-ui-screen,platform-mcps,same_source_ready,,100,fa7e1d3d86a7ba8a +edge,mcp-contract-public-suporte-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-suporte-provider-tool,platform-mcps,same_source_ready,,100,dd5a116285d2e1e4 +edge,mcp-contract-public-tecnico-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-tecnico-provider-tool,platform-mcps,same_source_ready,,100,7b30af54c2475cc6 +edge,mcp-contract-public-tokenref-redaction-policy,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,4c44bde5865c6032 +edge,mcp-contract-public-usuario-final-provider-tool,platform-public,governs_platform,,100,live_write +edge,mcp-contract-public-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,34df12629065fd2a +edge,mcp-contract-stj-administrador-empresa-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,626b05853ef79ecd +edge,mcp-contract-stj-atendimento-cliente-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,e39453578a5d3071 +edge,mcp-contract-stj-ceo-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-ceo-provider-tool,platform-mcps,same_source_ready,,100,5f41ce5df3b96b67 +edge,mcp-contract-stj-cfat-redaction-policy,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-cfat-redaction-policy,platform-mcps,same_source_ready,,100,a26b851641ed3ae6 +edge,mcp-contract-stj-cliente-externo-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,db1cce0229eb7906 +edge,mcp-contract-stj-contador-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-contador-provider-tool,platform-mcps,same_source_ready,,100,cdd23b9318a3cd66 +edge,mcp-contract-stj-credentialref-redaction-policy,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,09cd1df64c712973 +edge,mcp-contract-stj-financeiro-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-financeiro-provider-tool,platform-mcps,same_source_ready,,100,4ac27ec03b48645c +edge,mcp-contract-stj-gestor-operacional-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,c9c34998deee98b1 +edge,mcp-contract-stj-juridico-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-juridico-provider-tool,platform-mcps,same_source_ready,,100,372b092493cf5061 +edge,mcp-contract-stj-legal-readiness-ui-screen,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-legal-readiness-ui-screen,platform-mcps,same_source_ready,,100,5a85ac1471a25226 +edge,mcp-contract-stj-monitoring-ui-screen,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-monitoring-ui-screen,platform-mcps,same_source_ready,,100,1a9c69804df2e805 +edge,mcp-contract-stj-planejamento-estrategico-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,183387b4d6a954d2 +edge,mcp-contract-stj-process-query-ui-screen,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-process-query-ui-screen,platform-mcps,same_source_ready,,100,bde3edb41795a934 +edge,mcp-contract-stj-public-documents-ui-screen,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-public-documents-ui-screen,platform-mcps,same_source_ready,,100,92d0416f32155494 +edge,mcp-contract-stj-secretaria-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-secretaria-provider-tool,platform-mcps,same_source_ready,,100,0504e09d876fde76 +edge,mcp-contract-stj-secretref-redaction-policy,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-secretref-redaction-policy,platform-mcps,same_source_ready,,100,787cf3c1bff94084 +edge,mcp-contract-stj-suporte-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-suporte-provider-tool,platform-mcps,same_source_ready,,100,bb76b24ff38981c8 +edge,mcp-contract-stj-tecnico-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-tecnico-provider-tool,platform-mcps,same_source_ready,,100,735d7152247eee85 +edge,mcp-contract-stj-tokenref-redaction-policy,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,b19eb33390d3aade +edge,mcp-contract-stj-usuario-final-provider-tool,platform-stj,governs_platform,,100,live_write +edge,mcp-contract-stj-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,5c8490bfc3c65e8b +edge,mcp-contract-ui-administrador-empresa-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-administrador-empresa-provider-tool,platform-mcps,same_source_ready,,100,8d5edeeedf30f7c1 +edge,mcp-contract-ui-atendimento-cliente-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-atendimento-cliente-provider-tool,platform-mcps,same_source_ready,,100,9d2dfe839d07b856 +edge,mcp-contract-ui-ceo-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-ceo-provider-tool,platform-mcps,same_source_ready,,100,c28645d6ec420720 +edge,mcp-contract-ui-cfat-redaction-policy,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-cfat-redaction-policy,platform-mcps,same_source_ready,,100,e70e9f12d3a26388 +edge,mcp-contract-ui-cliente-externo-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-cliente-externo-provider-tool,platform-mcps,same_source_ready,,100,e65c4a5d2bddbc65 +edge,mcp-contract-ui-contador-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-contador-provider-tool,platform-mcps,same_source_ready,,100,97bb45b9bb86e61c +edge,mcp-contract-ui-credentialref-redaction-policy,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-credentialref-redaction-policy,platform-mcps,same_source_ready,,100,26ed737873a13f21 +edge,mcp-contract-ui-design-system-ui-screen,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-design-system-ui-screen,platform-mcps,same_source_ready,,100,208bfc99ed4495ef +edge,mcp-contract-ui-financeiro-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-financeiro-provider-tool,platform-mcps,same_source_ready,,100,1dc0c6a1a4bee616 +edge,mcp-contract-ui-gestor-operacional-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-gestor-operacional-provider-tool,platform-mcps,same_source_ready,,100,3c5bcdb27313ac9d +edge,mcp-contract-ui-juridico-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-juridico-provider-tool,platform-mcps,same_source_ready,,100,7ecafea19da0fe49 +edge,mcp-contract-ui-panelready-ui-screen,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-panelready-ui-screen,platform-mcps,same_source_ready,,100,36ca0610f0b72392 +edge,mcp-contract-ui-planejamento-estrategico-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-planejamento-estrategico-provider-tool,platform-mcps,same_source_ready,,100,fa1e98cf5529f472 +edge,mcp-contract-ui-pwa-ui-screen,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-pwa-ui-screen,platform-mcps,same_source_ready,,100,3ad05265c84d245e +edge,mcp-contract-ui-samesource-ui-screen,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-samesource-ui-screen,platform-mcps,same_source_ready,,100,66e684aa7be00263 +edge,mcp-contract-ui-screen-contract-ui-screen,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-screen-contract-ui-screen,platform-mcps,same_source_ready,,100,8282cb69708f30c1 +edge,mcp-contract-ui-secretaria-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-secretaria-provider-tool,platform-mcps,same_source_ready,,100,cd3e3a0512a10e12 +edge,mcp-contract-ui-secretref-redaction-policy,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-secretref-redaction-policy,platform-mcps,same_source_ready,,100,68942c334266a63b +edge,mcp-contract-ui-suporte-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-suporte-provider-tool,platform-mcps,same_source_ready,,100,0092a82f83de22f6 +edge,mcp-contract-ui-tecnico-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-tecnico-provider-tool,platform-mcps,same_source_ready,,100,2c82cb95e60bd1cf +edge,mcp-contract-ui-tokenref-redaction-policy,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-tokenref-redaction-policy,platform-mcps,same_source_ready,,100,675da0a4968d0d43 +edge,mcp-contract-ui-usuario-final-provider-tool,platform-ui,governs_platform,,100,same_source_ready +edge,mcp-contract-ui-usuario-final-provider-tool,platform-mcps,same_source_ready,,100,6dabe3a86f2aca99 +edge,mcp-provider-mais-humana,mcp-contract-business-administrador-empresa-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-business-atendimento-cliente-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-business-billing-ui-screen,publishes_contract,,9,validar same-source da tela billing em business +edge,mcp-provider-mais-humana,mcp-contract-business-ceo-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/ceo +edge,mcp-provider-mais-humana,mcp-contract-business-cfat-redaction-policy,publishes_contract,,9,executar varredura redaction para business/cfat +edge,mcp-provider-mais-humana,mcp-contract-business-checkout-ui-screen,publishes_contract,,9,validar same-source da tela checkout em business +edge,mcp-provider-mais-humana,mcp-contract-business-cliente-externo-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-business-commercial-readiness-ui-screen,publishes_contract,,9,validar same-source da tela commercial-readiness em business +edge,mcp-provider-mais-humana,mcp-contract-business-consumption-ui-screen,publishes_contract,,9,validar same-source da tela consumption em business +edge,mcp-provider-mais-humana,mcp-contract-business-contador-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/contador +edge,mcp-provider-mais-humana,mcp-contract-business-credentialref-redaction-policy,publishes_contract,,9,executar varredura redaction para business/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-business-entitlements-ui-screen,publishes_contract,,9,validar same-source da tela entitlements em business +edge,mcp-provider-mais-humana,mcp-contract-business-financeiro-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/financeiro +edge,mcp-provider-mais-humana,mcp-contract-business-gestor-operacional-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-business-juridico-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/juridico +edge,mcp-provider-mais-humana,mcp-contract-business-planejamento-estrategico-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-business-secretaria-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/secretaria +edge,mcp-provider-mais-humana,mcp-contract-business-secretref-redaction-policy,publishes_contract,,9,executar varredura redaction para business/secretRef +edge,mcp-provider-mais-humana,mcp-contract-business-suporte-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/suporte +edge,mcp-provider-mais-humana,mcp-contract-business-tecnico-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/tecnico +edge,mcp-provider-mais-humana,mcp-contract-business-tokenref-redaction-policy,publishes_contract,,9,executar varredura redaction para business/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-business-usuario-final-provider-tool,publishes_contract,,9,publicar e validar tool MCP para business/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-compliance-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-compliance-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-compliance-audit-ui-screen,publishes_contract,,100,validar same-source da tela audit em compliance +edge,mcp-provider-mais-humana,mcp-contract-compliance-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/ceo +edge,mcp-provider-mais-humana,mcp-contract-compliance-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para compliance/cfat +edge,mcp-provider-mais-humana,mcp-contract-compliance-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-compliance-consent-ui-screen,publishes_contract,,100,validar same-source da tela consent em compliance +edge,mcp-provider-mais-humana,mcp-contract-compliance-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/contador +edge,mcp-provider-mais-humana,mcp-contract-compliance-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para compliance/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-compliance-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/financeiro +edge,mcp-provider-mais-humana,mcp-contract-compliance-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-compliance-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/juridico +edge,mcp-provider-mais-humana,mcp-contract-compliance-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-compliance-privacy-ui-screen,publishes_contract,,100,validar same-source da tela privacy em compliance +edge,mcp-provider-mais-humana,mcp-contract-compliance-retention-ui-screen,publishes_contract,,100,validar same-source da tela retention em compliance +edge,mcp-provider-mais-humana,mcp-contract-compliance-risk-ui-screen,publishes_contract,,100,validar same-source da tela risk em compliance +edge,mcp-provider-mais-humana,mcp-contract-compliance-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/secretaria +edge,mcp-provider-mais-humana,mcp-contract-compliance-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para compliance/secretRef +edge,mcp-provider-mais-humana,mcp-contract-compliance-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/suporte +edge,mcp-provider-mais-humana,mcp-contract-compliance-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/tecnico +edge,mcp-provider-mais-humana,mcp-contract-compliance-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para compliance/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-compliance-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para compliance/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/ceo +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para customer_ops/cfat +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/contador +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para customer_ops/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-customer-status-ui-screen,publishes_contract,,100,validar same-source da tela customer-status em customer_ops +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-diagnostics-ui-screen,publishes_contract,,100,validar same-source da tela diagnostics em customer_ops +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/financeiro +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-handoffs-ui-screen,publishes_contract,,100,validar same-source da tela handoffs em customer_ops +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-incidents-ui-screen,publishes_contract,,100,validar same-source da tela incidents em customer_ops +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/juridico +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/secretaria +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para customer_ops/secretRef +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/suporte +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/tecnico +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-tickets-ui-screen,publishes_contract,,100,validar same-source da tela tickets em customer_ops +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para customer_ops/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-customer-ops-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para customer_ops/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-docs-administrador-empresa-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-docs-atendimento-cliente-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-docs-canonical-docs-ui-screen,publishes_contract,,11,validar same-source da tela canonical-docs em docs +edge,mcp-provider-mais-humana,mcp-contract-docs-ceo-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/ceo +edge,mcp-provider-mais-humana,mcp-contract-docs-cfat-redaction-policy,publishes_contract,,11,executar varredura redaction para docs/cfat +edge,mcp-provider-mais-humana,mcp-contract-docs-cliente-externo-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-docs-contador-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/contador +edge,mcp-provider-mais-humana,mcp-contract-docs-contracts-ui-screen,publishes_contract,,11,validar same-source da tela contracts em docs +edge,mcp-provider-mais-humana,mcp-contract-docs-credentialref-redaction-policy,publishes_contract,,11,executar varredura redaction para docs/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-docs-financeiro-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/financeiro +edge,mcp-provider-mais-humana,mcp-contract-docs-formal-exception-docs-catalogonly,publishes_contract,,92,registrar decisao institucional para docs.formal-exception.docs-catalogonly +edge,mcp-provider-mais-humana,mcp-contract-docs-gestor-operacional-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-docs-help-ui-screen,publishes_contract,,11,validar same-source da tela help em docs +edge,mcp-provider-mais-humana,mcp-contract-docs-juridico-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/juridico +edge,mcp-provider-mais-humana,mcp-contract-docs-planejamento-estrategico-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-docs-proofs-ui-screen,publishes_contract,,11,validar same-source da tela proofs em docs +edge,mcp-provider-mais-humana,mcp-contract-docs-runbooks-ui-screen,publishes_contract,,11,validar same-source da tela runbooks em docs +edge,mcp-provider-mais-humana,mcp-contract-docs-secretaria-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/secretaria +edge,mcp-provider-mais-humana,mcp-contract-docs-secretref-redaction-policy,publishes_contract,,11,executar varredura redaction para docs/secretRef +edge,mcp-provider-mais-humana,mcp-contract-docs-suporte-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/suporte +edge,mcp-provider-mais-humana,mcp-contract-docs-tecnico-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/tecnico +edge,mcp-provider-mais-humana,mcp-contract-docs-tokenref-redaction-policy,publishes_contract,,11,executar varredura redaction para docs/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-docs-usuario-final-provider-tool,publishes_contract,,11,publicar e validar tool MCP para docs/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-finance-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-finance-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-finance-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/ceo +edge,mcp-provider-mais-humana,mcp-contract-finance-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para finance/cfat +edge,mcp-provider-mais-humana,mcp-contract-finance-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-finance-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/contador +edge,mcp-provider-mais-humana,mcp-contract-finance-cost-ui-screen,publishes_contract,,100,validar same-source da tela cost em finance +edge,mcp-provider-mais-humana,mcp-contract-finance-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para finance/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-finance-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/financeiro +edge,mcp-provider-mais-humana,mcp-contract-finance-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-finance-invoices-ui-screen,publishes_contract,,100,validar same-source da tela invoices em finance +edge,mcp-provider-mais-humana,mcp-contract-finance-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/juridico +edge,mcp-provider-mais-humana,mcp-contract-finance-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-finance-quota-ui-screen,publishes_contract,,100,validar same-source da tela quota em finance +edge,mcp-provider-mais-humana,mcp-contract-finance-reconciliation-ui-screen,publishes_contract,,100,validar same-source da tela reconciliation em finance +edge,mcp-provider-mais-humana,mcp-contract-finance-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/secretaria +edge,mcp-provider-mais-humana,mcp-contract-finance-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para finance/secretRef +edge,mcp-provider-mais-humana,mcp-contract-finance-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/suporte +edge,mcp-provider-mais-humana,mcp-contract-finance-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/tecnico +edge,mcp-provider-mais-humana,mcp-contract-finance-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para finance/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-finance-usage-ui-screen,publishes_contract,,100,validar same-source da tela usage em finance +edge,mcp-provider-mais-humana,mcp-contract-finance-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para finance/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-gettys-admin-screen-ui-screen,publishes_contract,,6,validar same-source da tela admin-screen em gettys +edge,mcp-provider-mais-humana,mcp-contract-gettys-administrador-empresa-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-gettys-atendimento-cliente-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-gettys-ceo-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/ceo +edge,mcp-provider-mais-humana,mcp-contract-gettys-cfat-redaction-policy,publishes_contract,,6,executar varredura redaction para gettys/cfat +edge,mcp-provider-mais-humana,mcp-contract-gettys-cliente-externo-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-gettys-contador-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/contador +edge,mcp-provider-mais-humana,mcp-contract-gettys-credentialref-redaction-policy,publishes_contract,,6,executar varredura redaction para gettys/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-gettys-financeiro-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/financeiro +edge,mcp-provider-mais-humana,mcp-contract-gettys-gestor-operacional-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-gettys-gettys-overview-ui-screen,publishes_contract,,6,validar same-source da tela gettys-overview em gettys +edge,mcp-provider-mais-humana,mcp-contract-gettys-health-ui-screen,publishes_contract,,6,validar same-source da tela health em gettys +edge,mcp-provider-mais-humana,mcp-contract-gettys-juridico-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/juridico +edge,mcp-provider-mais-humana,mcp-contract-gettys-planejamento-estrategico-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-gettys-product-readiness-ui-screen,publishes_contract,,6,validar same-source da tela product-readiness em gettys +edge,mcp-provider-mais-humana,mcp-contract-gettys-secretaria-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/secretaria +edge,mcp-provider-mais-humana,mcp-contract-gettys-secretref-redaction-policy,publishes_contract,,6,executar varredura redaction para gettys/secretRef +edge,mcp-provider-mais-humana,mcp-contract-gettys-suporte-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/suporte +edge,mcp-provider-mais-humana,mcp-contract-gettys-tecnico-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/tecnico +edge,mcp-provider-mais-humana,mcp-contract-gettys-tokenref-redaction-policy,publishes_contract,,6,executar varredura redaction para gettys/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-gettys-usuario-final-provider-tool,publishes_contract,,6,publicar e validar tool MCP para gettys/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-identity-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-identity-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-identity-audit-ui-screen,publishes_contract,,100,validar same-source da tela audit em identity +edge,mcp-provider-mais-humana,mcp-contract-identity-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/ceo +edge,mcp-provider-mais-humana,mcp-contract-identity-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para identity/cfat +edge,mcp-provider-mais-humana,mcp-contract-identity-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-identity-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/contador +edge,mcp-provider-mais-humana,mcp-contract-identity-contracts-ui-screen,publishes_contract,,100,validar same-source da tela contracts em identity +edge,mcp-provider-mais-humana,mcp-contract-identity-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para identity/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-identity-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/financeiro +edge,mcp-provider-mais-humana,mcp-contract-identity-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-identity-incidents-ui-screen,publishes_contract,,100,validar same-source da tela incidents em identity +edge,mcp-provider-mais-humana,mcp-contract-identity-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/juridico +edge,mcp-provider-mais-humana,mcp-contract-identity-organizations-ui-screen,publishes_contract,,100,validar same-source da tela organizations em identity +edge,mcp-provider-mais-humana,mcp-contract-identity-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-identity-rbac-ui-screen,publishes_contract,,100,validar same-source da tela rbac em identity +edge,mcp-provider-mais-humana,mcp-contract-identity-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/secretaria +edge,mcp-provider-mais-humana,mcp-contract-identity-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para identity/secretRef +edge,mcp-provider-mais-humana,mcp-contract-identity-sessions-ui-screen,publishes_contract,,100,validar same-source da tela sessions em identity +edge,mcp-provider-mais-humana,mcp-contract-identity-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/suporte +edge,mcp-provider-mais-humana,mcp-contract-identity-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/tecnico +edge,mcp-provider-mais-humana,mcp-contract-identity-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para identity/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-identity-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para identity/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-integracoes-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-integracoes-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-integracoes-byok-ui-screen,publishes_contract,,100,validar same-source da tela BYOK em integracoes +edge,mcp-provider-mais-humana,mcp-contract-integracoes-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/ceo +edge,mcp-provider-mais-humana,mcp-contract-integracoes-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para integracoes/cfat +edge,mcp-provider-mais-humana,mcp-contract-integracoes-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-integracoes-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/contador +edge,mcp-provider-mais-humana,mcp-contract-integracoes-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para integracoes/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-integracoes-credentials-ui-screen,publishes_contract,,100,validar same-source da tela credentials em integracoes +edge,mcp-provider-mais-humana,mcp-contract-integracoes-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/financeiro +edge,mcp-provider-mais-humana,mcp-contract-integracoes-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-integracoes-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/juridico +edge,mcp-provider-mais-humana,mcp-contract-integracoes-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-integracoes-products-ui-screen,publishes_contract,,100,validar same-source da tela products em integracoes +edge,mcp-provider-mais-humana,mcp-contract-integracoes-providers-ui-screen,publishes_contract,,100,validar same-source da tela providers em integracoes +edge,mcp-provider-mais-humana,mcp-contract-integracoes-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/secretaria +edge,mcp-provider-mais-humana,mcp-contract-integracoes-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para integracoes/secretRef +edge,mcp-provider-mais-humana,mcp-contract-integracoes-smoke-ui-screen,publishes_contract,,100,validar same-source da tela smoke em integracoes +edge,mcp-provider-mais-humana,mcp-contract-integracoes-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/suporte +edge,mcp-provider-mais-humana,mcp-contract-integracoes-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/tecnico +edge,mcp-provider-mais-humana,mcp-contract-integracoes-tenant-ui-screen,publishes_contract,,100,validar same-source da tela tenant em integracoes +edge,mcp-provider-mais-humana,mcp-contract-integracoes-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para integracoes/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-integracoes-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para integracoes/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-intelligence-administrador-empresa-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-intelligence-analytics-ui-screen,publishes_contract,,1,validar same-source da tela analytics em intelligence +edge,mcp-provider-mais-humana,mcp-contract-intelligence-atendimento-cliente-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-intelligence-ceo-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/ceo +edge,mcp-provider-mais-humana,mcp-contract-intelligence-cfat-redaction-policy,publishes_contract,,10,executar varredura redaction para intelligence/cfat +edge,mcp-provider-mais-humana,mcp-contract-intelligence-cliente-externo-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-intelligence-contador-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/contador +edge,mcp-provider-mais-humana,mcp-contract-intelligence-credentialref-redaction-policy,publishes_contract,,10,executar varredura redaction para intelligence/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-intelligence-financeiro-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/financeiro +edge,mcp-provider-mais-humana,mcp-contract-intelligence-gestor-operacional-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-intelligence-juridico-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/juridico +edge,mcp-provider-mais-humana,mcp-contract-intelligence-planejamento-estrategico-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-intelligence-prioritization-ui-screen,publishes_contract,,1,validar same-source da tela prioritization em intelligence +edge,mcp-provider-mais-humana,mcp-contract-intelligence-recommendations-ui-screen,publishes_contract,,1,validar same-source da tela recommendations em intelligence +edge,mcp-provider-mais-humana,mcp-contract-intelligence-risk-ui-screen,publishes_contract,,1,validar same-source da tela risk em intelligence +edge,mcp-provider-mais-humana,mcp-contract-intelligence-secretaria-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/secretaria +edge,mcp-provider-mais-humana,mcp-contract-intelligence-secretref-redaction-policy,publishes_contract,,10,executar varredura redaction para intelligence/secretRef +edge,mcp-provider-mais-humana,mcp-contract-intelligence-suporte-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/suporte +edge,mcp-provider-mais-humana,mcp-contract-intelligence-tecnico-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/tecnico +edge,mcp-provider-mais-humana,mcp-contract-intelligence-tokenref-redaction-policy,publishes_contract,,10,executar varredura redaction para intelligence/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-intelligence-usuario-final-provider-tool,publishes_contract,,1,publicar e validar tool MCP para intelligence/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-mais-humana-canonical-rename-plataform,publishes_contract,,71,registrar decisao institucional para mais-humana.canonical-rename.plataform +edge,mcp-provider-mais-humana,mcp-contract-mcps-admin-ui-ui-screen,publishes_contract,,100,validar same-source da tela admin_ui em mcps +edge,mcp-provider-mais-humana,mcp-contract-mcps-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-mcps-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-mcps-catalog-ui-screen,publishes_contract,,100,validar same-source da tela catalog em mcps +edge,mcp-provider-mais-humana,mcp-contract-mcps-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/ceo +edge,mcp-provider-mais-humana,mcp-contract-mcps-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para mcps/cfat +edge,mcp-provider-mais-humana,mcp-contract-mcps-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-mcps-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/contador +edge,mcp-provider-mais-humana,mcp-contract-mcps-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para mcps/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-mcps-evidence-ui-screen,publishes_contract,,100,validar same-source da tela evidence em mcps +edge,mcp-provider-mais-humana,mcp-contract-mcps-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/financeiro +edge,mcp-provider-mais-humana,mcp-contract-mcps-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-mcps-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/juridico +edge,mcp-provider-mais-humana,mcp-contract-mcps-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-mcps-readiness-ui-screen,publishes_contract,,100,validar same-source da tela readiness em mcps +edge,mcp-provider-mais-humana,mcp-contract-mcps-samesource-ui-screen,publishes_contract,,100,validar same-source da tela sameSource em mcps +edge,mcp-provider-mais-humana,mcp-contract-mcps-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/secretaria +edge,mcp-provider-mais-humana,mcp-contract-mcps-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para mcps/secretRef +edge,mcp-provider-mais-humana,mcp-contract-mcps-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/suporte +edge,mcp-provider-mais-humana,mcp-contract-mcps-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/tecnico +edge,mcp-provider-mais-humana,mcp-contract-mcps-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para mcps/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-mcps-tools-ui-screen,publishes_contract,,100,validar same-source da tela tools em mcps +edge,mcp-provider-mais-humana,mcp-contract-mcps-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para mcps/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-platform-base-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-platform-base-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-platform-base-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/ceo +edge,mcp-provider-mais-humana,mcp-contract-platform-base-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para platform_base/cfat +edge,mcp-provider-mais-humana,mcp-contract-platform-base-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-platform-base-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/contador +edge,mcp-provider-mais-humana,mcp-contract-platform-base-contracts-ui-screen,publishes_contract,,100,validar same-source da tela contracts em platform_base +edge,mcp-provider-mais-humana,mcp-contract-platform-base-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para platform_base/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-platform-base-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/financeiro +edge,mcp-provider-mais-humana,mcp-contract-platform-base-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-platform-base-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/juridico +edge,mcp-provider-mais-humana,mcp-contract-platform-base-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-platform-base-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/secretaria +edge,mcp-provider-mais-humana,mcp-contract-platform-base-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para platform_base/secretRef +edge,mcp-provider-mais-humana,mcp-contract-platform-base-shared-runtime-ui-screen,publishes_contract,,100,validar same-source da tela shared-runtime em platform_base +edge,mcp-provider-mais-humana,mcp-contract-platform-base-standards-ui-screen,publishes_contract,,100,validar same-source da tela standards em platform_base +edge,mcp-provider-mais-humana,mcp-contract-platform-base-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/suporte +edge,mcp-provider-mais-humana,mcp-contract-platform-base-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/tecnico +edge,mcp-provider-mais-humana,mcp-contract-platform-base-templates-ui-screen,publishes_contract,,100,validar same-source da tela templates em platform_base +edge,mcp-provider-mais-humana,mcp-contract-platform-base-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para platform_base/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-platform-base-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para platform_base/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-public-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-public-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-public-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/ceo +edge,mcp-provider-mais-humana,mcp-contract-public-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para public/cfat +edge,mcp-provider-mais-humana,mcp-contract-public-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-public-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/contador +edge,mcp-provider-mais-humana,mcp-contract-public-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para public/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-public-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/financeiro +edge,mcp-provider-mais-humana,mcp-contract-public-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-public-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/juridico +edge,mcp-provider-mais-humana,mcp-contract-public-landing-ui-screen,publishes_contract,,100,validar same-source da tela landing em public +edge,mcp-provider-mais-humana,mcp-contract-public-onboarding-ui-screen,publishes_contract,,100,validar same-source da tela onboarding em public +edge,mcp-provider-mais-humana,mcp-contract-public-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-public-public-docs-ui-screen,publishes_contract,,100,validar same-source da tela public-docs em public +edge,mcp-provider-mais-humana,mcp-contract-public-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/secretaria +edge,mcp-provider-mais-humana,mcp-contract-public-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para public/secretRef +edge,mcp-provider-mais-humana,mcp-contract-public-status-ui-screen,publishes_contract,,100,validar same-source da tela status em public +edge,mcp-provider-mais-humana,mcp-contract-public-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/suporte +edge,mcp-provider-mais-humana,mcp-contract-public-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/tecnico +edge,mcp-provider-mais-humana,mcp-contract-public-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para public/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-public-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para public/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-stj-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-stj-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-stj-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/ceo +edge,mcp-provider-mais-humana,mcp-contract-stj-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para stj/cfat +edge,mcp-provider-mais-humana,mcp-contract-stj-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-stj-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/contador +edge,mcp-provider-mais-humana,mcp-contract-stj-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para stj/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-stj-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/financeiro +edge,mcp-provider-mais-humana,mcp-contract-stj-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-stj-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/juridico +edge,mcp-provider-mais-humana,mcp-contract-stj-legal-readiness-ui-screen,publishes_contract,,100,validar same-source da tela legal-readiness em stj +edge,mcp-provider-mais-humana,mcp-contract-stj-monitoring-ui-screen,publishes_contract,,100,validar same-source da tela monitoring em stj +edge,mcp-provider-mais-humana,mcp-contract-stj-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-stj-process-query-ui-screen,publishes_contract,,100,validar same-source da tela process-query em stj +edge,mcp-provider-mais-humana,mcp-contract-stj-public-documents-ui-screen,publishes_contract,,100,validar same-source da tela public-documents em stj +edge,mcp-provider-mais-humana,mcp-contract-stj-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/secretaria +edge,mcp-provider-mais-humana,mcp-contract-stj-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para stj/secretRef +edge,mcp-provider-mais-humana,mcp-contract-stj-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/suporte +edge,mcp-provider-mais-humana,mcp-contract-stj-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/tecnico +edge,mcp-provider-mais-humana,mcp-contract-stj-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para stj/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-stj-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para stj/usuario_final +edge,mcp-provider-mais-humana,mcp-contract-ui-administrador-empresa-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/administrador_empresa +edge,mcp-provider-mais-humana,mcp-contract-ui-atendimento-cliente-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/atendimento_cliente +edge,mcp-provider-mais-humana,mcp-contract-ui-ceo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/ceo +edge,mcp-provider-mais-humana,mcp-contract-ui-cfat-redaction-policy,publishes_contract,,100,executar varredura redaction para ui/cfat +edge,mcp-provider-mais-humana,mcp-contract-ui-cliente-externo-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/cliente_externo +edge,mcp-provider-mais-humana,mcp-contract-ui-contador-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/contador +edge,mcp-provider-mais-humana,mcp-contract-ui-credentialref-redaction-policy,publishes_contract,,100,executar varredura redaction para ui/credentialRef +edge,mcp-provider-mais-humana,mcp-contract-ui-design-system-ui-screen,publishes_contract,,100,validar same-source da tela design-system em ui +edge,mcp-provider-mais-humana,mcp-contract-ui-financeiro-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/financeiro +edge,mcp-provider-mais-humana,mcp-contract-ui-gestor-operacional-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/gestor_operacional +edge,mcp-provider-mais-humana,mcp-contract-ui-juridico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/juridico +edge,mcp-provider-mais-humana,mcp-contract-ui-panelready-ui-screen,publishes_contract,,100,validar same-source da tela panelReady em ui +edge,mcp-provider-mais-humana,mcp-contract-ui-planejamento-estrategico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/planejamento_estrategico +edge,mcp-provider-mais-humana,mcp-contract-ui-pwa-ui-screen,publishes_contract,,100,validar same-source da tela PWA em ui +edge,mcp-provider-mais-humana,mcp-contract-ui-samesource-ui-screen,publishes_contract,,100,validar same-source da tela sameSource em ui +edge,mcp-provider-mais-humana,mcp-contract-ui-screen-contract-ui-screen,publishes_contract,,100,validar same-source da tela screen-contract em ui +edge,mcp-provider-mais-humana,mcp-contract-ui-secretaria-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/secretaria +edge,mcp-provider-mais-humana,mcp-contract-ui-secretref-redaction-policy,publishes_contract,,100,executar varredura redaction para ui/secretRef +edge,mcp-provider-mais-humana,mcp-contract-ui-suporte-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/suporte +edge,mcp-provider-mais-humana,mcp-contract-ui-tecnico-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/tecnico +edge,mcp-provider-mais-humana,mcp-contract-ui-tokenref-redaction-policy,publishes_contract,,100,executar varredura redaction para ui/tokenRef +edge,mcp-provider-mais-humana,mcp-contract-ui-usuario-final-provider-tool,publishes_contract,,100,publicar e validar tool MCP para ui/usuario_final edge,platform-business,order-0001-executiva-blindar-redaction-e-referencias-de-credencial,creates_executiva,,50,"Ha refs seguras, mas falta prova automatica de nao vazamento. Termos encontrados: credentialref." edge,platform-business,order-0002-executiva-classificar-truthstate-e-fonte-da-verdade-dos-dados,creates_executiva,,50,"Ha dados, mas falta classificar real/simulado/stale/partial. Termos encontrados: simulated." edge,platform-business,order-0001-gerencial-separar-maturidade-comercial-e-tecnica-por-produto,creates_gerencial,,50,"Produto tem valor comercial, mas falta stage operacional claro." @@ -2299,6 +3444,7 @@ edge,platform-mcps,platform-docs,declared,,40,relacao declarada ou inferida pelo edge,platform-mcps,platform-identity,declared,,40,relacao declarada ou inferida pelo dominio edge,platform-mcps,platform-integracoes,declared,,40,relacao declarada ou inferida pelo dominio edge,platform-mcps,platform-ui,declared,,40,relacao declarada ou inferida pelo dominio +edge,platform-mcps,mcp-provider-mais-humana,discovers_provider_contract,,74,mais_humana.rulebook.compact edge,platform-mcps,platform-integracoes,domain:cloud,,40,relacao declarada ou inferida pelo dominio edge,platform-mcps,platform-platform-base,domain:contract,,40,relacao declarada ou inferida pelo dominio edge,platform-mcps,platform-customer-ops,domain:customer_ops,,40,relacao declarada ou inferida pelo dominio diff --git a/matrizes/mcp-contratos-humanos.csv b/matrizes/mcp-contratos-humanos.csv new file mode 100644 index 0000000..2058ea3 --- /dev/null +++ b/matrizes/mcp-contratos-humanos.csv @@ -0,0 +1,561 @@ +contract_id,kind,platform_id,profile_id,status,truth_state,score,same_source,source_payload_hash,source_records_hash,tool_id,next_action +business.administrador_empresa.provider-tool,provider_tool,business,administrador_empresa,blocked,blocked,9,False,e688cbb09d8a2aa59509a29ab347723839c05483c44d828d4a02202e68a4c155,af2bbd3ca13e16e3e65a1adadd1c428c498866499fe223178f0da95f36e7c266,mais_humana.business.administrador_empresa.explain,publicar e validar tool MCP para business/administrador_empresa +business.atendimento_cliente.provider-tool,provider_tool,business,atendimento_cliente,blocked,blocked,9,False,a57b18ba71dbd35047c6bef6b55b7f15ed922a3dd7531f3521925ecdb65a578b,ee66b1ee468bcc0244bea9d4c1aeaa8fa4d882caa80a634cb4bb8043d69de463,mais_humana.business.atendimento_cliente.explain,publicar e validar tool MCP para business/atendimento_cliente +business.ceo.provider-tool,provider_tool,business,ceo,blocked,blocked,9,False,b3ca22e1f15666762d5a20ac3b21cff51a75271cba4e0463aade7c81ad49caad,bbdaaf0e123d09a3517217222ab672819697c8eb451307c8b758fc016bd85601,mais_humana.business.ceo.explain,publicar e validar tool MCP para business/ceo +business.cliente_externo.provider-tool,provider_tool,business,cliente_externo,blocked,blocked,9,False,ea13ce29b38ea235dc12077324ac9ca886d4f28b6490d204b0131132cf0d7d1a,3fa497048404c1f8abb0d93ebb9ef532c93bd7e15e6820805fa2cd92ca52cca4,mais_humana.business.cliente_externo.explain,publicar e validar tool MCP para business/cliente_externo +business.contador.provider-tool,provider_tool,business,contador,blocked,blocked,9,False,2a29bcd704fac5f8e730f474b000fd097fb119d3152e2a440856dff70014d0c5,14b1a6ba5dd0aa7aad7498fa780145128c686747fe60d3f45acffc441f63a958,mais_humana.business.contador.explain,publicar e validar tool MCP para business/contador +business.financeiro.provider-tool,provider_tool,business,financeiro,blocked,blocked,9,False,d368d24880a2a9f659761b48e9f8234664cc7e3eb920fba29ae45e0cf09ff0fd,ba52cb85a7cb94cd70b6a0407a4c53f9d199a206af1e052b5fe194fd49782fad,mais_humana.business.financeiro.explain,publicar e validar tool MCP para business/financeiro +business.gestor_operacional.provider-tool,provider_tool,business,gestor_operacional,blocked,blocked,9,False,c7d703ee8039723d25f83a821f6043bcf06ba1027b6f9d6d4a354caa48079bc2,11c87d9d68cc2474dbfaaac55cdc28051e88e74c1a7359ebe84da6a0f21321cb,mais_humana.business.gestor_operacional.explain,publicar e validar tool MCP para business/gestor_operacional +business.juridico.provider-tool,provider_tool,business,juridico,blocked,blocked,9,False,6187d73898cb3061b2c66d430b6b8eeb1a4caf78efe0b29b7b387e08b9f32805,da8aa99a39162b37169d16397382cfcd3995190f8536cc644f38e02a4922ad20,mais_humana.business.juridico.explain,publicar e validar tool MCP para business/juridico +business.planejamento_estrategico.provider-tool,provider_tool,business,planejamento_estrategico,blocked,blocked,9,False,f7299c2361291fd08b0abf3b690f3623715b832c0aaa8a42a296c2bba96a2b16,2dada112b9d82b37657578cc6bfddc05ca8366cdd1a3147399a40b1e5001f1c4,mais_humana.business.planejamento_estrategico.explain,publicar e validar tool MCP para business/planejamento_estrategico +business.secretaria.provider-tool,provider_tool,business,secretaria,blocked,blocked,9,False,ead35eb1a420ac0a2cd8c22d7ea265f519381abb88de4cdc4204fc1ebb289aea,1abfa07a9755e6ba091cebf2bbd07bfb7e4ca201efc0dde7d113819fa84b93da,mais_humana.business.secretaria.explain,publicar e validar tool MCP para business/secretaria +business.suporte.provider-tool,provider_tool,business,suporte,blocked,blocked,9,False,2c64aa9e8678fa23e342d52934ee463a1fdd975244c1801e0c82b9a0d88c6add,b2ce9ed7aa9f99ad93081c0a0acaed06e19d0683d9516e85088a60d50b5d91d0,mais_humana.business.suporte.explain,publicar e validar tool MCP para business/suporte +business.tecnico.provider-tool,provider_tool,business,tecnico,blocked,blocked,9,False,eba54bcdcb9e77d247709420bfa6dae41c0765e19465c8641b293a1e9343f149,4e3885ee3b9c8a2a56dd239dc66b6e90ca680db9b5e5408598ff90ed18a5dea4,mais_humana.business.tecnico.explain,publicar e validar tool MCP para business/tecnico +business.usuario_final.provider-tool,provider_tool,business,usuario_final,blocked,blocked,9,False,6a4870992acee34947530c005c58ef917fa55d5b734d98b0d3ce0cc4f2399442,711b2b330d7e4f6177b70487367ed16ccaff0302b0ab5bf246f61a16919454af,mais_humana.business.usuario_final.explain,publicar e validar tool MCP para business/usuario_final +business.cfat.redaction-policy,redaction_policy,business,todos,blocked,blocked,9,False,d8adb1eb75d43f058418d40fd533696142004b84ab06e7e123cf3cfd02bf6aac,b273baadd4ff9671259b17607e9807d5fbc4619239b99f2e2e9757a097410a50,mais_humana.redaction.guard,executar varredura redaction para business/cfat +business.credentialref.redaction-policy,redaction_policy,business,todos,blocked,blocked,9,False,76939d5a6a3aeffc602e57ac1698d70319e692fcc805be4a96cef49fc240ad08,17876bd30a943c201fe9f41ab9731d104eb2a7df10b3458c52fe5536b3a185fe,mais_humana.redaction.guard,executar varredura redaction para business/credentialRef +business.secretref.redaction-policy,redaction_policy,business,todos,blocked,blocked,9,False,1f6ef0f3191f796461fd6d1ba6519a61e0463e2e688ccb281f7c7bf193b86446,6e4983d9467eea6210bca1cd6f7f295baca4f5170989bac6602e0b4f419c83ff,mais_humana.redaction.guard,executar varredura redaction para business/secretRef +business.tokenref.redaction-policy,redaction_policy,business,todos,blocked,blocked,9,False,d2a39cedc71056499c8372e03bbbc605ab836bd2d945c1604b80fcd3471f16d4,304939f9773ce3f1834fd378c55deebe64eec2133714e8d29ecd9070ec4c721c,mais_humana.redaction.guard,executar varredura redaction para business/tokenRef +business.administrador_empresa.report-model,report_model,business,administrador_empresa,blocked,blocked,9,False,6a859028c69914e4674e31a9d69163b27f17c9a664207d1c23806a8a5fba1a4c,85d83ec5be81680165ab29a1333caf3cb45b276c357395e73e8b24c138149327,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/administrador_empresa +business.atendimento_cliente.report-model,report_model,business,atendimento_cliente,blocked,blocked,9,False,fc5f03202ddb4d05e7e87d13cb252110f24ef738804cdd8cb071bd9ce5d99606,2a476c57b9bcffe551ba8208411976d6d0e67acfb5d73245fb6dcb6edb65a28e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/atendimento_cliente +business.ceo.report-model,report_model,business,ceo,blocked,blocked,9,False,2a4c6f11c3c389eb899b7679cf64cada1577ea42c88ab2a7b0e57561bad93f65,60e78c5b99d20012df7cf183b9fcb519a96d1a137fa3d2c81e4fb151f4319081,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/ceo +business.cliente_externo.report-model,report_model,business,cliente_externo,blocked,blocked,9,False,0f50d2d72ea08460e532c42b2bb846226b5a2d4fc2741dc6211c0c91fd43e1b3,f516ddef991c7293747bc97110d0ab2449831594f1e1ca5958748e2f4796f40e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/cliente_externo +business.contador.report-model,report_model,business,contador,blocked,blocked,9,False,e0d78cc11f3b8c756043061ac4bf5c063a7ef3728983b32580713783453e4994,82921b7cd91e45f13f0c82434c250df3953803a11da1896ef74d502539a4e57d,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/contador +business.financeiro.report-model,report_model,business,financeiro,blocked,blocked,9,False,a47c0ac060aee91afcafbbb4dfb419e59d9b3ef824c36ef07f948d9f3ca34950,f13fa1e3c7720299f14e3fbdc387c4223382833899d2b3a2e98531480cdcc275,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/financeiro +business.gestor_operacional.report-model,report_model,business,gestor_operacional,blocked,blocked,9,False,045d118ca7a92e2d5c97d9fa6f7407d34c76c96b2673a24e27abfbed5b78e52c,eec17c1cb6e70314bd866690f0409e231f0263bc4dae2c9c53d82536f6cc4355,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/gestor_operacional +business.juridico.report-model,report_model,business,juridico,blocked,blocked,9,False,8575cbbeb6f835f66353e93a26787139f40d8f4f8d98eb33ab0f938c0ee747ce,fd72cd371b1fc086465387d06fb38648a065d07edc2d3c81adc5937881e906ec,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/juridico +business.planejamento_estrategico.report-model,report_model,business,planejamento_estrategico,blocked,blocked,9,False,2455487efe6de08db5facf2c99ce161b4b41ad120684726298b640bf3a4033ac,172c097437885dccec3145b6c42def6524524b8d1a9f8820ddf730935536caf1,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/planejamento_estrategico +business.secretaria.report-model,report_model,business,secretaria,blocked,blocked,9,False,df51f07075142cfab0de8dc410c333739ae03bb99c569dc9032d4ab39377518e,5a0b86d71e908689cc7c3e86682d1be54e9743f0d8fb1d302a0f01174ffb3a2b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/secretaria +business.suporte.report-model,report_model,business,suporte,blocked,blocked,9,False,8fff61678b08a6cc4e6e78e33cc245a5a232cee18ca32484b29931a634433942,bf2e32b622082b93539523a2200b361d7ffcc3294a021d0747a8890f723bc94e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/suporte +business.tecnico.report-model,report_model,business,tecnico,blocked,blocked,9,False,bf71b0e9f7087fc7b658b4a5d8a00054676993eba9066be97a1653e9d30342d7,cad6b93a70baa6f8710e0ca0d0c61bc30741787cfd5dfb3f3fb41d48f21624fa,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/tecnico +business.usuario_final.report-model,report_model,business,usuario_final,blocked,blocked,9,False,a693e8eaed5a20387e014ac9e4cb93f5c1d260163d73a20557e43e737998323c,7e275ab0fc470233d9ec54bfd4df498cd737a35959748928b5ce8d139ce76dcb,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para business/usuario_final +business.acao.transit-policy,transit_policy,business,todos,blocked,blocked,9,False,19d76db924484cfa9c084c1cf51a901f9d3fdbcb276b11a48e00b400131e26b3,ffded0c47cbabb7c7981f3f9517a3ae08a4a320d6ec8eaa71c52a605afb00092,mais_humana.transito.acao,validar politica MCP de acao para business +business.auditoria.transit-policy,transit_policy,business,todos,blocked,blocked,9,False,b264e04b69372b521d3be268fbd79bf5b12589a34d9fe7a0642f333bb0f59c8c,e92dc4e00b86a5796dfec65dc9af74889efc1f10bcfa5b4e58090eed3616e96a,mais_humana.transito.auditoria,validar politica MCP de auditoria para business +business.consulta.transit-policy,transit_policy,business,todos,blocked,blocked,9,False,19250c93933ac1f0d36e4f29a5f781e58bebd581ce5c5983b293791b52c67fc4,5b79291ffe378864cb19a13357b0916eb6e759ed8898aade8df99e044fde309e,mais_humana.transito.consulta,validar politica MCP de consulta para business +business.diagnostico.transit-policy,transit_policy,business,todos,blocked,blocked,9,False,93ee88353075a5ce327c996933a78cce8e400080ceb6c000fe9f19949dd5cab0,921c020ed6a42f77531f59b043d3fced2abca93137d58dd1dbf75373b4885af9,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para business +business.explicacao.transit-policy,transit_policy,business,todos,blocked,blocked,9,False,0834dcf87d607269fc1010ffddbca71bffa725cc8adabe279b5710c97b060c5c,faf8b08dee6581f5c9c39d6c91f919b97ec3f8598ceaf11537a9165a11e7db8c,mais_humana.transito.explicacao,validar politica MCP de explicacao para business +business.billing.ui-screen,ui_screen,business,todos,blocked,blocked,9,False,40c9006f2adf5d7759e9a62f6d99308aa1a944294957bc5b92706e2bea5c046e,002046ffacc6b0e2a0b9efc93fed3166489adcfe1eb587e15a790dd8db948bb9,mais_humana.admin_ui.same_source,validar same-source da tela billing em business +business.checkout.ui-screen,ui_screen,business,todos,blocked,blocked,9,False,944eb00e3c3b45c41b78f08ee435e9d54e273d352856779d4df752b2db7540d1,21d7da93042d1915c3c0b6795651fc0b5229ad8f7013e00bc7218ca2d9c3693e,mais_humana.admin_ui.same_source,validar same-source da tela checkout em business +business.commercial-readiness.ui-screen,ui_screen,business,todos,blocked,blocked,9,False,8221accfda361b02ba948b59465e5f1aa3eb9cd20939177b558c791936191081,1e48745608947787d1498e3727344ff551e1b13dd5ac8ea608f73b1d67414d6f,mais_humana.admin_ui.same_source,validar same-source da tela commercial-readiness em business +business.consumption.ui-screen,ui_screen,business,todos,blocked,blocked,9,False,522326e8d5e5c3896590ce680a8be316471acf5ee2a4564d05982d3e59430e73,2f02ede2079041caa0fb4148bfa679b4458d42677fd693f22639ac2625c2d67b,mais_humana.admin_ui.same_source,validar same-source da tela consumption em business +business.entitlements.ui-screen,ui_screen,business,todos,blocked,blocked,9,False,cc552b25bb0aedc336e057aba8526d1c1ae66c3e15df237b63865c9b2428b99d,d45f5085316699750adc15ac00e65d3bb385a07c909e3aca156f5abf2f67ae86,mais_humana.admin_ui.same_source,validar same-source da tela entitlements em business +compliance.administrador_empresa.provider-tool,provider_tool,compliance,administrador_empresa,ready,live_write,100,True,d5581cb4b2f8e04c4daa1265ad15e4ccab0a3549ea5e2077bb6daf8f166f6692,9595d19be7346e69f779802a6abf87c812e38166007a562c150edb4c8d0103fc,mais_humana.compliance.administrador_empresa.explain,publicar e validar tool MCP para compliance/administrador_empresa +compliance.atendimento_cliente.provider-tool,provider_tool,compliance,atendimento_cliente,ready,live_write,100,True,5ca5cd37aab29c9e3bae9f2caf2a85819d2fb018a97a97d129d3759b1cdf968b,badad890159eb39e9683ad7fadb764755a5f3fae15cbbccce67fe81bd802d984,mais_humana.compliance.atendimento_cliente.explain,publicar e validar tool MCP para compliance/atendimento_cliente +compliance.ceo.provider-tool,provider_tool,compliance,ceo,ready,live_write,100,True,06fc69170da7f478e5f80d852130cb7367f11b05684c59f7cdc42eadcf3bed1b,c23dc28ae9f07abc933b7f94570008518e6d29ebc6ed38b264c3293251466f0a,mais_humana.compliance.ceo.explain,publicar e validar tool MCP para compliance/ceo +compliance.cliente_externo.provider-tool,provider_tool,compliance,cliente_externo,ready,live_write,100,True,2218a632c4aaa22e24cd6c76edef9777b32ef91a44071fdf140ced78f88ff8a9,cd14bd2049d2af1b95f65f67dfbb7c6617d5869ad12dd1be99006b838bca9967,mais_humana.compliance.cliente_externo.explain,publicar e validar tool MCP para compliance/cliente_externo +compliance.contador.provider-tool,provider_tool,compliance,contador,ready,live_write,100,True,d00e20d587737d995c4dd4d3146de4b2ca1cb2b187da3ec1622635c766f01c92,9023e8a93a3bb7b44f17336be24ee58aa68adef813ed5ffc22eb86824d298588,mais_humana.compliance.contador.explain,publicar e validar tool MCP para compliance/contador +compliance.financeiro.provider-tool,provider_tool,compliance,financeiro,ready,live_write,100,True,6dbf1baec01ff39cd990645b423ec557626ba549af5726409ab9567d1619872e,7355c9276cba6b5c4018e25d1b9d40ee0741a07dd37f2bfb64d25153f4d2973f,mais_humana.compliance.financeiro.explain,publicar e validar tool MCP para compliance/financeiro +compliance.gestor_operacional.provider-tool,provider_tool,compliance,gestor_operacional,ready,live_write,100,True,b9fa380c81e901887624c2714a4883212f6dd31ab756e739fc3bdbe6bad6754a,b25d00db27cc64fc6f659844c7727aa96831a82ffd26d356edf1e19ca4faee2f,mais_humana.compliance.gestor_operacional.explain,publicar e validar tool MCP para compliance/gestor_operacional +compliance.juridico.provider-tool,provider_tool,compliance,juridico,ready,live_write,100,True,4c723eb98897fde427635692030af30f5ac51c75256c373536339c73f25c85cd,7ecc94a422bb94b482879bcc158856b1a61f83ab00219080834b6dc9d225de3c,mais_humana.compliance.juridico.explain,publicar e validar tool MCP para compliance/juridico +compliance.planejamento_estrategico.provider-tool,provider_tool,compliance,planejamento_estrategico,ready,live_write,100,True,43d4740235d0c772fcb8a766fe0d5ea60bf35636cae107a26564f4d2b81d2f2f,2dca5f0eee06702afd7be61c54c551364d023818b54f33d1ac2ee2eb111eee7d,mais_humana.compliance.planejamento_estrategico.explain,publicar e validar tool MCP para compliance/planejamento_estrategico +compliance.secretaria.provider-tool,provider_tool,compliance,secretaria,ready,live_write,100,True,60afb1d570ce3fed904af68a1dbf43fd8b54667c2b7180f74fe0a60f1d301f14,0dca0afce8580e28873147a379d9cac18718b99ec7b48cd46c20e4e444c07bf6,mais_humana.compliance.secretaria.explain,publicar e validar tool MCP para compliance/secretaria +compliance.suporte.provider-tool,provider_tool,compliance,suporte,ready,live_write,100,True,2112546a673c011349e9f739327ffe7dabac4cc116099444ec5eeb8d6ca5f7cd,6c3cb1fc7fe128413df15eec51c3369b2bb1223eaee15d564f6bca0573cf10b2,mais_humana.compliance.suporte.explain,publicar e validar tool MCP para compliance/suporte +compliance.tecnico.provider-tool,provider_tool,compliance,tecnico,ready,live_write,100,True,a18fe84f81b8318b26c421048d1988c321618f2cd6a2042e6468849f4185c6b9,d88c9babcd7c9eb78143a9c0f19ff54753d69073c9bbd9a3d01578a3f94e10b8,mais_humana.compliance.tecnico.explain,publicar e validar tool MCP para compliance/tecnico +compliance.usuario_final.provider-tool,provider_tool,compliance,usuario_final,ready,live_write,100,True,c81dee2633b502ba4a2549e6ce0e26ea90c1366cfd76a74e96923f94b789561d,bdd463a68ae24de0adc2bb868de07c56c8cf7884dd8b2fcf63a4d0368d4c9342,mais_humana.compliance.usuario_final.explain,publicar e validar tool MCP para compliance/usuario_final +compliance.cfat.redaction-policy,redaction_policy,compliance,todos,ready,live_write,100,True,6b07c0279d30221b578657021952b588d5fcd97a19b4cf48dfe00b723d02f51f,84324fc647874cc21d0bbf18e08d18b9f6a01b1c8dc5a3471e2eeaa801edd886,mais_humana.redaction.guard,executar varredura redaction para compliance/cfat +compliance.credentialref.redaction-policy,redaction_policy,compliance,todos,ready,live_write,100,True,44c216268d2936e7f533dafd8f1d26ee19d2348210be3135fad6efad3367600c,1e8f970ee9cce238b0ce33d5da75c08ce4ff42a90e5ef4acef3407dc79099383,mais_humana.redaction.guard,executar varredura redaction para compliance/credentialRef +compliance.secretref.redaction-policy,redaction_policy,compliance,todos,ready,live_write,100,True,db3adad75aa37fa117fccf2782b51f4633b46cab1c98a1fdb852879ba5548026,ed0d6d35fa87a46978ffea9096aae304b5e2eb5f0321c353576fda5a2d25dcef,mais_humana.redaction.guard,executar varredura redaction para compliance/secretRef +compliance.tokenref.redaction-policy,redaction_policy,compliance,todos,ready,live_write,100,True,a5c560fc4edd9f61c416e2f9505e509ffc1c7643eb3cc80960b75d18f71b60b4,acb43f555f5bbdf78729be7b7a26f58a45fdaab6b7623a9d576048b16e4c5d4d,mais_humana.redaction.guard,executar varredura redaction para compliance/tokenRef +compliance.administrador_empresa.report-model,report_model,compliance,administrador_empresa,ready,live_write,100,True,68126e7c11c34b5d6b1b881297e7e401947b0b18035724bf6af18aac8b5faa95,9d8f34d37e1c4c707d72878aef7ce7f6873aa897d291fa215c121a950f693567,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/administrador_empresa +compliance.atendimento_cliente.report-model,report_model,compliance,atendimento_cliente,ready,live_write,100,True,b9fb21561ef6f4c431b474b2b0819351ef7b6c80f94d117a7d80dbcfbbebe5a9,ba61bde02a1c59b4ac9c6fc64dcb212dc28a537b647769af4caaccfa2db88681,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/atendimento_cliente +compliance.ceo.report-model,report_model,compliance,ceo,ready,live_write,100,True,92fec29d2eba44fcfa6795060b4aae210df860b0f067572987df6d85a8b9dbd0,b3a637d06b4501ad434dd32d5fb17abe3410b2c166e736ad3d2eb18cb10687aa,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/ceo +compliance.cliente_externo.report-model,report_model,compliance,cliente_externo,ready,live_write,100,True,d90ac6d14db6cbb3e47197903bc41916a7c770448042385a4811cb018831062e,2a834449913db8d41e98e3ee254fecca7abb6909f0f23b9c16c25a4f6fb25572,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/cliente_externo +compliance.contador.report-model,report_model,compliance,contador,ready,live_write,100,True,b353448ab3f85cc861cac95131192146bcb6fd0b25e16e94bba755a7f6a39d6a,6ba3f4b22d4d247142f3ba4a0cd68fd06e81f7ee349c86660bdb4e579318f21a,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/contador +compliance.financeiro.report-model,report_model,compliance,financeiro,ready,live_write,100,True,444fe3ef69d9143972b2a718f66b126341c594cf47fca369e7e5e6bfe7027a11,ae8f44327727bda5b1da73b199b8bb412cb5ee2245601bd56048f8952172e201,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/financeiro +compliance.gestor_operacional.report-model,report_model,compliance,gestor_operacional,ready,live_write,100,True,0a60a2cb852b3580703f1748252a349e4ab65e5a5ea030e07d7cbe87bce3068c,d25ae15ead141cf9d1d504f23a4767993ef6fdf9b5c8e856159ac1bb727547f8,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/gestor_operacional +compliance.juridico.report-model,report_model,compliance,juridico,ready,live_write,100,True,96db2cd0fd8fc47324c685fbf434f399386304abbedf556f8842b86a92e1cde3,e63d3a02777838075fe375a50800081a9c7b41ab73a0a70955822d6ca3a3fe95,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/juridico +compliance.planejamento_estrategico.report-model,report_model,compliance,planejamento_estrategico,ready,live_write,100,True,0bff039e00cedcf7649ac954e9e48f69f908ec66f2c882618163b67a172824cb,86ab56f14eb22d4db24fb5bbeef5bf8deff4e7b6af0930c5598ca418fb88ec0a,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/planejamento_estrategico +compliance.secretaria.report-model,report_model,compliance,secretaria,ready,live_write,100,True,3566a0956463883b49fa2d746cd0177b6b04defc6ec2c0c7999455d2d06ba91c,65ab0c251e2590062ad29226d0d95f28b006673b217a33e008767dca8e77ef9c,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/secretaria +compliance.suporte.report-model,report_model,compliance,suporte,ready,live_write,100,True,1a8b59449ce3c6057c124bc1e0b5ba34f183aa5b1302123908b2241780078aee,6f8b9e4eecda594ea3cbcaebd18a5e4fc67a80b46940127138154a540d685207,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/suporte +compliance.tecnico.report-model,report_model,compliance,tecnico,ready,live_write,100,True,217b6a0daa4f6dc6a1d372525fbf3e024bac5bbadb1b081102a6ec91ad9ded22,a0529bb1f12e1ae22ef899e66553e267cc44634047a2c56e70a69972b53cee53,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/tecnico +compliance.usuario_final.report-model,report_model,compliance,usuario_final,ready,live_write,100,True,ebe64d108a7ecfd34d2087874bb07b0089da522823e62c9a6510a4b2dcd0c8ba,521b17b0853e846abc4bed4dda6c1a576031aad2d58eb686177e55470e1c8035,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para compliance/usuario_final +compliance.acao.transit-policy,transit_policy,compliance,todos,ready,live_write,100,True,cb62ecab06555e1576a007ff8084e772908f86662f08952efd073717b8899437,23ebb3ed86c85dda365ee1076d3aae0741bf95bfa4666f4642ee1db729914c23,mais_humana.transito.acao,validar politica MCP de acao para compliance +compliance.auditoria.transit-policy,transit_policy,compliance,todos,ready,live_write,100,True,8ca07fc88a97680c8d33ffe80ec5c8966d5231455bd2d90fcb2801504b8aded5,12b2531ebd62e9a4f519b4eba84ea9b94ade37c3006009422fc8d7c3e549261d,mais_humana.transito.auditoria,validar politica MCP de auditoria para compliance +compliance.consulta.transit-policy,transit_policy,compliance,todos,ready,live_write,100,True,55caf793d588e02bc10c25f8c82a6f551ade2b3cef65bbd2f30ef0d8ff026f04,f1cfaf3e137ebedf9f1018910770fe233f352bd3ab79c6c9852fe532cda2ad4f,mais_humana.transito.consulta,validar politica MCP de consulta para compliance +compliance.diagnostico.transit-policy,transit_policy,compliance,todos,ready,live_write,100,True,43b9170b0c0f2575f3e28a1a1bfdf26bb990a7eefb16b5d26ac936d5871393df,b3b4e8eb9dbfcc30c811517e71741ae7a82b13708acb4c9c7d52e163963a8de4,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para compliance +compliance.explicacao.transit-policy,transit_policy,compliance,todos,ready,live_write,100,True,67fc0e96200d45da3d82e644e1409ec274080256f52309f37be7f3ca17088f80,27fd060577ff41d3ac66fb737ee41274f453e0616e2d26fe0514a3b8bad748b7,mais_humana.transito.explicacao,validar politica MCP de explicacao para compliance +compliance.audit.ui-screen,ui_screen,compliance,todos,ready,live_write,100,True,95a89c1cad553ef8e077298cdd7746a80aa0b99997a9cb6017022b2d146ee04b,81dbb5267dbe74ae61ee50eff8687e4012ae2f639412b8965cb8f29b548e0177,mais_humana.admin_ui.same_source,validar same-source da tela audit em compliance +compliance.consent.ui-screen,ui_screen,compliance,todos,ready,live_write,100,True,af7d26a45d75d573afd5b832bf875d54ac50fb38e9eccde29247c93460fd004e,6a9af3986bba946386da6a860aa4ad1360286cde987a910ccaa251f061002909,mais_humana.admin_ui.same_source,validar same-source da tela consent em compliance +compliance.privacy.ui-screen,ui_screen,compliance,todos,ready,live_write,100,True,52c9b25c7b7f1217aa78a5aa66b18a10ebb73f9f9af0fee7857b1fd50f143374,8b1075ec606d0a36f445de86bc7c82def5df5e68bb2d156227ed5dbb3262cae2,mais_humana.admin_ui.same_source,validar same-source da tela privacy em compliance +compliance.retention.ui-screen,ui_screen,compliance,todos,ready,live_write,100,True,67bf96f32954e756c8dc4fd0f757ad4a9cc2be45bc3f2fd26bb1e03be4cf3b47,edccea61255f0359e2f2f3bbe31d2091fa2219756116243839c79d8e6e0c7853,mais_humana.admin_ui.same_source,validar same-source da tela retention em compliance +compliance.risk.ui-screen,ui_screen,compliance,todos,ready,live_write,100,True,7b5e9f17115a6df1b1d9670421f93a0ff5364a72ddcfaa41e1fcf03dafe97ee5,7bfeea7ed4a7eec26bb82eb1090b8ae65e1b7f3b7794e3647ee9c95140c9e559,mais_humana.admin_ui.same_source,validar same-source da tela risk em compliance +customer_ops.administrador_empresa.provider-tool,provider_tool,customer_ops,administrador_empresa,ready,live_write,100,True,51c20f63e5f6e59e39a86ece3e38bacb5c3cbb56b9e5c4522c2d874e5c31212c,28078cc3fb28265fc42fb26ddc92742644554f6f0bd938060d88fb91fb761ca1,mais_humana.customer_ops.administrador_empresa.explain,publicar e validar tool MCP para customer_ops/administrador_empresa +customer_ops.atendimento_cliente.provider-tool,provider_tool,customer_ops,atendimento_cliente,ready,live_write,100,True,e0d58ae5d3ba506918460406717176c1f4fcd61d96e6a0cc9f0b911338fd0f16,3d7e9b5e11f7e9f1f4e72dc77206afb7c8af588dd4e77b4ced0f4d93f5edbbf4,mais_humana.customer_ops.atendimento_cliente.explain,publicar e validar tool MCP para customer_ops/atendimento_cliente +customer_ops.ceo.provider-tool,provider_tool,customer_ops,ceo,ready,live_write,100,True,1bb5268fb8af10ec79b6ea347765e942ff0c861bf51556133d3fd964f33b755c,f2e9ef3545db4d88127d52122e32d40453dc380f37d2219d93f352ee3862ba76,mais_humana.customer_ops.ceo.explain,publicar e validar tool MCP para customer_ops/ceo +customer_ops.cliente_externo.provider-tool,provider_tool,customer_ops,cliente_externo,ready,live_write,100,True,35b627f8330a1b586cd1ee27a0fcb2a95af9c0b57c87b53ee444eaa7b95cd0ac,c93287eaa7a74e8ce1d7ab172c64ed5be8909158f31257bf7ba40e4b5e16989a,mais_humana.customer_ops.cliente_externo.explain,publicar e validar tool MCP para customer_ops/cliente_externo +customer_ops.contador.provider-tool,provider_tool,customer_ops,contador,ready,live_write,100,True,7f395f489120f80fb3672314435e69696a6456eca0715c8c76935649bc97f130,0699aa1170c21fe6111112394cdaae77b5b26f3edae3d174c119191c41cc9c5d,mais_humana.customer_ops.contador.explain,publicar e validar tool MCP para customer_ops/contador +customer_ops.financeiro.provider-tool,provider_tool,customer_ops,financeiro,ready,live_write,100,True,cca88f3b48ffb380efa46dc0c6645bdb7d9df2ce8064bb9172bc65bd7c888db9,2f9a04b8c2a94d00d25c9625996a5fec3320018ffec5e46e04791b54f0248058,mais_humana.customer_ops.financeiro.explain,publicar e validar tool MCP para customer_ops/financeiro +customer_ops.gestor_operacional.provider-tool,provider_tool,customer_ops,gestor_operacional,ready,live_write,100,True,da2634ef758c6143455fa96cb12aef267a8969655346adc84c064eadb9621971,530ee0b71706ec7a221f6de5f810682a756439be5613af0fc6c53027c222e557,mais_humana.customer_ops.gestor_operacional.explain,publicar e validar tool MCP para customer_ops/gestor_operacional +customer_ops.juridico.provider-tool,provider_tool,customer_ops,juridico,ready,live_write,100,True,99d9c2f70a42272598aaa1959bc7108640fbb922c29b6baf60ee0dde7e680fb0,03d77db4ac2709abe1c2a9f2faa3053093519638c67107669ffb7ed6dd24e96d,mais_humana.customer_ops.juridico.explain,publicar e validar tool MCP para customer_ops/juridico +customer_ops.planejamento_estrategico.provider-tool,provider_tool,customer_ops,planejamento_estrategico,ready,live_write,100,True,f4d0441279e4d57ea189866bb9e948d5f8c4ea7dcc92257ad022b17443898b84,a8a62b448934d0eb649355f27b6c47f7026ccb20030ab6c322e1c19733f507bd,mais_humana.customer_ops.planejamento_estrategico.explain,publicar e validar tool MCP para customer_ops/planejamento_estrategico +customer_ops.secretaria.provider-tool,provider_tool,customer_ops,secretaria,ready,live_write,100,True,db767d9d1c7d8b4361364ee26b7294d9c56174724d04f7d6823676dda3661e84,9eb97cc44bb66c2fa8f42717d741cc038f923203a847f77a14bcfc21448af241,mais_humana.customer_ops.secretaria.explain,publicar e validar tool MCP para customer_ops/secretaria +customer_ops.suporte.provider-tool,provider_tool,customer_ops,suporte,ready,live_write,100,True,9824db2ea03aee4935dd80aa0ae8088ff81d08ceda88007a5a80a23d7d424bcf,70d28c81a13df226149eb0c8264d5824beb196b6e4aa5797fc078abc30a96cdc,mais_humana.customer_ops.suporte.explain,publicar e validar tool MCP para customer_ops/suporte +customer_ops.tecnico.provider-tool,provider_tool,customer_ops,tecnico,ready,live_write,100,True,e4525dd8a29c0196f61b2804e3dd04665e2b038019b75a187e70e8685664f921,1cd425551468178d65453129423ba77645ce96a1adb6e1a1749e10bb39099b6a,mais_humana.customer_ops.tecnico.explain,publicar e validar tool MCP para customer_ops/tecnico +customer_ops.usuario_final.provider-tool,provider_tool,customer_ops,usuario_final,ready,live_write,100,True,d0a95416815c4004aa162f6492d0eeac8278aa8fca8270dd31186d735e865cd8,55279e61ac0860b9b9322c8e982e580aeafc695ef393f90c4727e25bb0a3d4b2,mais_humana.customer_ops.usuario_final.explain,publicar e validar tool MCP para customer_ops/usuario_final +customer_ops.cfat.redaction-policy,redaction_policy,customer_ops,todos,ready,live_write,100,True,944fb7f6c323a86923fd61623f10222a1e2df26109f10fc6e722eb71b9098296,980ad8f50ae85fdddc8b60731ed23661ce17987a56362261af01fc1194854fe4,mais_humana.redaction.guard,executar varredura redaction para customer_ops/cfat +customer_ops.credentialref.redaction-policy,redaction_policy,customer_ops,todos,ready,live_write,100,True,1ecf7f79ada21a54307e1d946369621ab3e7de4cc4e995ce6c8b84be855bb9b4,a6a82e24402acdf10afd0d159cc677f1cdd64361f38bf5e98c1936e825f81295,mais_humana.redaction.guard,executar varredura redaction para customer_ops/credentialRef +customer_ops.secretref.redaction-policy,redaction_policy,customer_ops,todos,ready,live_write,100,True,6f46e82ccfea22d0b184c3de0f26bc9dc8f4e85e5527c5c66216af1f521772f1,94085b3c2300d160248caebbda33e4c3ce1bd44d2eee97fcee4edabb1b667316,mais_humana.redaction.guard,executar varredura redaction para customer_ops/secretRef +customer_ops.tokenref.redaction-policy,redaction_policy,customer_ops,todos,ready,live_write,100,True,4294d40231ffbb339c589b3abcff2971d9793d62a29d2298abff92b9bb91b9ed,5c0d2046bd4594763181a159a64334d7436e394492ea658a6cfc4ed6c209d849,mais_humana.redaction.guard,executar varredura redaction para customer_ops/tokenRef +customer_ops.administrador_empresa.report-model,report_model,customer_ops,administrador_empresa,ready,live_write,100,True,59ee8a9a0cd2207dbe22163af061bf86f885a9c1e0471679343d472ca31c3e9c,8dab648bf7a2de22846141f20a2365850d6d68a80534bc76837e6783bfa0a60b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/administrador_empresa +customer_ops.atendimento_cliente.report-model,report_model,customer_ops,atendimento_cliente,ready,live_write,100,True,60d28d9b9a6570efe1eb5942852a9de2892f883494b45a99f49a49c41c6a61c8,3980d54777c94fd51566f5f275bdba838b422f67dafdc8f1751feafe5fc4afdc,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/atendimento_cliente +customer_ops.ceo.report-model,report_model,customer_ops,ceo,ready,live_write,100,True,618bc1a5a9c3c4ffe30b77f6417add6b2e3bdf73a4e3c3f2b63523c95bc7b451,efb11dd99ef6d54ba8b17f913b9c0449c66ce6d64460d92af4af098d224166c7,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/ceo +customer_ops.cliente_externo.report-model,report_model,customer_ops,cliente_externo,ready,live_write,100,True,a4fdb07e2b463abd0ad07a545bef1e2a0f372a1a554bbb4a166079aaf36a902d,ae0276188e63d66c06cd4a6f2cd2e60986f17a5e98f2583b05a6837648f03187,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/cliente_externo +customer_ops.contador.report-model,report_model,customer_ops,contador,ready,live_write,100,True,f4cf247576f06e7eb6eab1f62b5ee0b3ef455d220d7af332a841111e6e0f3d65,148f92491cabdf89931ad1631f399f3b81497ee62f48a6bca7ee4414b7a17ccd,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/contador +customer_ops.financeiro.report-model,report_model,customer_ops,financeiro,ready,live_write,100,True,34692cbddba72b8bb14b147f20b82d433397af34d73cc8543f735a0c3d8b888e,d7db0819d0a3936056fa866848a8c034bbc67a530c152013ab680397513ded90,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/financeiro +customer_ops.gestor_operacional.report-model,report_model,customer_ops,gestor_operacional,ready,live_write,100,True,2e6a689b99bd93f4d3cd41c84b36b0d2a3165e7a61a2eee07808d80399387de0,97ddd6ebdcf6799147b1558e63c593cdce9e4ef7d0579b8019abbf980a32cccb,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/gestor_operacional +customer_ops.juridico.report-model,report_model,customer_ops,juridico,ready,live_write,100,True,88ac64028154c96c48c78d58d22a38fe2bcb8caa415da9de8855327681c46bc9,14050a217e11ef4721773b06dd3dfd20264a4c0e4f8f98b81266be7b5919544e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/juridico +customer_ops.planejamento_estrategico.report-model,report_model,customer_ops,planejamento_estrategico,ready,live_write,100,True,8f19094de9fb48fefbd599fc5af81e4f05cd95958834869958cf43cdf030961c,5735a4813f000a3c683697caa7bf29e13f6ed5c6e1983992a748d6c654493419,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/planejamento_estrategico +customer_ops.secretaria.report-model,report_model,customer_ops,secretaria,ready,live_write,100,True,7f6af16648e5d4b3c4682ad5df32075421df7f374b09b4089eae86e2a2e20356,3f09cf8d497976448745fef44db34254801bc7e566d0642628c82738660be0c9,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/secretaria +customer_ops.suporte.report-model,report_model,customer_ops,suporte,ready,live_write,100,True,a5048a1da20de3b19af3fa0491f5636683d4341576ceb2197ef209e84e2dbe0b,0500c3e061699f69d33c9b84bcf756624251d96f0d0b908be65eff9e598381d7,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/suporte +customer_ops.tecnico.report-model,report_model,customer_ops,tecnico,ready,live_write,100,True,03f63351cf92532cadb9d9ca41d20ae805ade240fab7298ed4acc81497d6c366,fb8ba8936276a9138eef0ffa039ab0cb956d2f038d7dd3d9461e419c55629375,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/tecnico +customer_ops.usuario_final.report-model,report_model,customer_ops,usuario_final,ready,live_write,100,True,af2fd95c65ce657612830f5a975450dabc15f9c9ae1d525d219ee37d4e2e2a15,4cb817954b4c6e85b3cc5351e27e383f2522e36e90e22bef62c3443ae794a205,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para customer_ops/usuario_final +customer_ops.acao.transit-policy,transit_policy,customer_ops,todos,ready,live_write,100,True,30cfb58bb16368998d6120c4691648593b199ca43561e714213c6203da46b711,735734795c88c01dc8ba1b6612dc4499312d4a21c745224e6224249f806695d9,mais_humana.transito.acao,validar politica MCP de acao para customer_ops +customer_ops.auditoria.transit-policy,transit_policy,customer_ops,todos,ready,live_write,100,True,4d27c0a98657346964731eed7aab6a294b5388d08016f5e8a9002c436e3fa3d2,5a6486d67b841b90b2aee79d7127caaa668d08c24a6d472eab910e28a7f14266,mais_humana.transito.auditoria,validar politica MCP de auditoria para customer_ops +customer_ops.consulta.transit-policy,transit_policy,customer_ops,todos,ready,live_write,100,True,199f3287f8b1723bc288f05cfb62bd3a287aac63bb31d288023d6d54de47724e,beb669b2d8e9fb914838ee041fae40c933d9762e821fdd141eafc6234d459a69,mais_humana.transito.consulta,validar politica MCP de consulta para customer_ops +customer_ops.diagnostico.transit-policy,transit_policy,customer_ops,todos,ready,live_write,100,True,b63cc7772d2563fb0beb2279382a524fdf89b6aeaf588136001b006c8f6ee7cf,65a59e756132a75122991488b091e1759fd9d1a2b584d0456d2eb73e72a0efb9,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para customer_ops +customer_ops.explicacao.transit-policy,transit_policy,customer_ops,todos,ready,live_write,100,True,4951babb0d4bf642546f1596a08b73b42ad5d6d3a8b68100dd4d8103e2b19a95,305b08f600197112201a6d647b43d9f2fdc4cd4a40c9be9caca1c6daf880e81d,mais_humana.transito.explicacao,validar politica MCP de explicacao para customer_ops +customer_ops.customer-status.ui-screen,ui_screen,customer_ops,todos,ready,live_write,100,True,b296584a5cf050eb7a1869fc1087ecf6eb590618c4751826af66431e31ac88c0,9a97abceb31e8b8142456bc7ad42ed35f63eb98f50432338f8a577e3b52d4270,mais_humana.admin_ui.same_source,validar same-source da tela customer-status em customer_ops +customer_ops.diagnostics.ui-screen,ui_screen,customer_ops,todos,ready,live_write,100,True,305c01f0e0c52933838548e7d8b060bb102f79d98c358b183136d504f6e7c41b,616788562999afcffd0f9a9f26579fd71d3bdc55dffe5d9123e7d004670aac17,mais_humana.admin_ui.same_source,validar same-source da tela diagnostics em customer_ops +customer_ops.handoffs.ui-screen,ui_screen,customer_ops,todos,ready,live_write,100,True,79f628e0da40f08e64fdb68ab45debe389cace4b70d6f1345e61056282d139cf,f015b1f71d6139c6577eda632ede617088c0f6c5ade06e6f16441aeac0321fd0,mais_humana.admin_ui.same_source,validar same-source da tela handoffs em customer_ops +customer_ops.incidents.ui-screen,ui_screen,customer_ops,todos,ready,live_write,100,True,40fd239ff5cbba8e23d96bdac437bc4ab2c1e74a6cd35fcc514b91dbea866fe7,1466d0fd752779a78e468a92fa396afb07972f4e0d48aa11f589db9b600c6ce9,mais_humana.admin_ui.same_source,validar same-source da tela incidents em customer_ops +customer_ops.tickets.ui-screen,ui_screen,customer_ops,todos,ready,live_write,100,True,1074db5f0921b418c5e4a6913f1baea3cb8dfca1ef0d8abfbce53d8a8cbf9235,e1679260202e5e73aff7d249794260535cf84dc9824385f9920bbf0cbdebb066,mais_humana.admin_ui.same_source,validar same-source da tela tickets em customer_ops +docs.formal-exception.docs-catalogonly,docs_exception,docs,todos,formal_exception,formal_exception,92,True,80b21a1c5151b46b6fabf25ce0b4f48e1e02b58ba2a35b024f95447021947b25,299637fab3fa11d002b1bede63536c06d6f2d1f2cd112f3fe9228fb41b066134,mais_humana.docs.formal_exception,registrar decisao institucional para docs.formal-exception.docs-catalogonly +docs.administrador_empresa.provider-tool,provider_tool,docs,administrador_empresa,blocked,catalog_only,11,False,f381a4e38f300d518b8315902ef6b0a9908645d314358d9e8e623712fc08bf01,fee66aed2081803c5bd8e313ee18f1ae6148ca7c747ee9bce76e634ae52c7823,mais_humana.docs.administrador_empresa.explain,publicar e validar tool MCP para docs/administrador_empresa +docs.atendimento_cliente.provider-tool,provider_tool,docs,atendimento_cliente,blocked,catalog_only,11,False,172464972bee0afa438521a45d5ac62b0188f6d7849b19f472d409679846c9ec,fae803908bb33c28b9bb9125874c2ec0253f82349b8ddd04c925df5eb7a7061c,mais_humana.docs.atendimento_cliente.explain,publicar e validar tool MCP para docs/atendimento_cliente +docs.ceo.provider-tool,provider_tool,docs,ceo,blocked,catalog_only,11,False,83bc5d8a54fd906b0170256910c4d28c9709e180396896f9eec4dbc4e974b7b9,0846a9358ce9201824250cec3ea71386445e6a110029034de09cbef7f8642b77,mais_humana.docs.ceo.explain,publicar e validar tool MCP para docs/ceo +docs.cliente_externo.provider-tool,provider_tool,docs,cliente_externo,blocked,catalog_only,11,False,7ada48e718d6cb5f82f25a9bc7976bc12031987bd1bb8539bff74bb1ee2d68fc,cc3d4834015a8e75fa47ba94bf57dd695c5888179af91e755806cf7929ab73b8,mais_humana.docs.cliente_externo.explain,publicar e validar tool MCP para docs/cliente_externo +docs.contador.provider-tool,provider_tool,docs,contador,blocked,catalog_only,11,False,36b154e53739067173f4811ee2a0aa7e11d5e57ba29a8ca941687e90ec7eb7ca,0a4ec9169ea107f559c7fbb2b344c37349bcd22687464b23d4342739708c4145,mais_humana.docs.contador.explain,publicar e validar tool MCP para docs/contador +docs.financeiro.provider-tool,provider_tool,docs,financeiro,blocked,catalog_only,11,False,b3e3f41da2ddfb71cafecb65ab9995b9916cc96e3dea48b4261da60a77ab275c,3876ff668f2e1a615dbe93986c919ea8de1eb97072ba719cdf45f84d35f48aa3,mais_humana.docs.financeiro.explain,publicar e validar tool MCP para docs/financeiro +docs.gestor_operacional.provider-tool,provider_tool,docs,gestor_operacional,blocked,catalog_only,11,False,5b37ac519d7ef726865c886ad588748a8998c66dc9c1be396681abb150ae8058,564cb5d77809c2b91bf1a1a1a558098a50e3f458327f41937383ac8e52648507,mais_humana.docs.gestor_operacional.explain,publicar e validar tool MCP para docs/gestor_operacional +docs.juridico.provider-tool,provider_tool,docs,juridico,blocked,catalog_only,11,False,00dd291b7d4a22d02348439091c9f0bfc20db4d7924367228ee4a9e21989d4d1,45d7a1427828f14d9edd12976ccd9b08efc773921e6da6e5514b7dd717416196,mais_humana.docs.juridico.explain,publicar e validar tool MCP para docs/juridico +docs.planejamento_estrategico.provider-tool,provider_tool,docs,planejamento_estrategico,blocked,catalog_only,11,False,3581d97a23d1d32fed87ad6cd39990500e9902a030832b4710816e9c85091a80,7b65a3a1a62f7adda90b264dcd35022c377f944eedfc3fd0c5bf185a70f3e043,mais_humana.docs.planejamento_estrategico.explain,publicar e validar tool MCP para docs/planejamento_estrategico +docs.secretaria.provider-tool,provider_tool,docs,secretaria,blocked,catalog_only,11,False,790c1e1379f2db08d59844729d8f4cc488dcbd41e08f39c39946dedeb900e35a,e954eb65c4d0a96b9323984ce980a07cde2740a6270f1f0cb50bb83df1b00528,mais_humana.docs.secretaria.explain,publicar e validar tool MCP para docs/secretaria +docs.suporte.provider-tool,provider_tool,docs,suporte,blocked,catalog_only,11,False,b9328b6bb08336abb13f28861bce8c93e6b754ccea15c4a4a6413c32d9f76d38,2baae45f3c4eb36626a464197d9343b004b570d2dc37334a062246ac03a6e798,mais_humana.docs.suporte.explain,publicar e validar tool MCP para docs/suporte +docs.tecnico.provider-tool,provider_tool,docs,tecnico,blocked,catalog_only,11,False,c248136221599717ef1a16e962001420dfcb635ba3192934a2f85573a7467175,e518ea8c6b9f8415e3e7d88ad1488430c03da505df071618681d007a05ceb3ff,mais_humana.docs.tecnico.explain,publicar e validar tool MCP para docs/tecnico +docs.usuario_final.provider-tool,provider_tool,docs,usuario_final,blocked,catalog_only,11,False,0ec9ead827b6d3ce624d45ff3c4e984a42796d7311de1b518295d8a1178cfad0,ec1a3dc2d5b813f6e105d3acde9564c3c1a227e2537c8b484dbf40c41ab46d03,mais_humana.docs.usuario_final.explain,publicar e validar tool MCP para docs/usuario_final +docs.cfat.redaction-policy,redaction_policy,docs,todos,blocked,catalog_only,11,False,02d9356476ccbf337f7fe2a83a04a859c704a71b205eb86e182079c3f78ca3fa,a7197d9eebcf1a6e1735c3bdbae989a5066fb8c848bdfd2b77f907164d37a3ea,mais_humana.redaction.guard,executar varredura redaction para docs/cfat +docs.credentialref.redaction-policy,redaction_policy,docs,todos,blocked,catalog_only,11,False,209a7be90427426c123b38895003dd1b0c48fb22a28a86b1fdfe0513b9236c3b,a481e7ac2de2d85fcaba94b7d21fe7debc3f64f9d6c99b90021173394ebe5ed5,mais_humana.redaction.guard,executar varredura redaction para docs/credentialRef +docs.secretref.redaction-policy,redaction_policy,docs,todos,blocked,catalog_only,11,False,aaf9246a2439f8f7865b6f79ef094012a45029bf78f2390a24304cefb404ca67,2dbf94099df226c111f01f9773e196cb11691acaaa4882eb93d06cc3a7e625d6,mais_humana.redaction.guard,executar varredura redaction para docs/secretRef +docs.tokenref.redaction-policy,redaction_policy,docs,todos,blocked,catalog_only,11,False,09ce31b915388a50b3aab0459f2bdf84e875bbeca3874cdd31c7f19f71ce8114,abcb3ce79379de8bb7620001756d81dee512bfbff6e59ed7ddda3f85c269467a,mais_humana.redaction.guard,executar varredura redaction para docs/tokenRef +docs.administrador_empresa.report-model,report_model,docs,administrador_empresa,blocked,catalog_only,11,False,80cfd73f4d9fb9a80a36028156ee434f58b3c819ac36847d31804ae6f6839ab4,e080a05a4637001c1555f544a848fa0c5b01951c16d10efeaef5c74e9ea5d770,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/administrador_empresa +docs.atendimento_cliente.report-model,report_model,docs,atendimento_cliente,blocked,catalog_only,11,False,4b143d312ce6de493bea7a04b00d5f7c80aed325dcb48b67e19fc66d15aa71af,77f6c2bb0ac0ae52cc76994313cbbca17255347228351eb42c87159356dbf9a5,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/atendimento_cliente +docs.ceo.report-model,report_model,docs,ceo,blocked,catalog_only,11,False,4d5aa52da15d693ee819366ac6c9d84cc579127868fcc418cc069c3c703d4f87,0834ae42b5141914833c6c1a4eca5321543ad44f4820804f42935ea1eb4cbe1a,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/ceo +docs.cliente_externo.report-model,report_model,docs,cliente_externo,blocked,catalog_only,11,False,ff2be60b432f1894d60b77f666fbf885720db82a1d9cf4fe80c21ac2ba945633,ec2a51ed31a966dc176f354a53241b2d5c598aa7453fe8e53d9fccf6cb68b073,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/cliente_externo +docs.contador.report-model,report_model,docs,contador,blocked,catalog_only,11,False,a4b921443ead6d1e2331bd9c765ab1646fdd23baa471b5bb2477d3d6e68ac666,3891d17789121ee3163019fc3010f365c29fb0827d5d55f83bc10e02c149c2ad,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/contador +docs.financeiro.report-model,report_model,docs,financeiro,blocked,catalog_only,11,False,ce78e8b9487ea48ef15e1118b4c3ce8398251059d7caae91b7152040a8abe903,cdb8f7ccdd85043f447d9f46e00a951e6c7ebbc0db908c51b4c2d5d9604fab20,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/financeiro +docs.gestor_operacional.report-model,report_model,docs,gestor_operacional,blocked,catalog_only,11,False,9c37ceb03d881aa7089dfa72f643132ac5d6cf5b2eb84b829b2f2978150c24b5,9007715cc6093d8f65b48898234c1be49d81c679896cc499d1a85795defd12f4,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/gestor_operacional +docs.juridico.report-model,report_model,docs,juridico,blocked,catalog_only,11,False,30dce0ec5e85196bac8fcf678fcb983bb2a9325eaefb623abce1af3414f071c6,e18a21f6e06ac4a276d6eaf96737ffe113652f49030a8a1e38ae8e42995319b7,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/juridico +docs.planejamento_estrategico.report-model,report_model,docs,planejamento_estrategico,blocked,catalog_only,11,False,c0b855ddf612611ce634c3dd840d930d7fef3223a80379140a96966c38d66b7e,0e2cf1ea0fc21cce30ec7532470577329f900ea0f4b331a5605aed803da787b5,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/planejamento_estrategico +docs.secretaria.report-model,report_model,docs,secretaria,blocked,catalog_only,11,False,caca4f64cc412cdc27d60006b750a7dd411092fd24632e36c42cc070f6a54015,6395dadbfe3d81d634ef24a6e23474d31b8c7aca898d266dcc505cb9f3c53974,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/secretaria +docs.suporte.report-model,report_model,docs,suporte,blocked,catalog_only,11,False,604836d52b2f67de9581971f01769ecdf902ce1c915cac19a3a4cfc95f9827dd,78038f3bf1498a8b5013a876873f519663388c7ce56000baa0b89c6d3314e8d9,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/suporte +docs.tecnico.report-model,report_model,docs,tecnico,blocked,catalog_only,11,False,438571dba792bdb449f8abf99fc36d497fb2a82a5b96386c59c77c54edf5be53,9a148bededb2687d19ec887eb077c58c1b143fff1658b7a7c9f5ca7d9c259de8,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/tecnico +docs.usuario_final.report-model,report_model,docs,usuario_final,blocked,catalog_only,11,False,78af1c17cd725be5f7bdc1d4efdb43125e70815c48bea6a9426218609c781822,4537e219c4e668683a228ac588f95806360087925f6a0ae3b885804bee3264ba,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para docs/usuario_final +docs.acao.transit-policy,transit_policy,docs,todos,blocked,catalog_only,11,False,5d89c98585b324ce2f534b433eb9b52dae8ea45ed3dda17b6dd447bd23af721a,d5f1d72b77357fab9bf5a85c3de8d3e8e50b12cff53807a37e4de6517f044621,mais_humana.transito.acao,validar politica MCP de acao para docs +docs.auditoria.transit-policy,transit_policy,docs,todos,blocked,catalog_only,11,False,f9c15b5fe4dd6b6e2aece479b8de1668dfbcaf57f5c00f718bf84835dbe51522,37c805f26e8134bf07d3875b5ac6430d01532e1c5753ca04d4c8a9f1a05e699f,mais_humana.transito.auditoria,validar politica MCP de auditoria para docs +docs.consulta.transit-policy,transit_policy,docs,todos,blocked,catalog_only,11,False,e9760fd906de0ed3ccee977297ba76b1266e7715602302b2dcfb9b3120527198,e945057dfad7f49d0243d015f92e222b2f7c280721ac9095ccb3637f5ed27a0c,mais_humana.transito.consulta,validar politica MCP de consulta para docs +docs.diagnostico.transit-policy,transit_policy,docs,todos,blocked,catalog_only,11,False,ce400c790217284cbfd69e3d1e3fc8af6fd75c20526d020569f46176a8f37e2a,5d2ab64c3bc63707b55758f626c7d94a9a4ef9294f7301e623bb9ac358932147,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para docs +docs.explicacao.transit-policy,transit_policy,docs,todos,blocked,catalog_only,11,False,d6173775088179155da791faff328015a96829c0448a35bbf2ff4bb3f134a71f,4a2ada38417ef8b3c99ee11930eab01e64d8cb77c1ba872642e2d7a57f8365bc,mais_humana.transito.explicacao,validar politica MCP de explicacao para docs +docs.canonical-docs.ui-screen,ui_screen,docs,todos,blocked,catalog_only,11,False,fb4aa2cf0224bae7a95cba3a53eb9e6168ef8a9dd8ed5a39d946728e3321a55c,c2753b2533ae7ad688f37da1e35ec21d449212831bccfc1fcc2c338254372ca0,mais_humana.admin_ui.same_source,validar same-source da tela canonical-docs em docs +docs.contracts.ui-screen,ui_screen,docs,todos,blocked,catalog_only,11,False,d68ce4cd38b884bcc2b2b0d2f1567f299e3531c9d1c24ed1e43008efe288c8d8,30401592417b7876ee4e9ee03d67346a922a60c1a2eed2e9e801befde41c4888,mais_humana.admin_ui.same_source,validar same-source da tela contracts em docs +docs.help.ui-screen,ui_screen,docs,todos,blocked,catalog_only,11,False,b242c83eef48d063c28fc180e7bc87b08503c20a436a6f9e41df855bbb29090f,54e46a2bfdba2770d476e7de44e011e7841769f7dc89212b3d92f587f7f6f517,mais_humana.admin_ui.same_source,validar same-source da tela help em docs +docs.proofs.ui-screen,ui_screen,docs,todos,blocked,catalog_only,11,False,6c81f91dc2e3d599dc478e20d22161132419767f27abebc07355f2eb51343e66,78c622670544276e5d0105fff2f1c56a5fcdcc061fe9c3712d5e46ae2e4d84f5,mais_humana.admin_ui.same_source,validar same-source da tela proofs em docs +docs.runbooks.ui-screen,ui_screen,docs,todos,blocked,catalog_only,11,False,13f7ca150a8e60faccdf7a73630bf06f07fdb02c6a0f97403a0bd3596da3208f,2791c6e726acb70915ad1728a31e19ab834886a26988cf8609cd206fc89626f0,mais_humana.admin_ui.same_source,validar same-source da tela runbooks em docs +finance.administrador_empresa.provider-tool,provider_tool,finance,administrador_empresa,ready,live_write,100,True,ae61961be521dcce08cc5d6b2e99ecae63c0eaab47f437fd338ed906bd63a4f0,11c00bc6ea18c9bc46100349371613b554412ebbc0fdfb233ae9d2f6dd47b2e5,mais_humana.finance.administrador_empresa.explain,publicar e validar tool MCP para finance/administrador_empresa +finance.atendimento_cliente.provider-tool,provider_tool,finance,atendimento_cliente,ready,live_write,100,True,227c43d477c1d4564ec37433c70ec52ac3bbe120ac1700d27b856522f0de0719,d318dda5640247c62428ed184ef64a5975d84733660b505986dadcc8845adf64,mais_humana.finance.atendimento_cliente.explain,publicar e validar tool MCP para finance/atendimento_cliente +finance.ceo.provider-tool,provider_tool,finance,ceo,ready,live_write,100,True,58dc94ea8bc9e67d2b505b5f6604acd5da8d77558f10dd2b3091526a1e6f311f,672cfb4da5de06cc58eb2fe5c09f4d5a1529fedfe2c109b4150dda761047a722,mais_humana.finance.ceo.explain,publicar e validar tool MCP para finance/ceo +finance.cliente_externo.provider-tool,provider_tool,finance,cliente_externo,ready,live_write,100,True,1fa51059c38246e2d4df18b177b4508f01a3690762e48c67d5dff1e6ff28f081,0ea32a8867582f20eaf912281ff9d6d1fe95efaf54602af7a59d76272018309a,mais_humana.finance.cliente_externo.explain,publicar e validar tool MCP para finance/cliente_externo +finance.contador.provider-tool,provider_tool,finance,contador,ready,live_write,100,True,b77faa8a41f681b30b115ca6e360b112729ada85782aad7d1d84dd13a4f88d1f,bb7868dd336ae42cf82a39be4ef7f6281ac8b0f5c6696d56deca667233033c00,mais_humana.finance.contador.explain,publicar e validar tool MCP para finance/contador +finance.financeiro.provider-tool,provider_tool,finance,financeiro,ready,live_write,100,True,9c4f19cd22c22827e2e977c2fa6955615afc757b8ebc66d04783cf8cefff2e71,6f170ac7a5eb83640725ef2a7541e38379984d332f384c845ea608ab0ab04bc4,mais_humana.finance.financeiro.explain,publicar e validar tool MCP para finance/financeiro +finance.gestor_operacional.provider-tool,provider_tool,finance,gestor_operacional,ready,live_write,100,True,2ee1f448947843b2c5026951aa5d44b61467ac90152685ef5fa5b40671b6c682,caedf1b1cc1b60ab60bbd80a11a415556f52b614c8708782ac3b9303fbd12743,mais_humana.finance.gestor_operacional.explain,publicar e validar tool MCP para finance/gestor_operacional +finance.juridico.provider-tool,provider_tool,finance,juridico,ready,live_write,100,True,e1820153abfd685e012e96e4304b3f7020585132fe1220d34c359efa4389db62,4b0b02df1bf82e5fe03b3f8c7fb95fd04e6cbafb948a9f06de51a071e68e14c9,mais_humana.finance.juridico.explain,publicar e validar tool MCP para finance/juridico +finance.planejamento_estrategico.provider-tool,provider_tool,finance,planejamento_estrategico,ready,live_write,100,True,6437094b477a77754a98977479f1c0e307b58a21fcb90929733bc115892bdb2d,165c52e0a847ccb0c99546d0a12673a9a317ccd47725e388f5b4a32f7edcd0a0,mais_humana.finance.planejamento_estrategico.explain,publicar e validar tool MCP para finance/planejamento_estrategico +finance.secretaria.provider-tool,provider_tool,finance,secretaria,ready,live_write,100,True,37290faf67c1e958d0270b5c2f8090eb91ddf0125bfbe0c30ddaf04be0f887d7,8c0deca967461a3448895189778ec2f27ae8e21cba050eda571239d59698f110,mais_humana.finance.secretaria.explain,publicar e validar tool MCP para finance/secretaria +finance.suporte.provider-tool,provider_tool,finance,suporte,ready,live_write,100,True,a227341feb3ce1896c353a269a5d66696536828fbffe842100acf3160e40d0c8,259890837257a7287f4291727eb15ea474ea1ac259b9b2a95ab2d80f2eeabf9e,mais_humana.finance.suporte.explain,publicar e validar tool MCP para finance/suporte +finance.tecnico.provider-tool,provider_tool,finance,tecnico,ready,live_write,100,True,78ae0e369c0bfad44afdb0d3deb881ac47ac028c7633e8e26a7d00dae77e393d,5d88a061ebbbfe9ae93ce4c56d17000a657df5dce8735fdc1462261c88962d1e,mais_humana.finance.tecnico.explain,publicar e validar tool MCP para finance/tecnico +finance.usuario_final.provider-tool,provider_tool,finance,usuario_final,ready,live_write,100,True,c3e2f16729f5b43b212330f84ab03d7e5ec3e8e5c7d7875c2c350431178d422c,e0d64576ff393f66438b5521b4bf6f5debf9b82f9e5465d5e42f80c264927fb8,mais_humana.finance.usuario_final.explain,publicar e validar tool MCP para finance/usuario_final +finance.cfat.redaction-policy,redaction_policy,finance,todos,ready,live_write,100,True,17b4aec6a2a530a7497ef6a19e127f130decc1ab2ca70ec4aaabab881379d770,14fa9687ebb3988018cc355fcffb166cf364c8dffa1533773ff16d8128d6115d,mais_humana.redaction.guard,executar varredura redaction para finance/cfat +finance.credentialref.redaction-policy,redaction_policy,finance,todos,ready,live_write,100,True,db53939f8248cb635645b929fbe41eb7c76202dfd69e532e2098789cf420f1e5,ac375acb07bc05bcfcefe43dd58991730ee9da4785071a5a348a1a473512c92a,mais_humana.redaction.guard,executar varredura redaction para finance/credentialRef +finance.secretref.redaction-policy,redaction_policy,finance,todos,ready,live_write,100,True,a6916b3b56f113b88d2fb71a837ac1dee7dde1e144be6d6dde668164be85a3be,6ec28b49da491d2491a59ccbbfdfcc5eec082e5a4eb4020b9c137903c8a6351a,mais_humana.redaction.guard,executar varredura redaction para finance/secretRef +finance.tokenref.redaction-policy,redaction_policy,finance,todos,ready,live_write,100,True,4bfc52bc6747f2d524714ff2c5766811440faa8c71e4a212df2076cbc2a06a82,a2e297633d1f50bbb4d4616f118216280e6d0300e4919a3c7f645d20a4e0565a,mais_humana.redaction.guard,executar varredura redaction para finance/tokenRef +finance.administrador_empresa.report-model,report_model,finance,administrador_empresa,ready,live_write,100,True,4775af0f3eaa45541307e52c9b65e1c126a47d452a54f5021007c760188872ce,bf64ecb41efddc1d144dc288dfe9ebf9cadde49f2b9c9e5611242210e240a913,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/administrador_empresa +finance.atendimento_cliente.report-model,report_model,finance,atendimento_cliente,ready,live_write,100,True,99518166d669c9bfe690dcad84e3513438b342660a197a1aa42c6253446d7b44,4e7c89be789ccc49c0d9c3a8237b72d2d3364b7a2f16e853d529d68d243edcf1,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/atendimento_cliente +finance.ceo.report-model,report_model,finance,ceo,ready,live_write,100,True,371d5476a6f194bc00822444f77ef5581a689eb926c3b9064b32d3670e2ff9fe,78fe78166ad92152875112a5539f156589955c0711444a8c7972d816d896e393,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/ceo +finance.cliente_externo.report-model,report_model,finance,cliente_externo,ready,live_write,100,True,214cc78be26ab621daf0df4b8c1bcba616d846ee1aa122a96923404b8bd45c6d,abbc9bbe43e7b3d09ed1604df4884e52943a5dc00847cce62d2b94a012f114b2,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/cliente_externo +finance.contador.report-model,report_model,finance,contador,ready,live_write,100,True,ec601f788ca4c3cd6e6c947a349bbb5cf0cc606c774c4bb165754cd9cd92745e,6082a84808244b54bf143d508a813d62d92b974711f8c048c66edaf3bd9fa618,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/contador +finance.financeiro.report-model,report_model,finance,financeiro,ready,live_write,100,True,d48165ee2aaa9bdd6b950deacfd875991d6d71ad9745214e44fcc9fc7dd30e5f,8dcac608b2b6435055a270a05f78a7575ce7af841929b92ffcb92562cfd30508,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/financeiro +finance.gestor_operacional.report-model,report_model,finance,gestor_operacional,ready,live_write,100,True,b62be6bb9c48c6862b6b786c22d2d4e0b50e347168ae51fd377a70dc3992f91b,872007d115ac0f66b577c5d02af37668af587c1791a892f97b77b6da8419ac79,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/gestor_operacional +finance.juridico.report-model,report_model,finance,juridico,ready,live_write,100,True,714a9a7359b88ccb85d4d19ee214f65ab573476c9555f6aa6b4fd4f489384bae,a552309aae28dce6dd5eb92ba8fd9617cb031a849d9c263691ce3dfca4ccca14,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/juridico +finance.planejamento_estrategico.report-model,report_model,finance,planejamento_estrategico,ready,live_write,100,True,4271e38eac2362d694471e57c36715ce8843b3158e3b52674cb597a2db6abc65,aaf3fccd472808994d841915d2809ac3e8aaef3dd7d47531d6c398f8eb235502,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/planejamento_estrategico +finance.secretaria.report-model,report_model,finance,secretaria,ready,live_write,100,True,5c75ab000b55ca6a0b84484d8f69a059dfd05bdde11577507258956996e6277e,97fdc76273c501927fd96a1c4280cc6846f37202e86b5b4ab56b56ab1534d395,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/secretaria +finance.suporte.report-model,report_model,finance,suporte,ready,live_write,100,True,d210ae318a553aa75611ca4f5245befc9b1291ffa7fa6f36c59c74dd25958e3f,091b350e63e25801bf80ffb170ea34a25bdbfe231ac332c99439c8b360353dfa,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/suporte +finance.tecnico.report-model,report_model,finance,tecnico,ready,live_write,100,True,206d937b6c0dcf27a781df606b5fa7a79878fafdc192a30f5b851bf179cf422e,187fbd2f62342ad4d471c7a90da3a6c0a52976be78bede6e74f827c9eee9a6b0,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/tecnico +finance.usuario_final.report-model,report_model,finance,usuario_final,ready,live_write,100,True,cacb2ccf197de5b5c2dff7d54b80e785a3e2daf7c5be69cc42fdc509124db089,88f67c716f7303aa49540163eae3485884f56c299f233da394d56b06db836b6e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para finance/usuario_final +finance.acao.transit-policy,transit_policy,finance,todos,ready,live_write,100,True,3d8975c7e874484ae9b04459b23acce409eae591ff1d478f1a99772f22c8d551,f5e66a2d7e8ee9cc7520ddba82c4a24396148270d42d960c40de1e0fe79ffdc1,mais_humana.transito.acao,validar politica MCP de acao para finance +finance.auditoria.transit-policy,transit_policy,finance,todos,ready,live_write,100,True,251073a4d8240787d5f9435a0333fe8371606b1d186473345220828fcea90b78,8fd669bb5295154c2efb3f437862e08b2a393bc7376eb9999c020569aa5a68e4,mais_humana.transito.auditoria,validar politica MCP de auditoria para finance +finance.consulta.transit-policy,transit_policy,finance,todos,ready,live_write,100,True,2c375b6c5c8e85a0c89b231deecfe3c99652f411ee204b11fb8ef8930accf346,f1e5ca99d67a0395923e6a39a44745a3653dd466a7f5a77765bc0afe24b5a894,mais_humana.transito.consulta,validar politica MCP de consulta para finance +finance.diagnostico.transit-policy,transit_policy,finance,todos,ready,live_write,100,True,aaf4a4e13520ede9a5950facc819cd9470abd8121268b4e88989d1fde40a06d0,9c09638aca6171b79ea84624b88ca6076993fee906bd4856b6d0a7fedbbb7929,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para finance +finance.explicacao.transit-policy,transit_policy,finance,todos,ready,live_write,100,True,e2ceceb7ee690b2ba2827aae04f1fb6eaf66b6a542389f90ee8a7ffc8d3c48c1,e951ccd05f93d38ba144c38652770bc8d2dd61fb6b7ceb7bce92150887df6305,mais_humana.transito.explicacao,validar politica MCP de explicacao para finance +finance.cost.ui-screen,ui_screen,finance,todos,ready,live_write,100,True,7959dd100d7c881b94017752c994682c84ac9576ffb88562e965a8a8758eaad6,addcb1126ba788a5cc49531923b86e66b1934f06fa79d236730afcc16314f49a,mais_humana.admin_ui.same_source,validar same-source da tela cost em finance +finance.invoices.ui-screen,ui_screen,finance,todos,ready,live_write,100,True,9be4fe9ece8b4b1cf729edc803e36dccb16ecf5c516a02dc293b94a753a6e46f,2a7f1a078a7ecd2e6bfef2039d7cc460d60d0b0ea406a0363bb8d880a8bf64f4,mais_humana.admin_ui.same_source,validar same-source da tela invoices em finance +finance.quota.ui-screen,ui_screen,finance,todos,ready,live_write,100,True,93f2325c81ed2b46f19d66cee64335ed60be53ed50ac0c9637960df96eddf249,09584edd15fdd55b4edb7544f1e93d166fd8970d85a57f3b6da72b0723985527,mais_humana.admin_ui.same_source,validar same-source da tela quota em finance +finance.reconciliation.ui-screen,ui_screen,finance,todos,ready,live_write,100,True,62dd63b632e5c52d0e0eba38e9874aa0786764fd480e0961958d0acc4cb862f3,58b5b76e7fb20048c1584c080cae79401eb95a5116cb6f851c1b52b578876d0e,mais_humana.admin_ui.same_source,validar same-source da tela reconciliation em finance +finance.usage.ui-screen,ui_screen,finance,todos,ready,live_write,100,True,2a9b5940897f46affc5690528baeddc2b45d52d70ac214ca9499362571c8927c,2f509451aeeb8c2249a8920d30d3259e2e1fd931a7c9c5f5f718c2bc8f7c1560,mais_humana.admin_ui.same_source,validar same-source da tela usage em finance +gettys.administrador_empresa.provider-tool,provider_tool,gettys,administrador_empresa,blocked,blocked,6,False,6f745dcfc986060a1e266e96b84f372669af21f20ad6115ce4563181dafe3142,800cc0e788216b70937b48af9f5b7fca373b85566cb865fc2c85e13dd12a3581,mais_humana.gettys.administrador_empresa.explain,publicar e validar tool MCP para gettys/administrador_empresa +gettys.atendimento_cliente.provider-tool,provider_tool,gettys,atendimento_cliente,blocked,blocked,6,False,5d9cd0d2c5e1425f47327bfdebd7b9df254279bc8474ac25c486b748c320ff3a,360e1b5243c43e0c33d9602cff4a456c738cea9f8175e1f5c10110f7e71e8d3e,mais_humana.gettys.atendimento_cliente.explain,publicar e validar tool MCP para gettys/atendimento_cliente +gettys.ceo.provider-tool,provider_tool,gettys,ceo,blocked,blocked,6,False,b7190b31769deddb3afbc19c96fb2406d277283bfda288a52fef9510992a65d4,826de6155e1baba4be680575a695ce67c1887053dcc603d82442f152c9de2825,mais_humana.gettys.ceo.explain,publicar e validar tool MCP para gettys/ceo +gettys.cliente_externo.provider-tool,provider_tool,gettys,cliente_externo,blocked,blocked,6,False,6004d464ce8403bcf729450b556dc6201611e9521b5fa0f026d9637e3fb4ce24,7e47788b7127354e2f87c78b8135ccb1df9be9aef118a167eb8cfa4d83053bc0,mais_humana.gettys.cliente_externo.explain,publicar e validar tool MCP para gettys/cliente_externo +gettys.contador.provider-tool,provider_tool,gettys,contador,blocked,blocked,6,False,ab1a70822b74526a5139cff469921faaf2cf0ea4623b101a727e3ff4e7ddba5a,36475cb80d704e4d72b718c25a02d6a73930d634458452ef8307cfdb6340f13a,mais_humana.gettys.contador.explain,publicar e validar tool MCP para gettys/contador +gettys.financeiro.provider-tool,provider_tool,gettys,financeiro,blocked,blocked,6,False,380cea73f25c0e95932f58543aca1acca34e6507453112ca01d568974a6e2fcb,895118e6608cff0739cc6e00b2f5c19978b7da5cf1e509ca31f5782df228ab7b,mais_humana.gettys.financeiro.explain,publicar e validar tool MCP para gettys/financeiro +gettys.gestor_operacional.provider-tool,provider_tool,gettys,gestor_operacional,blocked,blocked,6,False,8f9c921ff8e16b2de4d8ee3fe71c29ef6cf2267117ab926f44c29d05810478ec,7e82cf84d4e10f1c4d495a5c9978585f8339c24e539ac81166e2b89767077bd5,mais_humana.gettys.gestor_operacional.explain,publicar e validar tool MCP para gettys/gestor_operacional +gettys.juridico.provider-tool,provider_tool,gettys,juridico,blocked,blocked,6,False,4e01615a2bad5fd4ae4daf10f7c35c4dc09f882cbcbaf4fd2f9f576031414f85,1fbdf86526fe4b04ac5a010cd163ba5723abc92e63fd53c565812cadfdf148b2,mais_humana.gettys.juridico.explain,publicar e validar tool MCP para gettys/juridico +gettys.planejamento_estrategico.provider-tool,provider_tool,gettys,planejamento_estrategico,blocked,blocked,6,False,382fe69514de86ec842a6c433e3b9ae4ca70bf83a8c2ed86d8c61dd7cc964a10,023bea6d17133b3e67ee7e9aff9dab1aef8557c12ceb83afca712a08e398f34b,mais_humana.gettys.planejamento_estrategico.explain,publicar e validar tool MCP para gettys/planejamento_estrategico +gettys.secretaria.provider-tool,provider_tool,gettys,secretaria,blocked,blocked,6,False,d63986b0823815239640e0917b6c7f5fc43b3c6d07d64e25d4823c917f88a1dd,11c80c474c4d904067053b12db992a8f211d4c642e6a794bea6d8526e287c681,mais_humana.gettys.secretaria.explain,publicar e validar tool MCP para gettys/secretaria +gettys.suporte.provider-tool,provider_tool,gettys,suporte,blocked,blocked,6,False,f20799fcd7caf9a3aa8ae6665a99469ff12def27bdb17b0622fbaed0f5469724,e6ff9278cb8b38178d42543f985ec47f38723126b80f14efc9810a44fea5276f,mais_humana.gettys.suporte.explain,publicar e validar tool MCP para gettys/suporte +gettys.tecnico.provider-tool,provider_tool,gettys,tecnico,blocked,blocked,6,False,0088f6e997e2ba440810113e1d995e78bc5254fccecd595b58ba2c3d4ca9436a,00bd4ecb5fd7ec285cbf4e8f0979a0e7dce0ed2b96288bacc1dd14101ade8fcc,mais_humana.gettys.tecnico.explain,publicar e validar tool MCP para gettys/tecnico +gettys.usuario_final.provider-tool,provider_tool,gettys,usuario_final,blocked,blocked,6,False,b8aa6ac74b43ae33a3a17255f367f429bc21090feb19af304094a3aa55b87d74,d501c09eac754b9dcf220eb6142bd13f7f10276d0f190997acd21a03cf172bb8,mais_humana.gettys.usuario_final.explain,publicar e validar tool MCP para gettys/usuario_final +gettys.cfat.redaction-policy,redaction_policy,gettys,todos,blocked,blocked,6,False,833daa33362d0ac02b697cd4893477650427fbfd3ee90ee85e8bf16e60a75d72,ef2a2106f52528a36f8d6c2006d357abbf7cd9d34320b8d5605f3cec4ad0c77c,mais_humana.redaction.guard,executar varredura redaction para gettys/cfat +gettys.credentialref.redaction-policy,redaction_policy,gettys,todos,blocked,blocked,6,False,8118875ed22bb2fde134601035ae7a46d0a65d51229662a7940998aad61cea2e,351d52fb0f2469792dab000b584644f367c110a3ab01ffdcd631de9ef3e8dcbd,mais_humana.redaction.guard,executar varredura redaction para gettys/credentialRef +gettys.secretref.redaction-policy,redaction_policy,gettys,todos,blocked,blocked,6,False,b29c469f7059b9be3c97e5c3e7bfb8c6c37ebc2ce02e252d662ad52ebe8d9376,7299c7f7dee210754f2bf23ae9ffe244cf71ab7af2dcc145c344369c64626745,mais_humana.redaction.guard,executar varredura redaction para gettys/secretRef +gettys.tokenref.redaction-policy,redaction_policy,gettys,todos,blocked,blocked,6,False,d9c4905c07fc317f849db5c34ce513b928ec40cb29a0d330b38305005e758c2c,c8ccdd8947d4c3443b92d934990f30232f56912903b17f5a774a328825d6228e,mais_humana.redaction.guard,executar varredura redaction para gettys/tokenRef +gettys.administrador_empresa.report-model,report_model,gettys,administrador_empresa,blocked,blocked,6,False,3c8858a61c64622a6a7b44588faeb360c2868062148500b66f93c3b952e8192e,42bc73f7a8c5a437f3289186b01d66a3fe264d2b790c684642eee837feb25da2,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/administrador_empresa +gettys.atendimento_cliente.report-model,report_model,gettys,atendimento_cliente,blocked,blocked,6,False,4f5684f21429716491999398e14feda71beaccd5787ce62d51cbdb8ca44e27ef,ef10cc8dd16dbfec0e4db93feee6479a181b431f5a38267784f82fa28ed69e34,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/atendimento_cliente +gettys.ceo.report-model,report_model,gettys,ceo,blocked,blocked,6,False,757e6b336ca936dafc14cb7c4d2bf6d18a489e405f0762702d47cd60b3c1fab6,585bd97fb5e3d22652b86fe16c3411aa0fd14ed6ae9c2cb610783fd029414766,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/ceo +gettys.cliente_externo.report-model,report_model,gettys,cliente_externo,blocked,blocked,6,False,1a7fb1a5f30434030203e83c46e6f76ee21b08a44be29e0c2476567d465a96f2,a172f48e0c9682439cbb02f2318db95dbb7763df28b5a5cbcdea8532abf35061,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/cliente_externo +gettys.contador.report-model,report_model,gettys,contador,blocked,blocked,6,False,0d44295372f448acf2b16f8a3b3c7ebd0ba4a2a9cb4e70f9c15872b27a0443c6,07dad4476b068bdaf1ec08d2aba150f4449c53ae223c848d2e6eb6ece851f1d3,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/contador +gettys.financeiro.report-model,report_model,gettys,financeiro,blocked,blocked,6,False,5c0b4ec0518d8342383c2e369138113f3c97287d3248584e0f24cdbf4fdc3ca4,abfdeaf1214095d9f3a8fbb71bbd0134a83c9c8aaaefdb13a07a2741c1852dad,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/financeiro +gettys.gestor_operacional.report-model,report_model,gettys,gestor_operacional,blocked,blocked,6,False,f09cfb1220bc3965d768e43f446700fbf806e66094bc2fc6f540a143c6b95c69,07895831d8829c076fce77ac68b4e8989b5c7a763840a094b0d70533c53fecc3,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/gestor_operacional +gettys.juridico.report-model,report_model,gettys,juridico,blocked,blocked,6,False,49fd2ec0eedca0d6136167233425d6c07831445e255d1c4f56e3ea770e8562ef,6167ec12d2cf9316782c732280e892bad91c5ce6f6eb800643ae5362671a6c43,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/juridico +gettys.planejamento_estrategico.report-model,report_model,gettys,planejamento_estrategico,blocked,blocked,6,False,c3b7ab5412cc1f9321d1084af9252226d36f5cc89e5e0fd1042619cad05a536b,41cf1a1a6002925ae0894c73b64d3cbc6c3c23aef31a9ac6e813f77a43758004,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/planejamento_estrategico +gettys.secretaria.report-model,report_model,gettys,secretaria,blocked,blocked,6,False,d62c73da7fff50a6da25dfe89fd36207ca2eb41b024ba62e283d208c51fa47dd,68b9bed964777480cbb834f57a97ad396323f0bb17beecb77814f2ed163deb32,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/secretaria +gettys.suporte.report-model,report_model,gettys,suporte,blocked,blocked,6,False,5eff08b7bda13964effa2d4a164a057390207871021c916cb47a0cba9ff2bfcd,054cdd9aa123d841f328d43e52ed5ebba325e674278fb00faa431eb34e2cbf6e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/suporte +gettys.tecnico.report-model,report_model,gettys,tecnico,blocked,blocked,6,False,9b1761f4edb2192f7be5023c225612faae60eb238315150a78c0d68c09478998,2cdf40d82f254c2f5d6921bb9479f0ed907a98826090a6cd42b880930510970e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/tecnico +gettys.usuario_final.report-model,report_model,gettys,usuario_final,blocked,blocked,6,False,280e00271c3b9bd330e375b9e545a8348e539642685aa0c407b5477a4d6e6e5b,252fdd53af72783573876559ab43968cd80c10093f38e73a71a30e18801d0cb3,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para gettys/usuario_final +gettys.acao.transit-policy,transit_policy,gettys,todos,blocked,blocked,6,False,8e69e37779e159500fed3d5a10c7890fafd739b0ea2f96787c3f7ba2dcb1353a,2dfe973e3d1f3a60363bba5164efcc3f3ece7a1472209fe859680b1eba924571,mais_humana.transito.acao,validar politica MCP de acao para gettys +gettys.auditoria.transit-policy,transit_policy,gettys,todos,blocked,blocked,6,False,ce3f2531a02a26fb73da01dbc2c03f46df001fdde550f90cf1233230c792a07c,6ee7cbdee06eb7da7455da3f313561b63beacbf0f2bf62c7b53f3c4644297f74,mais_humana.transito.auditoria,validar politica MCP de auditoria para gettys +gettys.consulta.transit-policy,transit_policy,gettys,todos,blocked,blocked,6,False,60162b81141acbd1a2e20ad8fca42b8656f758c5f2955366388a734890e74426,daa89c9b2f0cad703b81fe798cdd7674b267365bfebd4024a714e91848d20c1c,mais_humana.transito.consulta,validar politica MCP de consulta para gettys +gettys.diagnostico.transit-policy,transit_policy,gettys,todos,blocked,blocked,6,False,b72411d12facc5c23f588d27fe53ccf7a9205bd9a226d8837b185be576fe4dca,d2d32fc50da1c646db764d25ad69501136b7cadbceb6209a8d1a1e19d0b7aae0,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para gettys +gettys.explicacao.transit-policy,transit_policy,gettys,todos,blocked,blocked,6,False,d9d081113bead972db74161322f801147320b954316778e99a739049f09e666b,c70d92dde73f281ac18fb7db6d20dd42a057398410b34108df00b0b0fdb5a4d7,mais_humana.transito.explicacao,validar politica MCP de explicacao para gettys +gettys.admin-screen.ui-screen,ui_screen,gettys,todos,blocked,blocked,6,False,7eb235333b588e49fb51feb74f9ce7286888eab31a6915865e23081f581b6b23,c4d4fe1c89b29b201edb37996e00eff4de1f7771e21d08b487cbc03565e782b2,mais_humana.admin_ui.same_source,validar same-source da tela admin-screen em gettys +gettys.gettys-overview.ui-screen,ui_screen,gettys,todos,blocked,blocked,6,False,87168abb5c67d2f89b95fad00c9baeba362b4ffcb575e9dcf5e192548cbbea1a,98584f2def23bc746e64d0104759a7395283524e5a3a6c0e16f465943383c4f5,mais_humana.admin_ui.same_source,validar same-source da tela gettys-overview em gettys +gettys.health.ui-screen,ui_screen,gettys,todos,blocked,blocked,6,False,1369fb91d1991b019c6f2f4af5da3b01ac8a451d1e8b89383b37c2c5018de265,7570206c9c34d4ebe543fb5d30722f445a509e09dd957f7f2243379f3408f504,mais_humana.admin_ui.same_source,validar same-source da tela health em gettys +gettys.product-readiness.ui-screen,ui_screen,gettys,todos,blocked,blocked,6,False,d856d4e75172616ef69cdfdf70ed40bc710acc734fa8ac983485c764f3663c34,5c1219dd7d8f3fecf5757b1ae3be5da3362aae95dd6de8c8dfa794649ecf5d23,mais_humana.admin_ui.same_source,validar same-source da tela product-readiness em gettys +identity.administrador_empresa.provider-tool,provider_tool,identity,administrador_empresa,ready,live_write,100,True,3c56ca698ea4fb9aba49717269b6005dfb4eb63a7106100e655d6a39acdd1dd2,4acd9b5757fe5409ac4645459a16c9c8f6b04eeb3ed7bd8f4530ac2b5cd112ef,mais_humana.identity.administrador_empresa.explain,publicar e validar tool MCP para identity/administrador_empresa +identity.atendimento_cliente.provider-tool,provider_tool,identity,atendimento_cliente,ready,live_write,100,True,679d01273de1ee7d6f81e3d197ad3bef1b64f33bc8df3cd05e744f95a6af3c74,74bccaca0792337599e0a661695c80dd9470e6e9e5303ddb53e7fc6b0c263eb1,mais_humana.identity.atendimento_cliente.explain,publicar e validar tool MCP para identity/atendimento_cliente +identity.ceo.provider-tool,provider_tool,identity,ceo,ready,live_write,100,True,25b1c98b6579016757caa56dd4626bc7f8923b7492d08e9cfb57d13a7e050c3c,74265890d5700a7e4d3b9fdce7b4f2a2de82ba849d92b3a16ed50e30c0b9ed49,mais_humana.identity.ceo.explain,publicar e validar tool MCP para identity/ceo +identity.cliente_externo.provider-tool,provider_tool,identity,cliente_externo,ready,live_write,100,True,f612f56309ee02040699b85f7dbad505efa51fc7a7cdfc08c7e4e940a66ec28d,d281be5f2fcb2b81d4356d374d6988dd32d18c1e080acc17d13a4686abcfbd1d,mais_humana.identity.cliente_externo.explain,publicar e validar tool MCP para identity/cliente_externo +identity.contador.provider-tool,provider_tool,identity,contador,ready,live_write,100,True,9b6ba5a2e93286744f0132a81ca0d99dcd89a351df169b807b155fcea15c6654,41c221c81bf7113bfb2b816b05a4516a6b0837cade3e4bf1a9e2b2ca247bea39,mais_humana.identity.contador.explain,publicar e validar tool MCP para identity/contador +identity.financeiro.provider-tool,provider_tool,identity,financeiro,ready,live_write,100,True,1ee9d527f414ce651cba6145f46ab006b1f11b4e0524597eb7548c0d4a77ccae,cbc01b86d21937ebd4d2eedda71afa31874189c86ca7e49bf5430de952bc8f01,mais_humana.identity.financeiro.explain,publicar e validar tool MCP para identity/financeiro +identity.gestor_operacional.provider-tool,provider_tool,identity,gestor_operacional,ready,live_write,100,True,1d19208ec3ef87b503d5a5158411b2558251bb0a4405592e36b5b40b57805039,12fd73304843e17d987dd824105cfdc1a2d9b9185c0e82b5505934f48cdca565,mais_humana.identity.gestor_operacional.explain,publicar e validar tool MCP para identity/gestor_operacional +identity.juridico.provider-tool,provider_tool,identity,juridico,ready,live_write,100,True,2e2240a79326bcaee6156407a9ff92606bb743c820295830deae9304018ad79e,9efdaee6a5af1abaed60479db8afcb24951705ef567839ac4cc5d47c1b27d9a9,mais_humana.identity.juridico.explain,publicar e validar tool MCP para identity/juridico +identity.planejamento_estrategico.provider-tool,provider_tool,identity,planejamento_estrategico,ready,live_write,100,True,ba7c0cde425b158cce231c568eb1e0678c6a4638cf789a844b71d7b282c75a19,dd6dcfeccf30cb9505b6d7efda8cd7bd2702a07398bbd418b90c567f342c76a6,mais_humana.identity.planejamento_estrategico.explain,publicar e validar tool MCP para identity/planejamento_estrategico +identity.secretaria.provider-tool,provider_tool,identity,secretaria,ready,live_write,100,True,e9171f871aa4c78a41f69ab2c9699dfc3eaf00516f1ab3cac4a5398663be7ee3,1201b2b96dba4f629726086534ed154087af79a70ceaec6f652e6d279db9d63c,mais_humana.identity.secretaria.explain,publicar e validar tool MCP para identity/secretaria +identity.suporte.provider-tool,provider_tool,identity,suporte,ready,live_write,100,True,48882792624aae7d402f4f8db7b9387001d930ceb26283b9a2a8006184717d5a,cb238ffc498ac80e89dec2f28d6538e9aae65ca2071d634c2d78312abe10e12e,mais_humana.identity.suporte.explain,publicar e validar tool MCP para identity/suporte +identity.tecnico.provider-tool,provider_tool,identity,tecnico,ready,live_write,100,True,3c2c7f8613fa615a900aa1fa2a46d23fb5b268aa14825f638d9e7cfcc2154413,d1d49565dc311150ad4918ac2f52a69db6ced8de824a0ec41c951991a4c9ec7a,mais_humana.identity.tecnico.explain,publicar e validar tool MCP para identity/tecnico +identity.usuario_final.provider-tool,provider_tool,identity,usuario_final,ready,live_write,100,True,13b87675e5e7517ad1738f5a3379053dad9c8f7d74719ced2fe1ca4cc9c7120a,bd89bae55a7287c2667c7ce0b10aa7cd28b80bc222a030808b6f5842e4164335,mais_humana.identity.usuario_final.explain,publicar e validar tool MCP para identity/usuario_final +identity.cfat.redaction-policy,redaction_policy,identity,todos,ready,live_write,100,True,14b27bfb0ad3351ed3b67fd1d8f2b53a6ebdaf6e0c23e4e3f63cd38d93981564,c31275591d79bff2415b4a440edaacd75ef79a9f7f440bf5c021ff5a431bac81,mais_humana.redaction.guard,executar varredura redaction para identity/cfat +identity.credentialref.redaction-policy,redaction_policy,identity,todos,ready,live_write,100,True,f36cf280fd1c322189bf804564eedf6ddef8f376487ee640506396395800c9c8,b0a5f7aac13b8c6df5479bcc0feb64c8dedbc398f3ddae5f09b213fc51517f75,mais_humana.redaction.guard,executar varredura redaction para identity/credentialRef +identity.secretref.redaction-policy,redaction_policy,identity,todos,ready,live_write,100,True,20d324f22e017c74772b5f8ec7c1221cf32d663b1273deb8b2df33ef531749f8,d71991f7f5f9b5c5c6f364187bbaf815ecde4aae2e386e787ac989ae061e831c,mais_humana.redaction.guard,executar varredura redaction para identity/secretRef +identity.tokenref.redaction-policy,redaction_policy,identity,todos,ready,live_write,100,True,6afe0ca157515b2ca449d15ee9152c2a39a2f98d9e63414c9170965fc159bc57,ece33bea1b4c9b6c3360720eb27bdb027666eb3956c53a5488f5d170e638051e,mais_humana.redaction.guard,executar varredura redaction para identity/tokenRef +identity.administrador_empresa.report-model,report_model,identity,administrador_empresa,ready,live_write,100,True,d116aad363a5b87726babc5bda46cd6cd894b943d244b50384bb24712f13ff58,19ff90fc83c4748e1d4d18f2e0fe47452f484f2a915aa39fe8e20ee7a975816e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/administrador_empresa +identity.atendimento_cliente.report-model,report_model,identity,atendimento_cliente,ready,live_write,100,True,21538cde8a7515a8f528616fc5b556427abeb96ac57bf8cebccdc13e17c0ad92,c0766e241e44db0685123392a47d2ebcdd8bb0e0cfa009ec9096a30f17018d08,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/atendimento_cliente +identity.ceo.report-model,report_model,identity,ceo,ready,live_write,100,True,69ff914a862098c1a399471b9c7b94a1d85c1279cda4d853d635eefc5cb4399b,72dde4787fc9911da4a32bcefac761f35abb2daec48892f2ab840f1f6dc6c5f0,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/ceo +identity.cliente_externo.report-model,report_model,identity,cliente_externo,ready,live_write,100,True,1b37f98ed8f8837db197d154341990fca44a0c7abc038539ed5ac7e31cd4c6e6,64855a966226323bee4ce8bfd4fd0a387b291781207cfd92468516b2728aab51,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/cliente_externo +identity.contador.report-model,report_model,identity,contador,ready,live_write,100,True,2cb529a1d6c867e54eeb11325f03f9ccc359292d68811d9079e55db893be6c91,e88a677d06a55b09e912c63628466a4370f253b55e2a35576492b58b4dde599f,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/contador +identity.financeiro.report-model,report_model,identity,financeiro,ready,live_write,100,True,db1b9816fdb2826d072710c0dfe54aeeb8d5dd4625b5e57abdd9bee837319c8a,32e72cbd1c461ba5628ca8fa66085b1943c18cc7dbd321baf1d41274e30d7f5e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/financeiro +identity.gestor_operacional.report-model,report_model,identity,gestor_operacional,ready,live_write,100,True,e137490b6e78fa5718e222b2a0cd277011ac0ca0beb655231ae6e5ebc10f642e,cd14f2221bc2d2cf4805a7e91c2dc71ef3fe3a1853b871b34a361ae8ffcca7fb,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/gestor_operacional +identity.juridico.report-model,report_model,identity,juridico,ready,live_write,100,True,1705a29fa8db4e913ac524069b7ad51699e0f93cfb80ff769146ad7ee478d98e,be0b22a4e22f60b9fa856a4e08c865a051b274c56980d97e607cdc4aa1ffadfb,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/juridico +identity.planejamento_estrategico.report-model,report_model,identity,planejamento_estrategico,ready,live_write,100,True,d256842df5285c49a26822aeaffd2d0d68dab3f903615c1ba60b3a9a8d48d112,8ff1a2ebd9da860edb18445e279606062072144b2ed79672eae7a989d933650e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/planejamento_estrategico +identity.secretaria.report-model,report_model,identity,secretaria,ready,live_write,100,True,07a5864d40d3fc3863644d14b57614045690a7aba7aa1b8dc9bc3ec4353c7d13,8314ef203a92871827784ec1a14d5d87b0f6f4ea5bc0f270b713122e7915edc5,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/secretaria +identity.suporte.report-model,report_model,identity,suporte,ready,live_write,100,True,efd313310c894a601559ccd4ebd7596571f3caac984527fcadceba9ca436efb9,0efb1d930b90fe81a52c3ef0b88bc3f11d83e027908b0f214123576f096b3b31,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/suporte +identity.tecnico.report-model,report_model,identity,tecnico,ready,live_write,100,True,1807ba05770f53c39ea2d3a5988ad63ed0b4d04e6c51590e602e2648f9ac99f9,1ee92a3d70eae5d66be7e83757679ab985fdd219b730e43049ba4b6132c1a61f,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/tecnico +identity.usuario_final.report-model,report_model,identity,usuario_final,ready,live_write,100,True,dc47b06cf040326b12280e0ccc8fea49f13f78fc99417779d07a75c37cb3b022,4fae4a9854b9256a26fd30f14f64eac4b602f46ff0b43c1043feb1a43511e1ab,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para identity/usuario_final +identity.acao.transit-policy,transit_policy,identity,todos,ready,live_write,100,True,c02b27960841e62b939e3d350e558df83960b41ebb07e6cf2684e62b6cdff335,9b04e65d9e37a211a795e874839af681477900cc97150230977504b706e2a83e,mais_humana.transito.acao,validar politica MCP de acao para identity +identity.auditoria.transit-policy,transit_policy,identity,todos,ready,live_write,100,True,c77f9bc41bc92d3fdc20abac8b13540337147e3453ea363137b12946bc2d1acf,27296179e62154ed4e7533e8e6ec932898a7b76b4176f8ccdeab5b0d7d885fee,mais_humana.transito.auditoria,validar politica MCP de auditoria para identity +identity.consulta.transit-policy,transit_policy,identity,todos,ready,live_write,100,True,a43f1dae1e4f02ff1a429e312b641c620a412b91a282357da35e1cbfa86e32dc,66e94d75e05f43742f19ac12b46089b7eb5174249565818b0f3972f8e5e0daef,mais_humana.transito.consulta,validar politica MCP de consulta para identity +identity.diagnostico.transit-policy,transit_policy,identity,todos,ready,live_write,100,True,a3ed5c4e6e4f9ecfa03c62e6b07bafb1c2f6111e2d7bdc160cb37745404e3dd9,f6c1c6e4caa5d2b64bb4208c2b457b589ec737e3f7c227177494fbbfda98e986,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para identity +identity.explicacao.transit-policy,transit_policy,identity,todos,ready,live_write,100,True,aa5d885a04323104f07b06ced0574ec63d290781c7de8969610850fb17e68af6,1157d9c6129e2aae7e903681152627dd3a5bde12601aa8c7578eaf13cc64e907,mais_humana.transito.explicacao,validar politica MCP de explicacao para identity +identity.audit.ui-screen,ui_screen,identity,todos,ready,live_write,100,True,bf416644920649c9aef48c30bc65dc4f52177c332cb0b2be5164c8349aa5a043,10c73df06b1b3dc4d1434107ff7b6e659be271f136285da61b64343566b1ff42,mais_humana.admin_ui.same_source,validar same-source da tela audit em identity +identity.contracts.ui-screen,ui_screen,identity,todos,ready,live_write,100,True,383739b2f8472fc4f97ceef51b75c02269f38adce010f467255ba3299879727c,638a3d5eaa84d1295a9075559feb082f8b99c91c2ceaf1c5231d40952ed87ea9,mais_humana.admin_ui.same_source,validar same-source da tela contracts em identity +identity.incidents.ui-screen,ui_screen,identity,todos,ready,live_write,100,True,33b11a5ad029925e5cfe77b2929aa172276a27527d48450ce12fda78bd5a922a,9e10ebbe7dba736c2ca79431d6c8847885f3f52c2a0dd6a518918190b464f7a0,mais_humana.admin_ui.same_source,validar same-source da tela incidents em identity +identity.organizations.ui-screen,ui_screen,identity,todos,ready,live_write,100,True,b79592009783a24bc145152b2175b85384fc37ac35de0b74498ab797ca785832,adbffea1bb95a4e9f8dc3fe76db05e6f698c47eed7a9b2274376e77fd19296eb,mais_humana.admin_ui.same_source,validar same-source da tela organizations em identity +identity.rbac.ui-screen,ui_screen,identity,todos,ready,live_write,100,True,d61c4db113c6db438ea3e9054e9f93b1f14cc31effd0523c1663759258719dc6,449e3fe457dc025fd33b7ee7de855426e477df89742bb6e28e38481c80a4e0be,mais_humana.admin_ui.same_source,validar same-source da tela rbac em identity +identity.sessions.ui-screen,ui_screen,identity,todos,ready,live_write,100,True,c57b8c9b82b9316bb4ce15a5b25799ab5721b4828b97a37a338029e24bcadf26,996d2869e33df5d7aa96e24e0b4257ed0a2c61f82c7c1863757f0a0832e89f51,mais_humana.admin_ui.same_source,validar same-source da tela sessions em identity +integracoes.administrador_empresa.provider-tool,provider_tool,integracoes,administrador_empresa,ready,live_write,100,True,a80d94f44c57e62a76b37e332e9ec0ff312bbf65894dd5b3d89da65b4941e43b,8bdf28496b7efd9e2cfdaefa547ee5f5e9376512113cdee2e93c474cf0f57dda,mais_humana.integracoes.administrador_empresa.explain,publicar e validar tool MCP para integracoes/administrador_empresa +integracoes.atendimento_cliente.provider-tool,provider_tool,integracoes,atendimento_cliente,ready,live_write,100,True,41a1792b535c680760d75a17d74b7cefdcd02ed4c3a1d97b599f570e65677a35,4a31a737b3f6c81026bec04a8d1193560d1cd7e22fa2f096e71356e86b06eac1,mais_humana.integracoes.atendimento_cliente.explain,publicar e validar tool MCP para integracoes/atendimento_cliente +integracoes.ceo.provider-tool,provider_tool,integracoes,ceo,ready,live_write,100,True,242a238f96078f74101da056a0cc72359374e8c9ddeb676bd582d9d58de4bab5,94539220411661577fe45031f8a90b292c7e4430cf1fd301a1f89fa2adefc7f3,mais_humana.integracoes.ceo.explain,publicar e validar tool MCP para integracoes/ceo +integracoes.cliente_externo.provider-tool,provider_tool,integracoes,cliente_externo,ready,live_write,100,True,2d1045bb812ebbf3a828b53f6276ace0a236ca95f1350a91ac6fcc9a252f1bcc,fc3e149bb41af5993278c6127c91ee8c75417adb65d2bf50e5898c58596e450d,mais_humana.integracoes.cliente_externo.explain,publicar e validar tool MCP para integracoes/cliente_externo +integracoes.contador.provider-tool,provider_tool,integracoes,contador,ready,live_write,100,True,97be8fbdebe6ffcc1ef96f186530413d884e3877dc01e17f14fd3038f739f23a,1b91fe567ba948c6bcacd32752d11fe138c0e402f1db855b4ce061fbc80f837c,mais_humana.integracoes.contador.explain,publicar e validar tool MCP para integracoes/contador +integracoes.financeiro.provider-tool,provider_tool,integracoes,financeiro,ready,live_write,100,True,6b6d92803354a771076c62c8360d0d70f524f88099cdeaec5f4a5d873d257ead,9f2371051fc4fc8c777694bc624aa633268faae87dd96dee4c474b69a05308b1,mais_humana.integracoes.financeiro.explain,publicar e validar tool MCP para integracoes/financeiro +integracoes.gestor_operacional.provider-tool,provider_tool,integracoes,gestor_operacional,ready,live_write,100,True,a2298c406ce5b0c8bb41d4b5a5a06e3181e7e8fb160e93020889e17df4100912,e1a679b01c3e4c0a8ca4f89fa67d766d18141f49bbe73efe385b29951c58b0a4,mais_humana.integracoes.gestor_operacional.explain,publicar e validar tool MCP para integracoes/gestor_operacional +integracoes.juridico.provider-tool,provider_tool,integracoes,juridico,ready,live_write,100,True,6f39560fbaf5ee07c922c3f4a7a7a7a647fd6250d3ed1918c204a082707fa0bc,c00b41c9e8db28ffa14fde4ed383d2b3946a333382439ace65846fa50da1ea66,mais_humana.integracoes.juridico.explain,publicar e validar tool MCP para integracoes/juridico +integracoes.planejamento_estrategico.provider-tool,provider_tool,integracoes,planejamento_estrategico,ready,live_write,100,True,cfddc35ac3ce91f62de22da7bf2a19980db1a9025bc3880cbc7b6a1b88c84e1b,d32052fb4279d93656e1ee9b804fff315a9f63d42f476af49bb00c7ebb6b0a7f,mais_humana.integracoes.planejamento_estrategico.explain,publicar e validar tool MCP para integracoes/planejamento_estrategico +integracoes.secretaria.provider-tool,provider_tool,integracoes,secretaria,ready,live_write,100,True,11b599244ee04c51cf314a7ae5ef54bf29ce2302921d80779116661e2c98a5c0,58e247c3062fdf8144b4ac553ea0784c178c958500fa05f5101b39f915448e3f,mais_humana.integracoes.secretaria.explain,publicar e validar tool MCP para integracoes/secretaria +integracoes.suporte.provider-tool,provider_tool,integracoes,suporte,ready,live_write,100,True,58afcffd1296a9beaaf54855c0a4303f5b5ecd55be3430126fd2d4b29bfbf8f7,846c1195cd4ae2455ad650da73caceb1b72d6bad428366f7fcf80ffa982474a3,mais_humana.integracoes.suporte.explain,publicar e validar tool MCP para integracoes/suporte +integracoes.tecnico.provider-tool,provider_tool,integracoes,tecnico,ready,live_write,100,True,623ec62e1025c8cfb67452578392fed3fe0e4510c9187e76c087f97b122aff4f,950a4db7028ec749c85669512cef3f63b5a3b3c953f47a6b7aa0b6907a981a11,mais_humana.integracoes.tecnico.explain,publicar e validar tool MCP para integracoes/tecnico +integracoes.usuario_final.provider-tool,provider_tool,integracoes,usuario_final,ready,live_write,100,True,037566e181558181ef47cf136918ff3a96983e01c21f7a2ed54101f6d0b121b2,7fe19ce8d23b7f56706092ec9183278df57332307d8f430d634226836a01b5c3,mais_humana.integracoes.usuario_final.explain,publicar e validar tool MCP para integracoes/usuario_final +integracoes.cfat.redaction-policy,redaction_policy,integracoes,todos,ready,live_write,100,True,f2109fbaced7b47c62cdf5923422e63a0c5f1059a665192250b57c61db84319c,4a1186e96591cf84c449434c4ae90c49b493ac263557bd4d7140b34e33806dd3,mais_humana.redaction.guard,executar varredura redaction para integracoes/cfat +integracoes.credentialref.redaction-policy,redaction_policy,integracoes,todos,ready,live_write,100,True,8a01be4492c17a91d901bdf6709f1d13d07a47835f30af96b5d0adb6533617a3,f80c235dceb5e9852c8202e6b5a96d92a0f4e1d851ab6333f35d63f5b2638b18,mais_humana.redaction.guard,executar varredura redaction para integracoes/credentialRef +integracoes.secretref.redaction-policy,redaction_policy,integracoes,todos,ready,live_write,100,True,5b5cb0c6c7239c76aa71335f13eb04d17d62607367965b44c8f7f804b1749ee4,52f071d3ef7d40f56e269f93835639a4c251bda52470e3ec96991953021cfb60,mais_humana.redaction.guard,executar varredura redaction para integracoes/secretRef +integracoes.tokenref.redaction-policy,redaction_policy,integracoes,todos,ready,live_write,100,True,7c0d711e83c527347c21f9bdb51603654a1715faff475218b819e5fc298196e3,90de1040416639e768ff52445e2adf1fc84f2c8d32eb9e39bdfcc8e7ac4346a5,mais_humana.redaction.guard,executar varredura redaction para integracoes/tokenRef +integracoes.administrador_empresa.report-model,report_model,integracoes,administrador_empresa,ready,live_write,100,True,394b846f0c2e65243a2a2ee082099390d68352ce9645c2d0fd4391f33e8260cd,202d0caa7d57f0e509c2ca2f30fa68d173c9bdeeae5ff2f406d6138b91c4a816,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/administrador_empresa +integracoes.atendimento_cliente.report-model,report_model,integracoes,atendimento_cliente,ready,live_write,100,True,a145e13c51ea82ee9d0891107458c5230dc90b86817528ea315936e97086cdc1,a502e6eb4480a7b8678789203ee7d4aed9f5f0630c3b7ebfd360575d051dc38e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/atendimento_cliente +integracoes.ceo.report-model,report_model,integracoes,ceo,ready,live_write,100,True,8d25cd4cb6b874a819de7aa028357afed5c1fe787122d739c9ca4e76d41e1caa,fdbf3f29ea36fd38d3e84a215949352fad3631ecbcd97df62c0fc72d874ec5cf,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/ceo +integracoes.cliente_externo.report-model,report_model,integracoes,cliente_externo,ready,live_write,100,True,a8e74257b56bbfc5b6ce01f212a2093c8e85207fce1a6e13dbbb9ba67857ddbb,57b33868056454930ca78bb47f62ac828291793226d51d01d1e22229d73a8072,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/cliente_externo +integracoes.contador.report-model,report_model,integracoes,contador,ready,live_write,100,True,b2460fb5d855dcb09f94f755d8ab2ca5b846884fec2c00218afb2742100c505b,f2f6401ae49adf0368eefc7348aa07dbe52a6df41def8503d2029f73e0fcc58e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/contador +integracoes.financeiro.report-model,report_model,integracoes,financeiro,ready,live_write,100,True,21d5d64af288ca5036c7af4368d5e994dea3f105c5a60b279a7bb6986d1b429c,adcf37b3f0a1e463b7bc9df63c0a5a5dc55856725076a3e2023872fe2d0870b4,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/financeiro +integracoes.gestor_operacional.report-model,report_model,integracoes,gestor_operacional,ready,live_write,100,True,1570f5aa81e7b5a3b8665bd2ac4c211130590e9e1ae4fb4d1a099d0f4def5589,42e096f89e6b51bcf890dd509e202c58b08c1ddcd62581d63efb7b1704f93464,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/gestor_operacional +integracoes.juridico.report-model,report_model,integracoes,juridico,ready,live_write,100,True,d3192b364375f86a37b0bdc337bd3a888fadd768d18dff3d1e3e63227bcdd738,fb434392b34a1bb71095cc9d70ec638e9f1c8b4f4a0ad2bc452fd5a3c07f028d,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/juridico +integracoes.planejamento_estrategico.report-model,report_model,integracoes,planejamento_estrategico,ready,live_write,100,True,817e33c147dc00a1a8127ef2adc25616ef1095219f4d5f7e8c78d7dbbea58ebe,19374a25e6e0c00a60074aacadf2567faa20a1439a8a8e982e93b59eb65ef27d,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/planejamento_estrategico +integracoes.secretaria.report-model,report_model,integracoes,secretaria,ready,live_write,100,True,838a6ab879786c80c45d2ce2514eb3589416f728e472dc372d7c164adb3b8792,feab95c62d561b7f5fb701d7334cc1c11bf77b569a45a2daea5275ff2f388296,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/secretaria +integracoes.suporte.report-model,report_model,integracoes,suporte,ready,live_write,100,True,4712e1ec3723d42a6d702fce0c3568b8dab052715caf1afefb5b9e93e93353b1,51670937de83c5c3bfe730bb418448b07bf94806ae0be132808fa5dc6cf8b9e5,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/suporte +integracoes.tecnico.report-model,report_model,integracoes,tecnico,ready,live_write,100,True,2351a2ded0e67bf4222c22975fdc576068cd12fdc8e442cceed6a39ff25badbe,3d5b213c01c8838bb30f1c2785c6d08c261242d60adfef3df8a72c8b3a1efee6,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/tecnico +integracoes.usuario_final.report-model,report_model,integracoes,usuario_final,ready,live_write,100,True,28ccba1fad1f80c7c415713fb3528bd51b582ffc1320e0c3d25b769c4057c0b4,0b5f46b67085a93244d95f1d4d895663b83634b9a210f55fbdb70eab525cbb2f,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para integracoes/usuario_final +integracoes.acao.transit-policy,transit_policy,integracoes,todos,ready,live_write,100,True,976c253f80e34439ebcf9d692ccb171c5f597bcdbff9a0ce4b7931d94ea78d6c,431082cb7a24824a288259197af9c415bc5d011815dbc44b00b1107db2c75a55,mais_humana.transito.acao,validar politica MCP de acao para integracoes +integracoes.auditoria.transit-policy,transit_policy,integracoes,todos,ready,live_write,100,True,cf142a0956ea60bf279aa75e57b5018b786ad40c9836d8e630640e48c154de8e,a80a2df2cd5f5a359d65e38494ad6f5cbd3fdac03cf889a0a256a69176541729,mais_humana.transito.auditoria,validar politica MCP de auditoria para integracoes +integracoes.consulta.transit-policy,transit_policy,integracoes,todos,ready,live_write,100,True,d91bc3a1714528a46829230291f85cb0c3964204eb907e756256d957c9655ad9,51d342248252fb609f2da384024f9627669f216bcfc23413805b761577397cff,mais_humana.transito.consulta,validar politica MCP de consulta para integracoes +integracoes.diagnostico.transit-policy,transit_policy,integracoes,todos,ready,live_write,100,True,256a85d871573beac2862db92ca5e573014b9e0cfcf730ab2d722323467d611f,6cb3fe9d09d2238fbdab7e0b611f48297ac1c7a3df98ae20921669cf914c3251,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para integracoes +integracoes.explicacao.transit-policy,transit_policy,integracoes,todos,ready,live_write,100,True,afa2390f4d53e5091fa3e46a59f5341410862edcc51174b28615d753de647f1c,9dbc45d362dc1131bb73b5c2b1bf11e3a893c20b466297312ea405fc4bebed82,mais_humana.transito.explicacao,validar politica MCP de explicacao para integracoes +integracoes.byok.ui-screen,ui_screen,integracoes,todos,ready,live_write,100,True,fc0689be7a2727e8593ea5f1d967b3ddfb469886d2d8b66ded6fba0c14a759ec,b2545992e45f9486b7adac4a2cdf99b59020eb9de5a3f0119e77a1789697c6aa,mais_humana.admin_ui.same_source,validar same-source da tela BYOK em integracoes +integracoes.credentials.ui-screen,ui_screen,integracoes,todos,ready,live_write,100,True,a2a4355ced9fb35e8b2f0a91aff573c4f0e8b7308b9d7748195dfd9e0a1b861d,a2196cdedd0231433c4eeead362d72f2b38496b423a27e3a5fd35be4d5961f6f,mais_humana.admin_ui.same_source,validar same-source da tela credentials em integracoes +integracoes.products.ui-screen,ui_screen,integracoes,todos,ready,live_write,100,True,a1a202dc6b4ec4d07868389b9bd394fd4a8f70187e262ddd41df3b6a2adc1f24,c381d306a364a09a0d0c6608cf3a76a49090de1cd2eb2d1ebdc36a18c3417e60,mais_humana.admin_ui.same_source,validar same-source da tela products em integracoes +integracoes.providers.ui-screen,ui_screen,integracoes,todos,ready,live_write,100,True,bf62d19bac8548ff5919ecfd888e21c32fb9568d7dc4e82d6a53d33ac95c56ab,315baac93bedfd852d708aa0add57aed5f60b3732a9d658d51e0483bed1ffe2f,mais_humana.admin_ui.same_source,validar same-source da tela providers em integracoes +integracoes.smoke.ui-screen,ui_screen,integracoes,todos,ready,live_write,100,True,024cad0980a3a6a75289f9cad4034d905ef8aabd0d0adee99c21b49de62a287e,957724b07eec3d2bbb940aeb289f3f8aba0ca3ba1f4fde17e30644cf2ec6f314,mais_humana.admin_ui.same_source,validar same-source da tela smoke em integracoes +integracoes.tenant.ui-screen,ui_screen,integracoes,todos,ready,live_write,100,True,c9ac3ede8e6c753250fc35b258e16c76602fcdec3d0b9892f493fa0944725f24,63839cd558d05dd597caa07b261e7e7e13d8585e42aaa67b772c0b678e5a4492,mais_humana.admin_ui.same_source,validar same-source da tela tenant em integracoes +intelligence.administrador_empresa.provider-tool,provider_tool,intelligence,administrador_empresa,blocked,catalog_only,1,False,8a73a2318da48edcaec8cfb645f208219e2da3acc79812fd4d9dff072184ff56,8414a6b665f7d814ded4903d94cfe912408d581e2d60fda2d71c1f04d0ec66f2,mais_humana.intelligence.administrador_empresa.explain,publicar e validar tool MCP para intelligence/administrador_empresa +intelligence.atendimento_cliente.provider-tool,provider_tool,intelligence,atendimento_cliente,blocked,catalog_only,1,False,1762f66cc48275f1b3c2a3a7e969d0aeded11ff073762b3e0c706fe9ec69ca49,00ae743b3fbbe6f8079a41a21dbe61b0b50667c4fbecdfaef08de85381a524fc,mais_humana.intelligence.atendimento_cliente.explain,publicar e validar tool MCP para intelligence/atendimento_cliente +intelligence.ceo.provider-tool,provider_tool,intelligence,ceo,blocked,catalog_only,1,False,7654233b30b61d8fc751ef4559c5157249181c76a23dcecf5f4cc8b3defe39c6,a54ce02374e6e7a71a7410f175afadd90376bdf7de8517169e90cd8679259155,mais_humana.intelligence.ceo.explain,publicar e validar tool MCP para intelligence/ceo +intelligence.cliente_externo.provider-tool,provider_tool,intelligence,cliente_externo,blocked,catalog_only,1,False,f9356e81e7f99b41a1e2af5b930bcdf5e37dfe22789dab5c5029c0b3cfa91b41,2ae7995b7509c82cb3c15235acb6b15507642c4224eb7acec7e2b2750d7be39c,mais_humana.intelligence.cliente_externo.explain,publicar e validar tool MCP para intelligence/cliente_externo +intelligence.contador.provider-tool,provider_tool,intelligence,contador,blocked,catalog_only,1,False,bccce4c30b44381e37abc98c31670a6c3f9ef554050a9527411f6a7bea1d8861,820248b9d2d16191baf693daf888d0f17e64e4ebfca6adb1c958aad29d6839bf,mais_humana.intelligence.contador.explain,publicar e validar tool MCP para intelligence/contador +intelligence.financeiro.provider-tool,provider_tool,intelligence,financeiro,blocked,catalog_only,1,False,6264e4aa9ce314aa6961a939b2f660a7baea208f4f4b5fd50b2fff680fea592e,c791bacc57b04ea325d29558c67fec5e0fa937c73ceafd9c150f01752a2a2e7f,mais_humana.intelligence.financeiro.explain,publicar e validar tool MCP para intelligence/financeiro +intelligence.gestor_operacional.provider-tool,provider_tool,intelligence,gestor_operacional,blocked,catalog_only,1,False,a62f8673b952135d6227cd9ae093e5f96cb6369bf1d4296a1be6f9e549a4e329,01d142637e51c7a2e1385ace7c5f687f03d8442282fd0d00df06e2f33f10f824,mais_humana.intelligence.gestor_operacional.explain,publicar e validar tool MCP para intelligence/gestor_operacional +intelligence.juridico.provider-tool,provider_tool,intelligence,juridico,blocked,catalog_only,1,False,4bc59a33ec316ec103b76838d0e1ac2e896b761c199d16a553be60a5ff6712d7,7999225b8b9fe0c7a5683b9ea7b81c76705553864359c56fa3073bcc960bd39c,mais_humana.intelligence.juridico.explain,publicar e validar tool MCP para intelligence/juridico +intelligence.planejamento_estrategico.provider-tool,provider_tool,intelligence,planejamento_estrategico,blocked,catalog_only,1,False,01ec0b324c5e5937ec5ff04cfaac25a56320efa10433ceaf0c63b40b72ab8b73,bc15a0912f3b8a27a2c65f234dc1044bc151e9cb202f8c6d90c4ea7bdb0a3c80,mais_humana.intelligence.planejamento_estrategico.explain,publicar e validar tool MCP para intelligence/planejamento_estrategico +intelligence.secretaria.provider-tool,provider_tool,intelligence,secretaria,blocked,catalog_only,1,False,a4578da6716e2c248ccaa21ccde35271b2d12c20e9dced0082d23375cb863359,069321c9fcc48c80c0e933a67690829a7df814c4ffd7ad59a6cefa18e2179818,mais_humana.intelligence.secretaria.explain,publicar e validar tool MCP para intelligence/secretaria +intelligence.suporte.provider-tool,provider_tool,intelligence,suporte,blocked,catalog_only,1,False,47dfee63866002cf5c9e328a22d42a229c04042c8f2ddaa3a3b9cdd1bc481aa1,b3cca70302365bee3118f3e1c4e01752713c67d262d614acd8d27f982fcb38be,mais_humana.intelligence.suporte.explain,publicar e validar tool MCP para intelligence/suporte +intelligence.tecnico.provider-tool,provider_tool,intelligence,tecnico,blocked,catalog_only,1,False,ee2dd5afa79f1e4c3cf7328f04671d266c9fc5c4b6117113017308942a9ec34a,ff2249ee7afc1ca401df4f0ba77d3948c9f9a52a54f03a70429e40057ca9ca2e,mais_humana.intelligence.tecnico.explain,publicar e validar tool MCP para intelligence/tecnico +intelligence.usuario_final.provider-tool,provider_tool,intelligence,usuario_final,blocked,catalog_only,1,False,66f66ed90e43c2472db9847fc8fb193611221c30992d244e518a5f1f9e4b2a3f,98e82e735a036309185378bc890518d0d5f10c7655d9d581063e6b999bcb27dd,mais_humana.intelligence.usuario_final.explain,publicar e validar tool MCP para intelligence/usuario_final +intelligence.cfat.redaction-policy,redaction_policy,intelligence,todos,blocked,catalog_only,10,False,8037ed02c8b6df5d16fb72b42d80559be22280b227856d037c16eb6a57a55cc3,42338ce839f90ae99862f35fcec2f1cb053ef3aa564731b4f24585e1febe7352,mais_humana.redaction.guard,executar varredura redaction para intelligence/cfat +intelligence.credentialref.redaction-policy,redaction_policy,intelligence,todos,blocked,catalog_only,10,False,bf2aab6c3211308c97b3ab883af9976c8723b53225601d332b809f348e72fb57,06818d71b9de46f1fc3572f878797fa03bce300026ae9a72da7c80eac3baf3d8,mais_humana.redaction.guard,executar varredura redaction para intelligence/credentialRef +intelligence.secretref.redaction-policy,redaction_policy,intelligence,todos,blocked,catalog_only,10,False,209a729acb77904e6879ae4cc17de4ad87c471032604a1bd421a8fa969edfaec,eecc8d217e1efd5a47df5a3e8325f56fba90f3f95c3b089881fa798ed9c9f211,mais_humana.redaction.guard,executar varredura redaction para intelligence/secretRef +intelligence.tokenref.redaction-policy,redaction_policy,intelligence,todos,blocked,catalog_only,10,False,231e37f2562c767d992480771fbc0fc7821d8bb4da2d58847bf3d2d0d7dd9167,9d708015138a2ef7bc0e485737da57781b5a8be8030ba12a0e2f254d6cf0260e,mais_humana.redaction.guard,executar varredura redaction para intelligence/tokenRef +intelligence.administrador_empresa.report-model,report_model,intelligence,administrador_empresa,blocked,catalog_only,1,False,0446e347a8cc96cfb56c951cfc894c66c7a5a6f4358081e7fb562269d20bce7e,1bd94f23fcd6323abbd0757efe5af2e6fea844b660d3be811516831b269b3449,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/administrador_empresa +intelligence.atendimento_cliente.report-model,report_model,intelligence,atendimento_cliente,blocked,catalog_only,1,False,69cb0637b342a12d2e21af11ddfa913567f7fa77f8f2c791ea4dc86ecb8924f6,ce20afab36ab67195fb803da5e8bf699b16827e35e0c5440b44e3c4a3f15e024,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/atendimento_cliente +intelligence.ceo.report-model,report_model,intelligence,ceo,blocked,catalog_only,1,False,1837dde933fc9893de4a738d94ac7c7c98cf80bb982ac62d2c35504183625141,7ee18c97de1ee57fa1c671d5d609172f75bcd86fe5b6af119d5c07167071dc55,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/ceo +intelligence.cliente_externo.report-model,report_model,intelligence,cliente_externo,blocked,catalog_only,1,False,cc05a9dd8891cce3215e73d02492068fb4e5193ad355c8e444f672f65c547b66,1987324fc9ee165665949de47523349b00a9babe033ac67a79ac7cc6c1b48e90,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/cliente_externo +intelligence.contador.report-model,report_model,intelligence,contador,blocked,catalog_only,1,False,1c67e713788e1f7a0355745dc45f7b3eb61db8e2eeee5bf356b6c7dcbe1740d1,f6b6550ab42a2390ac5ae1df53c45804e7eb61c629e195a080c47b8285fd4b01,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/contador +intelligence.financeiro.report-model,report_model,intelligence,financeiro,blocked,catalog_only,1,False,5b26b637747670c681c0dac125654ef78daea58581d0bd6b79e91ee0366de0e3,6be2d0ef21934864254076267f5ca40cd7ab223d9af8c7b9b18fb752e0a94be8,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/financeiro +intelligence.gestor_operacional.report-model,report_model,intelligence,gestor_operacional,blocked,catalog_only,1,False,2f0b2f6edbf66a0c3a39ad3cc3985e0ad38888c311ea0b753ee5cfb62364f43e,95def95029508660f3cbe4e7ba2e649c9f4742bc7206ea0a5f42608703a0b4c8,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/gestor_operacional +intelligence.juridico.report-model,report_model,intelligence,juridico,blocked,catalog_only,1,False,973bced835ed3c777936b2fa78b3a14981115aa77a8008029f71c2945eddd7d9,93e63aa206b69c819174fe02d4fdfbf18414e38ea058d5a1938d21deef7297b8,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/juridico +intelligence.planejamento_estrategico.report-model,report_model,intelligence,planejamento_estrategico,blocked,catalog_only,1,False,c04f723211dac525aa459b50f229fab8493fd471f597e3cb4531998a5192388f,7424adf5804664b14447e7a73cc6a67cb44a39dd9c521c1851781a4b39267850,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/planejamento_estrategico +intelligence.secretaria.report-model,report_model,intelligence,secretaria,blocked,catalog_only,1,False,aa02208a1a9ca65d76e091ed21ae2ad7fd853f4cfe7795a16200e895546f6763,6ddcd3b290ccd3b42e7cf81ae78dd4a934c76befd256b4fe7499a4a3a17ed56e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/secretaria +intelligence.suporte.report-model,report_model,intelligence,suporte,blocked,catalog_only,1,False,43622f17140ef9304cab1e4dc5b3e10ddc18a13608211426eff3317b8b16c786,58e96673798d55b817ad39c87d37b20d3fe6fd9a13dc00e815b708e3f5ce150b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/suporte +intelligence.tecnico.report-model,report_model,intelligence,tecnico,blocked,catalog_only,1,False,e770bf5dbb87093ac353e97cb833c99c395cf9a30f66ecd54c0ac1b165dd88a3,ade49f56157091944c9df485201309c83829609ef678caf070b35f6ac1d9ea85,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/tecnico +intelligence.usuario_final.report-model,report_model,intelligence,usuario_final,blocked,catalog_only,1,False,83809c323daaadc6314e6096c3594a3b5636fcbe249468f9c8764593def574f2,f52b418360c4f77540a04e798d739310b398723cc7f1f7c25cdb393907578bba,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para intelligence/usuario_final +intelligence.acao.transit-policy,transit_policy,intelligence,todos,blocked,catalog_only,1,False,54d7873cbf5f9dea91422b1c3e673044766ab7819bc1f29b36c592df6c1e7db8,d699f43ecdc0239e062794c90f03ae1c3916f5dff6a49719eb840aade905266b,mais_humana.transito.acao,validar politica MCP de acao para intelligence +intelligence.auditoria.transit-policy,transit_policy,intelligence,todos,blocked,catalog_only,1,False,11c9b092bb07d78770dc97c32bf2825ee03dab18ef405620cc1535434355412b,3dba9a79851279acc41de234bc815c294da2fe604a0de51f6ad2bc06e151ceb8,mais_humana.transito.auditoria,validar politica MCP de auditoria para intelligence +intelligence.consulta.transit-policy,transit_policy,intelligence,todos,blocked,catalog_only,1,False,355e34331ea6b6cc8e5e447d6aa177b8bf285d4b863ce806cfa3fc218f0c2280,83fd93070d4cd4804cd74bf9f5b5a20a16d4b7dbff2df56366bc02da535b2d91,mais_humana.transito.consulta,validar politica MCP de consulta para intelligence +intelligence.diagnostico.transit-policy,transit_policy,intelligence,todos,blocked,catalog_only,1,False,41a0d9f85ca278a28220bf6c45b37d98fea90e7120b7221f31c6dc7c1f046eb3,7904c10a9281c9c38e26d19c6dd3a8b3fd85833b410d4cb082dcfa5cf3984d2f,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para intelligence +intelligence.explicacao.transit-policy,transit_policy,intelligence,todos,blocked,catalog_only,1,False,2360bfd5ec098941eb9487fb5cf620d770a7c23c4da642ad8dd875b3051167dc,42fee4c5f399c2d91a1fb72d4f8f79344118b3cf892ba0991d31b8e6bd8f6a0f,mais_humana.transito.explicacao,validar politica MCP de explicacao para intelligence +intelligence.analytics.ui-screen,ui_screen,intelligence,todos,blocked,catalog_only,1,False,6f44239c174eb3f1f56c0eb1479db8cabb6ea74835af332dc0e48d348ff9ccd6,7a890c7ec3d7c1cc5b980fd90eb46771e735131bc69131898d42c0e8e4869a4b,mais_humana.admin_ui.same_source,validar same-source da tela analytics em intelligence +intelligence.prioritization.ui-screen,ui_screen,intelligence,todos,blocked,catalog_only,1,False,751e706af6270334e888e221f9824d3be93634aa139fc65500d012eec7aeca5d,8910f522a9e4ff37f5761516cbb07f657d97816eb565437cf349644915f28336,mais_humana.admin_ui.same_source,validar same-source da tela prioritization em intelligence +intelligence.recommendations.ui-screen,ui_screen,intelligence,todos,blocked,catalog_only,1,False,ffe16e3a75435943b3c40ba8ba7fc7b57263a0809f09216d79aff4b12f9676b3,8dca1790002a30de8ac291121b8f321e6a234adfa7ddc8dc011876de77c5efd8,mais_humana.admin_ui.same_source,validar same-source da tela recommendations em intelligence +intelligence.risk.ui-screen,ui_screen,intelligence,todos,blocked,catalog_only,1,False,70a87fc7c0015d0f466b4d3269949376be97e94e8077a941bec8770d8db2a30d,0c2b9e84b59daff4164af11ad94fb159b52a014c39b9f3bdd1271f2697c0934f,mais_humana.admin_ui.same_source,validar same-source da tela risk em intelligence +mais-humana.canonical-rename.plataform,canonical_rename,mais_humana,todos,external_decision,documented,71,False,4876e44ff56b44cacc3e469cbb8336b1c97cfdcbd27b8a0882d1d239a7c8178e,fc7a7b290e4d717b1f9979a4dff2d1a89d87ff28121703d944b439a9688eda9a,mais_humana.canonical.rename,registrar decisao institucional para mais-humana.canonical-rename.plataform +mcps.administrador_empresa.provider-tool,provider_tool,mcps,administrador_empresa,ready,live_write,100,True,f63f364db32acd6bc538582edfc7c0ded628be2d208235a1717e51e2c8a1f716,d3bec55deaff73a3cb0c7ebcb693867ec62e791bb7eb1e85fe93c43411cd411e,mais_humana.mcps.administrador_empresa.explain,publicar e validar tool MCP para mcps/administrador_empresa +mcps.atendimento_cliente.provider-tool,provider_tool,mcps,atendimento_cliente,ready,live_write,100,True,c03269ccc06ff52926e4179f2a67a133e68477ac3bf4137d43d85bb92975fe6b,3612664f0c68b08437f326c62887748535adc677644967dfdbd9c3fb0c4d7220,mais_humana.mcps.atendimento_cliente.explain,publicar e validar tool MCP para mcps/atendimento_cliente +mcps.ceo.provider-tool,provider_tool,mcps,ceo,ready,live_write,100,True,7afde5d0a25c484bfe0bbfbe3f6af8eb33a7d14ab7df85e686920f5caa959f8f,c45b7e3a763fec6c89d3deb2aeac90eef83fa61c7ef81e70f2e6f0a7674f86e1,mais_humana.mcps.ceo.explain,publicar e validar tool MCP para mcps/ceo +mcps.cliente_externo.provider-tool,provider_tool,mcps,cliente_externo,ready,live_write,100,True,a96a6cbbae66bd2ec912b43d2a8e05fa716f892bc094f00ebbc7769fb7c349da,5e72338833c236f4c17c3bda5963e8e07ba5fdbb8cd5ad6d297508e871734715,mais_humana.mcps.cliente_externo.explain,publicar e validar tool MCP para mcps/cliente_externo +mcps.contador.provider-tool,provider_tool,mcps,contador,ready,live_write,100,True,ba7dcf0c3f5e055c35c6c79de4488c8b6c7e80257eac2430d4c108fc1f81bbcd,908b6a72167b2b8a23c8e17397b09a04575b7c9930868e362a7e7ef423db611c,mais_humana.mcps.contador.explain,publicar e validar tool MCP para mcps/contador +mcps.financeiro.provider-tool,provider_tool,mcps,financeiro,ready,live_write,100,True,2caa5a9b859262f814451274b7c28abf3c3855b4323b0aac9754ed5530a56832,5a8600e9e1c6ad16388c7dca224bd7cfe48852e628d3b5165331de1e9757df34,mais_humana.mcps.financeiro.explain,publicar e validar tool MCP para mcps/financeiro +mcps.gestor_operacional.provider-tool,provider_tool,mcps,gestor_operacional,ready,live_write,100,True,85d2177ea1fff063c460a264eaff4a9835183db34e40c7de8124f4565ed94b38,f1d7361d18da523b8cb198667c14d3cb99d229c33e790d6066a23a260c4749ff,mais_humana.mcps.gestor_operacional.explain,publicar e validar tool MCP para mcps/gestor_operacional +mcps.juridico.provider-tool,provider_tool,mcps,juridico,ready,live_write,100,True,14e86607c2d0fc2c717de8aa09b0d9908c8f175d926f6bc24a1dcc1c3b3de0f9,ab0faa7ba76e11bf88e6ca99fd92c031dbff778505282509c5159414606a3bb4,mais_humana.mcps.juridico.explain,publicar e validar tool MCP para mcps/juridico +mcps.planejamento_estrategico.provider-tool,provider_tool,mcps,planejamento_estrategico,ready,live_write,100,True,ac34b7e70eaaa0d9af71703d26122ad6d5611dd45c2b74df2af42e685ab17d6f,7c64da379a9ebf6c3bb60c2e371b3934f252ca6c198fd324ab2ffc2cf6485dcd,mais_humana.mcps.planejamento_estrategico.explain,publicar e validar tool MCP para mcps/planejamento_estrategico +mcps.secretaria.provider-tool,provider_tool,mcps,secretaria,ready,live_write,100,True,eacac684eea54d5c9104e713b192d6593e241b17d812891559a87dfd05e9b37e,e37c6cd20d7af17cf65319d6c5583fe5b7723073b29d15eb3b39ce29845f4d24,mais_humana.mcps.secretaria.explain,publicar e validar tool MCP para mcps/secretaria +mcps.suporte.provider-tool,provider_tool,mcps,suporte,ready,live_write,100,True,1079dbd5a060987e90831f66729c0292ce746e6115ca7613696041ee269a2d87,7bea6dacf65d05f08bf62e56eeff76a4f17fd87d4e12e9fbfba62ceacfdf9b1a,mais_humana.mcps.suporte.explain,publicar e validar tool MCP para mcps/suporte +mcps.tecnico.provider-tool,provider_tool,mcps,tecnico,ready,live_write,100,True,47edc20df3b10d02aa0daa69954f72b1c09c141f31b85c66f1ff078f854999bf,8949ad5d487f5beda4ff9ee470ebcada61d3d3c582785a8e2607bf1be1a7383e,mais_humana.mcps.tecnico.explain,publicar e validar tool MCP para mcps/tecnico +mcps.usuario_final.provider-tool,provider_tool,mcps,usuario_final,ready,live_write,100,True,0786628caffaa36df1f7ee8fd7bef1dd8a3200fbe406ddc444de64c117b77f3e,7fd1c5aac8c61e5e95a69097f35c005162a70b56de54a7f797faf246184eda92,mais_humana.mcps.usuario_final.explain,publicar e validar tool MCP para mcps/usuario_final +mcps.cfat.redaction-policy,redaction_policy,mcps,todos,ready,live_write,100,True,235667c845e3c6ccd02ac0fb365eaaf5658d0f867ee61b80843f98b7064535ba,b8478ef22796f80b14ce63b5dfa45efe422321ddc50429673bca2ecac3841d6d,mais_humana.redaction.guard,executar varredura redaction para mcps/cfat +mcps.credentialref.redaction-policy,redaction_policy,mcps,todos,ready,live_write,100,True,538dce0e8dc2ddf69b051601374f7ffa617b3de310fe59126405257198ad6be8,bf4815e9b072442f58286ba5b2ea72a81ae9e2bc4b02175b4aee3e83a9793b76,mais_humana.redaction.guard,executar varredura redaction para mcps/credentialRef +mcps.secretref.redaction-policy,redaction_policy,mcps,todos,ready,live_write,100,True,48160668032185dacab25f33f28f1aa44959d466b7f202ca15a411ba5ee4be34,99cd58ab43221400fc1866dca44deca07f9fa7c72196847cd9bc3b12e45ce154,mais_humana.redaction.guard,executar varredura redaction para mcps/secretRef +mcps.tokenref.redaction-policy,redaction_policy,mcps,todos,ready,live_write,100,True,5504966d629eb4c4896bb38fe13b87b2e29b1f8ad44a2cb87e2fa2ffa115330f,a324f333340b5c8eee80bd1dd25bf15b426eddf6013e23b4b4824a074cd00a95,mais_humana.redaction.guard,executar varredura redaction para mcps/tokenRef +mcps.administrador_empresa.report-model,report_model,mcps,administrador_empresa,ready,live_write,100,True,48b64c470e93d3ea597c206279a1edcefd5a01486ad1a6d1442d9bc6c92d448c,c8208ab183068d000b4ea423655e519a6e8c444901de5d52b05e39e409058c14,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/administrador_empresa +mcps.atendimento_cliente.report-model,report_model,mcps,atendimento_cliente,ready,live_write,100,True,09fabb90aa7e56ff2cee506c1982ea0e15bfce1e13673477fb6d1ade04dcb624,f9176ac4479d6d1008d547beca97cb492d07f2cdc6ea150ccbd2a3beeda6d03a,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/atendimento_cliente +mcps.ceo.report-model,report_model,mcps,ceo,ready,live_write,100,True,829eabe8f36cd3a4eaabfe44f2f16611624c17050857fe9779254c1285251200,cab473882c1c31b9ab53dc0acc22a2a667e8cf5159c2beec8ba5c28c617d93a6,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/ceo +mcps.cliente_externo.report-model,report_model,mcps,cliente_externo,ready,live_write,100,True,7c8303760e5dfa4d503ed67aa677dc602562d6335f4ec79871806a9b0aa81c8c,2db58d9419213c29ca0138b5ef262c203a2fef13bb58cc4c7daf00f74d1f47d0,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/cliente_externo +mcps.contador.report-model,report_model,mcps,contador,ready,live_write,100,True,c588c85be2bfc5f143675e684f14e5fc2b099a0dc2fb2779254bf591bdca61d4,7ab7785e4b094e78fe78e5ad7c241f12cf295731a4a7144b47e1bfc929451f20,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/contador +mcps.financeiro.report-model,report_model,mcps,financeiro,ready,live_write,100,True,46f8666a1a07b731cecd8d375df1616fb4b5c9022fda5ff64b7d0ab3b0dd0190,119597804074741c72d8a4c8b34e70cb320ff6419184b715bc38eb1a214718e9,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/financeiro +mcps.gestor_operacional.report-model,report_model,mcps,gestor_operacional,ready,live_write,100,True,cf6000af443de08a4915beec6a81d56accf5923319886778b16a5829d1cb9668,7510af528628a0a75d25d6f041b3cf7bdc7b1fb0f9efacfda0846b2a38cf05fa,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/gestor_operacional +mcps.juridico.report-model,report_model,mcps,juridico,ready,live_write,100,True,7f3d144e45b1479733e8c8516f9447315826b4097d8488b1bdadb0a27527c58a,907696dc64c643b54f49a3f0e8820650a2f9484145e6109c77b25c4604c298b0,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/juridico +mcps.planejamento_estrategico.report-model,report_model,mcps,planejamento_estrategico,ready,live_write,100,True,b8a679cee0a3aea40f42f8e0100eb8ee7747a6de4561624cadaf4ab6c671a622,ff6316cb03fb3297cfb21f9a26f1e4aea952fd339f6227aa47c4cba7e03cc815,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/planejamento_estrategico +mcps.secretaria.report-model,report_model,mcps,secretaria,ready,live_write,100,True,ab51099f3adfd7f38108b5bc893bf9702217c837ed0ee8b2a76f36345df0f6c8,e515d510ac932ce0dcbcad970011b66431a14e52063f9754635b83bd1e1405e6,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/secretaria +mcps.suporte.report-model,report_model,mcps,suporte,ready,live_write,100,True,8e4114df6c9cbb591c09aa7de76e32a8915388b6c8fb72f4499ba4a9f4f7e599,a168f64567d13431ad19d451420844a4309d7e77b78951b14b58c30dd7ac321c,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/suporte +mcps.tecnico.report-model,report_model,mcps,tecnico,ready,live_write,100,True,9f8c7b3c48a499caf12a3c2c58b962f5077fda13552b7c127b12a50084b7496f,76c9b55853a5f49643a3e3dae795c910f6a3261d85c9c9bcdbeed0d1492d919b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/tecnico +mcps.usuario_final.report-model,report_model,mcps,usuario_final,ready,live_write,100,True,b1bc5454784fd5b96160a3c8863869399fd89ea61f0e2e802c18166aa70aaf83,835a99645a8e5837c3130d9d3fcafa388d4ca3ff46aff9ef65ace9042753530e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para mcps/usuario_final +mcps.acao.transit-policy,transit_policy,mcps,todos,ready,live_write,100,True,c153957c1c0046b1e9223a906b6ad3961cf15fcfd73b573ffe122e207f9ef16a,f6c0a6885fc49a02f41269daebb6c303d356156e6e80c464fb7bd7ad92c0a0b5,mais_humana.transito.acao,validar politica MCP de acao para mcps +mcps.auditoria.transit-policy,transit_policy,mcps,todos,ready,live_write,100,True,004ad2806ff103922238ab1ad801bf936ebb6a9cf6d69ac2ab209f9bc8782680,97e48527a506d6a97991775950741ac07e84f15c68c329230d48f7badfc9a18d,mais_humana.transito.auditoria,validar politica MCP de auditoria para mcps +mcps.consulta.transit-policy,transit_policy,mcps,todos,ready,live_write,100,True,3ae152046b7ebe92482cd03e70a6f9ef0067d5cb059b1a67146f4f76148a0e16,98fae887fe4587dce8aeb95243d7e4fa24f2182341658f83db20152898144157,mais_humana.transito.consulta,validar politica MCP de consulta para mcps +mcps.diagnostico.transit-policy,transit_policy,mcps,todos,ready,live_write,100,True,716fdc23fa44e7ced71a0fe477e39565b5060e727bad569c856569b62ab9f766,85d0a0ae1b969081c361f77bca574f1316d1773e1363508c6b081dff21292c5a,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para mcps +mcps.explicacao.transit-policy,transit_policy,mcps,todos,ready,live_write,100,True,0e83a80c09039a4bf2b1202139ac3aef0e0e5da0e23abc6ef8549a5fc69394c4,27a1d5d94ee552aa3b711c110731797dd27d6238ded30a3ce75cba874a95f04b,mais_humana.transito.explicacao,validar politica MCP de explicacao para mcps +mcps.admin-ui.ui-screen,ui_screen,mcps,todos,ready,live_write,100,True,74004e4f94d3af9fe8deb623ec159c60c41692f3adb8cc89b2b34863813d68cb,906fa74e148d2a99326f1eaa95b95896914c9aaf44143f8cc3ce59c9675ed75f,mais_humana.admin_ui.same_source,validar same-source da tela admin_ui em mcps +mcps.catalog.ui-screen,ui_screen,mcps,todos,ready,live_write,100,True,a1df53048e581fbe93a55298687ae40883b6ace185c623939e11a755d46ce732,c5a247497b012e7f0fa95f2e878d9002e8ef5b1c08ade42b92389dc9b642538a,mais_humana.admin_ui.same_source,validar same-source da tela catalog em mcps +mcps.evidence.ui-screen,ui_screen,mcps,todos,ready,live_write,100,True,eb2559ccb8ac3bec49319cb17a336e9cd2c6ba28c7b40c98edeed1cc71b292e4,b86b494905c1474d67588e6e8c525374a2083f3db37762754e05877d61a6a087,mais_humana.admin_ui.same_source,validar same-source da tela evidence em mcps +mcps.readiness.ui-screen,ui_screen,mcps,todos,ready,live_write,100,True,2f4fdddd1c79acebf639c40eb3ea3375ecb5ba3932c41889245ccfa4df532cf4,8a4b80e1f43d06c433b00bbfb9c90d8827762eee7da420e982217cdcdcf098a4,mais_humana.admin_ui.same_source,validar same-source da tela readiness em mcps +mcps.samesource.ui-screen,ui_screen,mcps,todos,ready,live_write,100,True,fadd5d57f1d45cdfe89d4e07612ef3afe25677b1c1b5a355d8c1aaefbd4966c5,d04401ec8a4da0d36c1115c5106cb276d016d09b1e84e28bac7bf3417d76c3c5,mais_humana.admin_ui.same_source,validar same-source da tela sameSource em mcps +mcps.tools.ui-screen,ui_screen,mcps,todos,ready,live_write,100,True,f57f55061b106b8f6d6b50b70e59545f0839e1e9ffff171794e9a1979f4dbf8b,0a4a9777f8c71931304726f5d1ee8b741998e575b487d076e4721b88dacc84e0,mais_humana.admin_ui.same_source,validar same-source da tela tools em mcps +platform_base.administrador_empresa.provider-tool,provider_tool,platform_base,administrador_empresa,ready,derived,100,True,f5c930d089539143f3b3e819812cab6685a3e209d4e0da4e2cac66d6f804857c,96da77c0053c091282b1f2a7400c74f6daa67d2d0d1fd415d110a379c07a70a0,mais_humana.platform_base.administrador_empresa.explain,publicar e validar tool MCP para platform_base/administrador_empresa +platform_base.atendimento_cliente.provider-tool,provider_tool,platform_base,atendimento_cliente,ready,derived,100,True,d32732d07e0d5b5153e8a3ee935ad4b206b95a4a8292823867dc9da88575d534,c397c70b0550e2adbf1ff1e516c0be5fa46e1bd2f7945e7af185524a754f8aec,mais_humana.platform_base.atendimento_cliente.explain,publicar e validar tool MCP para platform_base/atendimento_cliente +platform_base.ceo.provider-tool,provider_tool,platform_base,ceo,ready,derived,100,True,ac90a753b12f0c598c87a3074310f689f77109c2ca51fa8a0279c302575fba0f,4440908adb6db6c934ce34d9dc0b8774667f3c3f69698f64cfee328c86a26bd7,mais_humana.platform_base.ceo.explain,publicar e validar tool MCP para platform_base/ceo +platform_base.cliente_externo.provider-tool,provider_tool,platform_base,cliente_externo,ready,derived,100,True,72a518fad763d81c9e2ad2abc36d2ef97d03ca9898800387a515b23e2b6ed296,97222235514e34904c1f4787913a72a12b1b48d41e66f065ccf4a3e869575d98,mais_humana.platform_base.cliente_externo.explain,publicar e validar tool MCP para platform_base/cliente_externo +platform_base.contador.provider-tool,provider_tool,platform_base,contador,ready,derived,100,True,08ea5c4ec6caadf768afe7d903670021fc7ebf04620b1dd737c06743d2a1781e,134fd71a01caa593b677c5c1267879cd0832c0d6982e2e21173747f6e86f2d89,mais_humana.platform_base.contador.explain,publicar e validar tool MCP para platform_base/contador +platform_base.financeiro.provider-tool,provider_tool,platform_base,financeiro,ready,derived,100,True,926af4e038b125c6ccd1d10975b26129161ab4b5e8ddb94c4da2ee7f4e141a82,aaf69be5f17e034136b41789cbc2f715c9ddd198560ba08f3b0c83e02da8deab,mais_humana.platform_base.financeiro.explain,publicar e validar tool MCP para platform_base/financeiro +platform_base.gestor_operacional.provider-tool,provider_tool,platform_base,gestor_operacional,ready,derived,100,True,ca6d1c24614b9498c767a5db40466a41aacdfce71454d5d5ab5ba31f78a49f09,f717006d8aa4610f1cd68db647e78f3f396d14e599c65a03a39d7f535b21c841,mais_humana.platform_base.gestor_operacional.explain,publicar e validar tool MCP para platform_base/gestor_operacional +platform_base.juridico.provider-tool,provider_tool,platform_base,juridico,ready,derived,100,True,7161190a526b770b769ceea8b5adcae9a752e713a1a9bd289d19e2205f9a074b,0dcd5ff2ada95fa2d196971eee07c4aa898a26a128df43f62beef32f79ce4cbf,mais_humana.platform_base.juridico.explain,publicar e validar tool MCP para platform_base/juridico +platform_base.planejamento_estrategico.provider-tool,provider_tool,platform_base,planejamento_estrategico,ready,derived,100,True,927950e90cf38cf8b177beafa879ed428ce1a908a0d855d5300a2aaa1b63c368,d01181d2b3826b7e786ad9e8f220842b47bd805be7ea438970969a32eaf35586,mais_humana.platform_base.planejamento_estrategico.explain,publicar e validar tool MCP para platform_base/planejamento_estrategico +platform_base.secretaria.provider-tool,provider_tool,platform_base,secretaria,ready,derived,100,True,ec150da6bb9355ac099f025c0a4b6ffd3c7da71168289f9f03574d63497cadf2,f4fcf773e81d5dd374e90f11ce942a08b46c4b9fc650c0db163f44528f6b90e3,mais_humana.platform_base.secretaria.explain,publicar e validar tool MCP para platform_base/secretaria +platform_base.suporte.provider-tool,provider_tool,platform_base,suporte,ready,derived,100,True,56fbaea7e8712c6fb9eb420ce84550b98eb80ff87d91ebbac8db89f0a1eb1847,858d38de5d8dd0ff1347ee1f5705a235863f21aec15ad87f8b79ab94fa296619,mais_humana.platform_base.suporte.explain,publicar e validar tool MCP para platform_base/suporte +platform_base.tecnico.provider-tool,provider_tool,platform_base,tecnico,ready,derived,100,True,11baa64871e5d8e5ae6e3244b68fe11f5c63c778c83a60da0e9c63fda96e94a3,3c4552ca5e76915061f8216d35c16158619bc3fd620039a1b5439d2415f83e01,mais_humana.platform_base.tecnico.explain,publicar e validar tool MCP para platform_base/tecnico +platform_base.usuario_final.provider-tool,provider_tool,platform_base,usuario_final,ready,derived,100,True,62f5eb2945d3eb2b35b31862aff6309ee7599f610c0621ae0a75aae13bf3b811,c08c4ff33b65f924b60f035bd9190328b56c34447fdbed86628364d18ab08bf4,mais_humana.platform_base.usuario_final.explain,publicar e validar tool MCP para platform_base/usuario_final +platform_base.cfat.redaction-policy,redaction_policy,platform_base,todos,ready,derived,100,True,eae450c14ac78cff46a52429df876ee8190fbb8793bbd46e3e23cab93170102c,5df5c7a948c2c841bdbbd6d6c1a52d4ac431debb7467e571c91fd16d38a6ab65,mais_humana.redaction.guard,executar varredura redaction para platform_base/cfat +platform_base.credentialref.redaction-policy,redaction_policy,platform_base,todos,ready,derived,100,True,a978d316ee16c41746984e90a7c9c17559a55dd9f935f4e60278ae6036cb0af4,823a184b1b09f4d52fc551233d39d63c9bd50964fb1a973aad8f0da46f57b7e6,mais_humana.redaction.guard,executar varredura redaction para platform_base/credentialRef +platform_base.secretref.redaction-policy,redaction_policy,platform_base,todos,ready,derived,100,True,7603bc2ca4f1d9d50de4bf416ffc068f3a35f76e254c17f513a10f8550447bdb,cba05bc15ffd68a285765f35ec044688e7ebc829d340b9b625990bef2e14edb6,mais_humana.redaction.guard,executar varredura redaction para platform_base/secretRef +platform_base.tokenref.redaction-policy,redaction_policy,platform_base,todos,ready,derived,100,True,500e7e9664b46a988e3a78d904cab26de67212aea14546cc5719c2063449386a,eeacc915adbd277cc0c275730d69a6d21fe63576d3372a57165af759cc3da5b3,mais_humana.redaction.guard,executar varredura redaction para platform_base/tokenRef +platform_base.administrador_empresa.report-model,report_model,platform_base,administrador_empresa,ready,derived,100,True,5e2b1bc79dadad8076829bee19ad94e802811e8cc85180e5c0eca306c0dcf0d5,54d27f22c5ba0ff7bec73a69d539fdd15f9daaf99f4db901ec32234dc4829255,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/administrador_empresa +platform_base.atendimento_cliente.report-model,report_model,platform_base,atendimento_cliente,ready,derived,100,True,1e25fee1869077577a9bd80bb69565b6455abde49293f8c69a15b250eb01c787,570d49acb9a0d2f907f008472c914c1d181ea69a5dac95c3a3ea0366ff84f214,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/atendimento_cliente +platform_base.ceo.report-model,report_model,platform_base,ceo,ready,derived,100,True,14b7562d0a9935ce2d099e39aa9e034dbf18125431365ef44ff9e71403ad6ca9,4e43b9ace2640cf5766ce929ce430081a97b842404b18f446a280fbf96cc5ece,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/ceo +platform_base.cliente_externo.report-model,report_model,platform_base,cliente_externo,ready,derived,100,True,64e19d416a4527794b17d2aff6b7da1261fc4c2e5d3d4ec21d9aac30cb51526b,c375367e665741fbc0fbb26f5171ec45ff1861d349ccbe236d3a72a5ec07b4c7,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/cliente_externo +platform_base.contador.report-model,report_model,platform_base,contador,ready,derived,100,True,f6b4765076e6de8e0a72be306df5c161f72bde2e4d44d1d72296d2b408273450,0cd38e67924de303245013126e1e1b6bbca8a09374781036037e904a54b70a1a,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/contador +platform_base.financeiro.report-model,report_model,platform_base,financeiro,ready,derived,100,True,3706866a04f20767e737316a8bf4474b52360d826aa7743c72238a83d642b0b0,d24ddd90a5b288af47360d8865bec5e36e57ac43bc4be3b81b3952489d2e490b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/financeiro +platform_base.gestor_operacional.report-model,report_model,platform_base,gestor_operacional,ready,derived,100,True,b884229d241d11dc21de9a6b52a2de3518ae1b3c0de6160b9b0920d239d63588,e329ca9635200cbec608a821cad037559e990807814d63ded01e93eabb5dc9dc,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/gestor_operacional +platform_base.juridico.report-model,report_model,platform_base,juridico,ready,derived,100,True,e6851a17f2a937bda12dc37662a8b1d1c3aabcd761c38fdc50da18ee242bd8fc,1fe2b3db7d605f80a04fc2abed3673874831c510b948c1e9243878868838058c,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/juridico +platform_base.planejamento_estrategico.report-model,report_model,platform_base,planejamento_estrategico,ready,derived,100,True,fe16f43baf7887dd2ef2d285260c6a9044155522aa8a6dd73d2af06a6023f2b7,ca6286f2e75aaac9e344505ee6eb2dbd3cb768f6f763b396dd4b3371ce6857b6,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/planejamento_estrategico +platform_base.secretaria.report-model,report_model,platform_base,secretaria,ready,derived,100,True,eb9afce67bf5a189cbb7180ffedfe37c0013849712cc51a3bba8c02f8417fae7,371ff13d753a4fc0f9292b4959b0d5c014086940ed4ab3e292283cf44f8be4c0,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/secretaria +platform_base.suporte.report-model,report_model,platform_base,suporte,ready,derived,100,True,60a47ce60dc2ea748921db71fbd58346df8a48c0cfe3c94dd5f4a9a35847cc4c,246deba2f7fd9c9bcce59eacf734466981c9696b77a1a1d9dd0bb7a0bf03a806,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/suporte +platform_base.tecnico.report-model,report_model,platform_base,tecnico,ready,derived,100,True,fc181b3ea7f31895ad54a1c1c6a647cd805ad6a879d7ff0dce42a7e0dd520215,2caf6e485f6f80050d50c6e3176f43842efdad1fb04e1d00156f0a4c7a7da087,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/tecnico +platform_base.usuario_final.report-model,report_model,platform_base,usuario_final,ready,derived,100,True,ba329899a9df91dc1aa59a98d095d5cbe3ee3d3ff6259b341abca05b0db91147,a78f8b8624b74713676950bc340ca31498faa63d3e9b02db5ff91af156c49ed3,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para platform_base/usuario_final +platform_base.acao.transit-policy,transit_policy,platform_base,todos,ready,derived,100,True,2b33a0f62462ed22501e4a043e4f724379b6ee831bad4c84e302f92b9af14472,cad504720c8dd7716d3db9ac8280c34836f49e3ae3747184503b907596477a5c,mais_humana.transito.acao,validar politica MCP de acao para platform_base +platform_base.auditoria.transit-policy,transit_policy,platform_base,todos,ready,derived,100,True,a4c7007b05f54cb56af94403c9eea9c8ff9eeaa25c9c817d974c27ae841f229e,d3096bf99b7c2c264291b77a40294dba0d9bdea0915c5b1956ef1d41130de0e3,mais_humana.transito.auditoria,validar politica MCP de auditoria para platform_base +platform_base.consulta.transit-policy,transit_policy,platform_base,todos,ready,derived,100,True,a2ed0f26e41bd546d583f5229f8a56a8da2aaf3afdab9c68116fd75503f7a6ed,de98d667317381923e220ec0b81e6e6ad6ffaa84e9ecc7aaa0d8c4369f422fc2,mais_humana.transito.consulta,validar politica MCP de consulta para platform_base +platform_base.diagnostico.transit-policy,transit_policy,platform_base,todos,ready,derived,100,True,55caa5396a425fc3b31e51e3efcb79f6c887483d047793033f22a1973a8e5376,429de56943b494597397c0bce6f0ce0c918f86d135edca2c697d800db17d08fc,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para platform_base +platform_base.explicacao.transit-policy,transit_policy,platform_base,todos,ready,derived,100,True,6b46fb484128ff895b2616bdecd927a9a5b6be87b881efabfed6031c9b298b0c,9cc9ce968826ca8740cd789712c29c682cf83d62cfa551f63f10da1ba621ac5b,mais_humana.transito.explicacao,validar politica MCP de explicacao para platform_base +platform_base.contracts.ui-screen,ui_screen,platform_base,todos,ready,derived,100,True,608355d42bbe727df7ab637815e0d7b3c5ca483d32a7700d0376b11758b2e7cd,9cbbe5fc4e1f8542b156a36432271c42f6859f85e07266349d657fc0025346c3,mais_humana.admin_ui.same_source,validar same-source da tela contracts em platform_base +platform_base.shared-runtime.ui-screen,ui_screen,platform_base,todos,ready,derived,100,True,7edeb422ac6b5cb0829811061fe3594e9edbc931cebb8c13be719b70c86ca671,44606375baac865d833fb597545b9bac6ad5b42f05eb9facbb46bd48353137e3,mais_humana.admin_ui.same_source,validar same-source da tela shared-runtime em platform_base +platform_base.standards.ui-screen,ui_screen,platform_base,todos,ready,derived,100,True,720e4c24ed3d6d4e52d8cf345d415e6d3041d7b122a73717fefaef29e48559ec,558aeff86cc2e24aea531c68b635fd09b4f43bf3f33da81c7e298732b45c643b,mais_humana.admin_ui.same_source,validar same-source da tela standards em platform_base +platform_base.templates.ui-screen,ui_screen,platform_base,todos,ready,derived,100,True,eb0c54efd7aa456b255fa5e07cd0d7bb32381f9919530a0cdf799369c46d82f0,c0a0ff8c4e0f97717bd444a50c66cb0662d3bcacfc44705af53034a74e8caf0a,mais_humana.admin_ui.same_source,validar same-source da tela templates em platform_base +public.administrador_empresa.provider-tool,provider_tool,public,administrador_empresa,ready,live_write,100,True,2b393872f193d84a81a700073f4d7a49df00a6bcd88771322cc0df1273ee437e,bd53aefd65152457039af7bd545980a25734f312f41988f81372cde65a45b747,mais_humana.public.administrador_empresa.explain,publicar e validar tool MCP para public/administrador_empresa +public.atendimento_cliente.provider-tool,provider_tool,public,atendimento_cliente,ready,live_write,100,True,5aabaed2833debe459a05d15ec282722eb83cffac529323a7557d7735af6e9fa,0b2ef0281d21b45a78524cec2a31f87e3eb4d90394a9597a36959eb5de8c4f23,mais_humana.public.atendimento_cliente.explain,publicar e validar tool MCP para public/atendimento_cliente +public.ceo.provider-tool,provider_tool,public,ceo,ready,live_write,100,True,80865e4200bdd5dc226d1e1e3c10a4f1b6e894acc4a77b2aa973127aa60b9db8,4e59a40d2a75fa992661fd1ecccdc5319e833010ddabc77299a307b8dec83cd9,mais_humana.public.ceo.explain,publicar e validar tool MCP para public/ceo +public.cliente_externo.provider-tool,provider_tool,public,cliente_externo,ready,live_write,100,True,1aaddbcbf0770372e0ef293bdac089b0a75eff3ee1088d02c31287f1c6fa8dc4,af1764d663fbee2f6b9e65b405ccda99fe2a62881a8904c76435eba82cf11077,mais_humana.public.cliente_externo.explain,publicar e validar tool MCP para public/cliente_externo +public.contador.provider-tool,provider_tool,public,contador,ready,live_write,100,True,6c705590e488f22877ae958da525d509a9eba60d6a6521b3e2bd820eaa75dbd9,af10e8b7326b42d021e490f1201ad7b4dbfd9db7ae547a9fcfe1998f05833cee,mais_humana.public.contador.explain,publicar e validar tool MCP para public/contador +public.financeiro.provider-tool,provider_tool,public,financeiro,ready,live_write,100,True,19f782b31e5ddb5fa59cf6f9d98d785f6412ef6debf1ce6bf9fbb08fa27afb56,1f86bb7505b6b28d65730fe62058b45a5755857263c1d64361e01b06054b9651,mais_humana.public.financeiro.explain,publicar e validar tool MCP para public/financeiro +public.gestor_operacional.provider-tool,provider_tool,public,gestor_operacional,ready,live_write,100,True,d5a179ea1db51417d1a372a1ed601795c8ad21b677a49258e04e6bbd5b0fbe34,887cf98f359234e2fe9d08d21e7baee13bc1da1e6c85e311d6db5de236157b8c,mais_humana.public.gestor_operacional.explain,publicar e validar tool MCP para public/gestor_operacional +public.juridico.provider-tool,provider_tool,public,juridico,ready,live_write,100,True,a5232487618bdd0b716530db66a37cfaaff3133a1625d19ef91bbead31cd1fe5,6b4e6104fb4f558a12c75b18c3ffebe5a875958b5a7a22406095a92869f0bedb,mais_humana.public.juridico.explain,publicar e validar tool MCP para public/juridico +public.planejamento_estrategico.provider-tool,provider_tool,public,planejamento_estrategico,ready,live_write,100,True,145923390cac2ebc069c5e54a7bf671f5723e49ef68311817caa10a684a6cb20,a95935a90c962ccccbe9b67c14022e15e10de9c3f4d776fb5d53d442763e78e2,mais_humana.public.planejamento_estrategico.explain,publicar e validar tool MCP para public/planejamento_estrategico +public.secretaria.provider-tool,provider_tool,public,secretaria,ready,live_write,100,True,e67d5ff5491251625da4a45182268cd0156f244ccc13adc9fa8cbe0c71dc1966,8460c7c8e18f2d43a0e8efafa819a652576f97eca314fa7459289f5df2be072b,mais_humana.public.secretaria.explain,publicar e validar tool MCP para public/secretaria +public.suporte.provider-tool,provider_tool,public,suporte,ready,live_write,100,True,dd5a116285d2e1e43b1d02d45c737092fcea6a0130a63deaf88a5da79fc90052,e7f4fdb7248ab09be152f51b3cd5f08cbff604c3f8792bd66a97657990f69206,mais_humana.public.suporte.explain,publicar e validar tool MCP para public/suporte +public.tecnico.provider-tool,provider_tool,public,tecnico,ready,live_write,100,True,7b30af54c2475cc6f54c4a9fab0d5ef4b526dd4ef8a6ec5d953858474a996872,779965e7d8a848b94d3af2777e7606022bdb9e4e5555d2c3038bc686ea46c29c,mais_humana.public.tecnico.explain,publicar e validar tool MCP para public/tecnico +public.usuario_final.provider-tool,provider_tool,public,usuario_final,ready,live_write,100,True,34df12629065fd2a8425c86a554116c19bb98ab1709f606fbc235c7ee1a2afd1,c9a59369cc2dbbcda09f463beb66285beebbd4bab5f76eaf49b0c30d77d25be8,mais_humana.public.usuario_final.explain,publicar e validar tool MCP para public/usuario_final +public.cfat.redaction-policy,redaction_policy,public,todos,ready,live_write,100,True,e581fe55bf2a682633ab8d21bdb47cdf49eb0a8908c3f91bc4ba58ab794398c1,7b80c27f4fdcd554a922d4d7af53f3a66cda2d21593380cdadda0797ce1395c5,mais_humana.redaction.guard,executar varredura redaction para public/cfat +public.credentialref.redaction-policy,redaction_policy,public,todos,ready,live_write,100,True,2b98e80028f5cf39118372802500fb21079d77c82e9156b3dc327ce20a6db3f3,f1e77315ae40a7101b7ad10e5f84d34dc877d7fa1a70556790a4a74456be98ac,mais_humana.redaction.guard,executar varredura redaction para public/credentialRef +public.secretref.redaction-policy,redaction_policy,public,todos,ready,live_write,100,True,de77f349c7ecb4778d929140e74bc535a8c2225407b9db9c6475235495bca656,ff572815b69775b6f565c7d8f1267e4229a84b4fa92a59be0a8c67de80f0b2b5,mais_humana.redaction.guard,executar varredura redaction para public/secretRef +public.tokenref.redaction-policy,redaction_policy,public,todos,ready,live_write,100,True,4c44bde5865c6032a70528079c420bd0b31dd8bfaa09d0886b577572b05c4074,d9bba3bdab61c40e3e80069ae67df512229b7b59bd580bad4ad759f3195052a3,mais_humana.redaction.guard,executar varredura redaction para public/tokenRef +public.administrador_empresa.report-model,report_model,public,administrador_empresa,ready,live_write,100,True,9b7e6cc7755e7b19c1c152bb1f0fe5cdb6b71919b5bc86d7e7ccc6bd1b863b98,ee3397d8ff5a4abf03922af5e6c2178dbd291b98fb3fc533973581ec24951988,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/administrador_empresa +public.atendimento_cliente.report-model,report_model,public,atendimento_cliente,ready,live_write,100,True,026805a291ea379d8b4fdeff01d7c32d7f5c34055eb4ebc3a574ed86a033bf64,58f49439a146dfbfab495c38e6c9b7f07af18ed55c356ddc853de83d005c5e2b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/atendimento_cliente +public.ceo.report-model,report_model,public,ceo,ready,live_write,100,True,76e24c4e1a371f33fb068194641261f7ff3090de3682d08fd4142bf50da5d59d,48bc8080fed1fdf3eac120b58824c691f1fad8ee4e5d2443bc25071ed0508d73,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/ceo +public.cliente_externo.report-model,report_model,public,cliente_externo,ready,live_write,100,True,0e237049cdfdc2b76710fd03f8c3f472b98c146703531957a1263bf7ad3a80fe,bbd5a34976fc8c02999d000e01ccee7c38999ed0bfa65893c0da603ff204c959,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/cliente_externo +public.contador.report-model,report_model,public,contador,ready,live_write,100,True,e30d75a9e1d8725a38e5ac9f359d15a4400789d44d9957a112058008769fcd11,af8f56edea90fe2fa8cd1eee2fb4241728e447c867466b6f0d5b7611c242cbee,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/contador +public.financeiro.report-model,report_model,public,financeiro,ready,live_write,100,True,02515c7324696d3ec9d9ea11a605f8f28dcc1588dea252a6fe95a939a704b9ef,aaadc580f6ebebb8d767705caa1389d45e6b314ffc164c3e29ecc46e701580d6,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/financeiro +public.gestor_operacional.report-model,report_model,public,gestor_operacional,ready,live_write,100,True,9ed068d0e95e027c8442bcb0879bcbac3adaf0610f0b19509936dbc72b3f9de2,68c60427e55085f726010e20ec54d2230655116183952df7b4a8d79c1ef3db6e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/gestor_operacional +public.juridico.report-model,report_model,public,juridico,ready,live_write,100,True,391eb0af09c83964b8af99ec646715100e0eac8aec9174629971b13040b977e6,9341ff6ab2127b7eff4f5003b9bc1c597a2204bdf17c3bd6233b34fa0dfe6148,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/juridico +public.planejamento_estrategico.report-model,report_model,public,planejamento_estrategico,ready,live_write,100,True,5ea243f32727fd7124fd0fd196a0717b1a3fe926de202b4ca32cdee6914192ea,ea5e464841f01e795245a54bbf91481b25190a9c89b61e1c46c55dfe19b40467,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/planejamento_estrategico +public.secretaria.report-model,report_model,public,secretaria,ready,live_write,100,True,0453b8375b01bd3e64786ca539a27b1c1edf02060a8b1a123ead23c5350a729c,7feccfb4c8abe51e7ae0f591364a01ffca45a036ca692b37717c032f1a4d486a,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/secretaria +public.suporte.report-model,report_model,public,suporte,ready,live_write,100,True,ab9ad476dda12d48569318a6d02dc072ee5325f8c57a08cadb25263a9b42c092,c4db0e3a392f7265a536cd13ad681d02a031ce641da0680896cc9f2e79262811,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/suporte +public.tecnico.report-model,report_model,public,tecnico,ready,live_write,100,True,e4686551d4acfae883c4203c0728676b433f95422d1e081daff25b09a54b6e9a,bbaf2ed72d32b9a58253203c55459fceed306b0a8e08d9e8f2f11aa0e956bc2e,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/tecnico +public.usuario_final.report-model,report_model,public,usuario_final,ready,live_write,100,True,f128b6ee0fea857d6bb559c33f5fadbce03b744b28d1a6dc425bce2a8f7bf593,331a3d7f92405589f2a14a399da2cce5c3a1b0d6f4c358698a0ba222106fc0dd,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para public/usuario_final +public.acao.transit-policy,transit_policy,public,todos,ready,live_write,100,True,209d286a2c8059d3f9050c2080814b21d51908198fa5b8447ee464c04743c7b6,913f7b2a679f5e05f608879d2bd27b711b228171b2c7e5813dd2834ead3b6a25,mais_humana.transito.acao,validar politica MCP de acao para public +public.auditoria.transit-policy,transit_policy,public,todos,ready,live_write,100,True,285b2e96612310c3d069b550c146e8b9fa5114247fee2276b47e36b0ea0d245b,af1e69724c1bbefb9eec6609556b8036e34742cfa99a106598a53d2177cf1744,mais_humana.transito.auditoria,validar politica MCP de auditoria para public +public.consulta.transit-policy,transit_policy,public,todos,ready,live_write,100,True,0c876f6017756132602231a71616461a988c000a3c86303b0c3dfefd81680a22,ee5076a84ae2053ef4eb22fbafc0e24426efa0f21b4e2dd2efb06322c68a1aac,mais_humana.transito.consulta,validar politica MCP de consulta para public +public.diagnostico.transit-policy,transit_policy,public,todos,ready,live_write,100,True,b09c67f1c91fc5106586b26d5ad1e7aa5a7861f3998faa7d296199428af05faf,e95e561377b292f5e64dcde8be1002c36b60cc7b9cafab8d439e88ea3f7a0976,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para public +public.explicacao.transit-policy,transit_policy,public,todos,ready,live_write,100,True,50c4afca29e61fa67e5757d7347fda2267379df1d86ea81a249d5187858df7bc,823cf0ac17ecbb546c8a5e7350e80022862ad38b227713ac06fe6b228be5bfe7,mais_humana.transito.explicacao,validar politica MCP de explicacao para public +public.landing.ui-screen,ui_screen,public,todos,ready,live_write,100,True,6eb55f701b979d56770d5c7dd691c31c5693e032bcca2495b529b20696141d15,0ee070dcc7a44b509940964cddbd8b0c57b8642ca31dafec0cdf076cb444f91d,mais_humana.admin_ui.same_source,validar same-source da tela landing em public +public.onboarding.ui-screen,ui_screen,public,todos,ready,live_write,100,True,6dbf5f19073229e902dee2d99107d94463a566382cffed3a8998bfe4a413fc4b,d68cdd00e3946e89629f9131486abc046e8fcfb6175b1a7783128ff459f17a88,mais_humana.admin_ui.same_source,validar same-source da tela onboarding em public +public.public-docs.ui-screen,ui_screen,public,todos,ready,live_write,100,True,268f0e3ceb556d2d3ed492f7df900a4814ef854e5a87df7600fe8337f3c5f1db,af732a416daf1cf143e4763c4b2d3c2e22df892b8e5443baae0336240b92d5dc,mais_humana.admin_ui.same_source,validar same-source da tela public-docs em public +public.status.ui-screen,ui_screen,public,todos,ready,live_write,100,True,fa7e1d3d86a7ba8aeff4fdf90687a84f17cd477fdeddf30056f6e45ba6ab6450,88e3d82f596107e77755970b3d58c9c968a7b9f7d4220b90497948ec3d8c417e,mais_humana.admin_ui.same_source,validar same-source da tela status em public +stj.administrador_empresa.provider-tool,provider_tool,stj,administrador_empresa,ready,live_write,100,True,626b05853ef79ecdaca73a3ef3d726eea108a4a6d84d442d793e4c1d47f06681,ac5c626979183b329e6043bbe5c3f6f8a814ca408ac9ac94fbcd6344d871e425,mais_humana.stj.administrador_empresa.explain,publicar e validar tool MCP para stj/administrador_empresa +stj.atendimento_cliente.provider-tool,provider_tool,stj,atendimento_cliente,ready,live_write,100,True,e39453578a5d3071d340ae811c617abcc27e43b7bba4190d52f8a25d0e670e33,ecbac697467dfd414cde84d5722a6673c6eb27c67f7539d58f1e98377d9c9c69,mais_humana.stj.atendimento_cliente.explain,publicar e validar tool MCP para stj/atendimento_cliente +stj.ceo.provider-tool,provider_tool,stj,ceo,ready,live_write,100,True,5f41ce5df3b96b67821c2dbf4af4a875c65dd41be507784e0772be3d0920f9b8,895a054e6f9cc21841fd1a2db9f285af9375748dae77e9a29a8094ab4446c76f,mais_humana.stj.ceo.explain,publicar e validar tool MCP para stj/ceo +stj.cliente_externo.provider-tool,provider_tool,stj,cliente_externo,ready,live_write,100,True,db1cce0229eb7906cfefc66ec7d4b23295af8b5e78c2c9e01f9b4b9a8491f67a,2d1a264d08b6cf431d41e0100ec02186d72f62d5daa01846f629315145003409,mais_humana.stj.cliente_externo.explain,publicar e validar tool MCP para stj/cliente_externo +stj.contador.provider-tool,provider_tool,stj,contador,ready,live_write,100,True,cdd23b9318a3cd66439e25c7d84e97245a63e5e4f781849bdad9587216ecf006,c21caf856d6c3368d14b0b842103fab15c1f6d0742604949d06ccdf73dcdc5cc,mais_humana.stj.contador.explain,publicar e validar tool MCP para stj/contador +stj.financeiro.provider-tool,provider_tool,stj,financeiro,ready,live_write,100,True,4ac27ec03b48645c94b997c0b634bdcab31e7bfb12b04f7ec3e6c71052f1c760,41792f62f0e116c658d12e2954acb7df643c4114ee1d059f9204caadae728f3c,mais_humana.stj.financeiro.explain,publicar e validar tool MCP para stj/financeiro +stj.gestor_operacional.provider-tool,provider_tool,stj,gestor_operacional,ready,live_write,100,True,c9c34998deee98b1e53c9319451e557d361d9e910c852477c6732ae8699422fd,a1ef4c2f61f286da29841bcebe038f8dcb1472bf3d11577cddbbd9da98a86cca,mais_humana.stj.gestor_operacional.explain,publicar e validar tool MCP para stj/gestor_operacional +stj.juridico.provider-tool,provider_tool,stj,juridico,ready,live_write,100,True,372b092493cf5061a97635a8ed597e44d5a29fac4c627983b48e30785cfff7c3,5eef2fa043a2f8687472a9c80517a0bff1246759a05c926a541b0d38eb4aa8a0,mais_humana.stj.juridico.explain,publicar e validar tool MCP para stj/juridico +stj.planejamento_estrategico.provider-tool,provider_tool,stj,planejamento_estrategico,ready,live_write,100,True,183387b4d6a954d2c8ad3b924ad624e89192d2a3c8c2dcefdb484453123e7f80,8a151fa1c4a71665717036a4f67fdd0c27ce18d7b0d58ef2064bef18e122d187,mais_humana.stj.planejamento_estrategico.explain,publicar e validar tool MCP para stj/planejamento_estrategico +stj.secretaria.provider-tool,provider_tool,stj,secretaria,ready,live_write,100,True,0504e09d876fde7662b1785d41e6fdec41feade09b3c6d46a708e785386c3c0a,9a0bed885179ae98730e103e3098563c5d8e09a85725e95055d573c684e17ac3,mais_humana.stj.secretaria.explain,publicar e validar tool MCP para stj/secretaria +stj.suporte.provider-tool,provider_tool,stj,suporte,ready,live_write,100,True,bb76b24ff38981c8c0f6b310cd78bacd2b56672c868a9a143341a82580c33f26,b5c9bfbe497d26ee87b18820f7132e73da76b1e08ba6eacde83b99f2af130938,mais_humana.stj.suporte.explain,publicar e validar tool MCP para stj/suporte +stj.tecnico.provider-tool,provider_tool,stj,tecnico,ready,live_write,100,True,735d7152247eee85a6a24f0297e3afb394f1349ff810537aa6666b4d3142f4ba,4a6a4888ade800cdae109ca49339e001fc06175f3dcfe29d3e31e1be8409da01,mais_humana.stj.tecnico.explain,publicar e validar tool MCP para stj/tecnico +stj.usuario_final.provider-tool,provider_tool,stj,usuario_final,ready,live_write,100,True,5c8490bfc3c65e8bf94cc412595a436a62f365c814cc69fa04ca39d197960853,825c801c33b5f6cb0f2b96a4e47d2a16d264d4f53aec9a46c97fbadb4ee8d1fb,mais_humana.stj.usuario_final.explain,publicar e validar tool MCP para stj/usuario_final +stj.cfat.redaction-policy,redaction_policy,stj,todos,ready,live_write,100,True,a26b851641ed3ae6f32bd7c0dc41286c80e6d2feae1ece2da9712928af99b64d,67d7d324c55ad5a876b4f53601b88997ffd1187c0da9488703e7c6164a887740,mais_humana.redaction.guard,executar varredura redaction para stj/cfat +stj.credentialref.redaction-policy,redaction_policy,stj,todos,ready,live_write,100,True,09cd1df64c712973f6f7145c953729c02b7dfb86f635eb704e67401b6d877d01,00c1c878c8d02967f7f2608f4cdf23351ea0a2e18048439d51aafee4ab24f197,mais_humana.redaction.guard,executar varredura redaction para stj/credentialRef +stj.secretref.redaction-policy,redaction_policy,stj,todos,ready,live_write,100,True,787cf3c1bff940846354d9c75d3af397799697839ac79488c2329f7ee3e7d887,0f0473ba414a35a6be495f6be9e67f21f7d34ae2073376c68af0c544169870b0,mais_humana.redaction.guard,executar varredura redaction para stj/secretRef +stj.tokenref.redaction-policy,redaction_policy,stj,todos,ready,live_write,100,True,b19eb33390d3aadefee9474b778330806a7be7a17e2a8b467bc6ec052e8f2e72,c19501001ae33e22bae1025c8fb3ae943e5fdce7cdc34fa8db553def24d01851,mais_humana.redaction.guard,executar varredura redaction para stj/tokenRef +stj.administrador_empresa.report-model,report_model,stj,administrador_empresa,ready,live_write,100,True,8dca6c0197b57450b4a33847d705056b15a2d7b9da1aeb7e6483e210d4f455ab,20d547ae6ed8b8682e68e6bb936f65bb3db6b7172c800096aeaec116d64ec094,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/administrador_empresa +stj.atendimento_cliente.report-model,report_model,stj,atendimento_cliente,ready,live_write,100,True,06214fe5e870535ee1b60095a456b6db096e2ab34429af4d73f6ececee08d38a,6cccf9b0e65782b34b90b4e4fcd69637c0fd9e1693ecf27bc29e4e4c7524f19a,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/atendimento_cliente +stj.ceo.report-model,report_model,stj,ceo,ready,live_write,100,True,fc034e423ceee1e91ee5d7d2771b289a113fcb6063e89ca0b16be977236fbef6,72e5aa8b813f424f1abeca305861bc9640c6296029662994acef8523c1524132,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/ceo +stj.cliente_externo.report-model,report_model,stj,cliente_externo,ready,live_write,100,True,d2dc86e539e3f7e972db0b57af333b3ba9aa56f5916d9a6aa834e482d087110b,6743595a80409850fd899adac332c270be8998f4da72fe7ffdc5b72ffd587315,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/cliente_externo +stj.contador.report-model,report_model,stj,contador,ready,live_write,100,True,3efe536e6a03ba6d0932a12b604ce676f3070cc92baaa724b176eb8db67bb5cb,d3ba31a50a1bd46060ccd104bab59e7c6f8233d97618a84472cfbc0d847052e7,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/contador +stj.financeiro.report-model,report_model,stj,financeiro,ready,live_write,100,True,887bfe7be360cdd041caf9c7350c7f13f37c2b091f6da20157b61b9a55777aa6,fcde0f9f85b5be6a1552e02ec9502386eca9ff8906e8441f70be8ac70b3ecf0d,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/financeiro +stj.gestor_operacional.report-model,report_model,stj,gestor_operacional,ready,live_write,100,True,99578cab8658a698fbc309297f35d8814483dd7a3917238ed11d69c5554272c6,6f80b31176dcdf600a7585b23b1aff1931d8267c7f4d9d2a5c2b2ea3fbc58f03,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/gestor_operacional +stj.juridico.report-model,report_model,stj,juridico,ready,live_write,100,True,2d6f260d001140d6dc8bdb08848f700554c4352e94ac160e0ee43160cac74501,6af886030b8201ed6c49d8275c42dff3d2e965380dd441cc3368c3e4aa4e9bc9,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/juridico +stj.planejamento_estrategico.report-model,report_model,stj,planejamento_estrategico,ready,live_write,100,True,1f8cbed8bd89717bcb03f96d167a13e55b6eefa52154fe21a0e64a304a5cf188,4874898d4cfef14f9d37858c3825aaf1915cac5552be85b55ec0bdbfe4d6911d,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/planejamento_estrategico +stj.secretaria.report-model,report_model,stj,secretaria,ready,live_write,100,True,4e4403889dbc2aa4eb00a4521cc58e1d617d2f1ec83f6fb2c69cee72362d093c,52484eb18820277e5e9aa32d92c5adad7d260dd3d0569c5439886cc78b1a226f,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/secretaria +stj.suporte.report-model,report_model,stj,suporte,ready,live_write,100,True,f9b94d9cccb8c40f56c7f94d321864ad24f16e5e25e1d3ac027d0fc2f928db65,d292ffc7e90f2e5d8577ae6463840c2c726c970850c4c3bd9b66939b5b8e8409,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/suporte +stj.tecnico.report-model,report_model,stj,tecnico,ready,live_write,100,True,704941d76037e3c46fd0fe61034c40f16fa9c3a370084b296dd445de706bfd83,bde67a7efeeffe04936e1d1ed9f5b609a3b887bb4fe7e1de873d8336f851b1f3,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/tecnico +stj.usuario_final.report-model,report_model,stj,usuario_final,ready,live_write,100,True,b9cffbc6733ad5ded685fda92b08ef0bd2e705d2f1fbc3aabe5c1510744e3d1b,8b9b3be8f9cabc2a806a980055ea9e20ac1d2a3d0e24bec9d3dab992a8326dd8,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para stj/usuario_final +stj.acao.transit-policy,transit_policy,stj,todos,ready,live_write,100,True,7890d8f8507b8ea4a92764a23f0db4cdbb71bbb12961c2ac687020b79953d451,07162bb6d87131a9d6dd35fd25b074b80520d95da5c7a7c7f29658968c27b6ac,mais_humana.transito.acao,validar politica MCP de acao para stj +stj.auditoria.transit-policy,transit_policy,stj,todos,ready,live_write,100,True,8c25d0cbf19317f08302cf9ea33b0dc6c1565be8447d3ed58a9816bc690b467e,4394a4cfd893d89eb4002ea064f8a175a31a869ff98e29042e26b80da5fc2cf4,mais_humana.transito.auditoria,validar politica MCP de auditoria para stj +stj.consulta.transit-policy,transit_policy,stj,todos,ready,live_write,100,True,ab307a4d13af9010934d11a2df02c66ceb8c9986afe278c3316591b5745f0904,5c89b359cbcc65c7c369c02e4252bba72ae0e259153b56eea31cdc8de4d70efe,mais_humana.transito.consulta,validar politica MCP de consulta para stj +stj.diagnostico.transit-policy,transit_policy,stj,todos,ready,live_write,100,True,c143bef59f00759afed9c69e8118b8131b044c290d59c2326ccd2d0473bbf81f,78b36ab73f511a2ce0934cc956924b982f416a93eebce1195fda4b94a3eb460d,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para stj +stj.explicacao.transit-policy,transit_policy,stj,todos,ready,live_write,100,True,1d3006fbb7c7a8690eb68edc04037658b6b86646c8a54e203f818adc93f8b606,2cc8ba4965f4e342d54187904622bc50ff00d0b5ee937d7b1c8e776032eb7e14,mais_humana.transito.explicacao,validar politica MCP de explicacao para stj +stj.legal-readiness.ui-screen,ui_screen,stj,todos,ready,live_write,100,True,5a85ac1471a25226b684ab9c278e0ad31cfdef0dc70e0af818d9508f8078f0e9,b0ab5394609a76bfac3fe363edb9274a1c10c43481aef5392213e91dabdd16de,mais_humana.admin_ui.same_source,validar same-source da tela legal-readiness em stj +stj.monitoring.ui-screen,ui_screen,stj,todos,ready,live_write,100,True,1a9c69804df2e805866e2de28131c30e99537865c95fa7f3ae22ac58b7419fb3,ff51b52cd565d1945a12a0b19794ffec06f7f618aa2f298b336892b10706159a,mais_humana.admin_ui.same_source,validar same-source da tela monitoring em stj +stj.process-query.ui-screen,ui_screen,stj,todos,ready,live_write,100,True,bde3edb41795a934eeb406fc6e53cf5a60dc22853e313f5684325d1bb3c6d9f8,e51c1419d8c616757a3c51c13d77b4c5a55b7244c7bf805c61a1c2ba574abc4b,mais_humana.admin_ui.same_source,validar same-source da tela process-query em stj +stj.public-documents.ui-screen,ui_screen,stj,todos,ready,live_write,100,True,92d0416f321554944c218932dae7ecdad8315344f36a6a5df1949ec7fd03ece2,c8eb7e3b9b425342455ece6aa2425207efc143d7503938990a4c2a02d0fd24b4,mais_humana.admin_ui.same_source,validar same-source da tela public-documents em stj +ui.administrador_empresa.provider-tool,provider_tool,ui,administrador_empresa,ready,same_source_ready,100,True,8d5edeeedf30f7c177b0d19cadd8c9762b99b596b0b56afe10fe4f518d822cf5,778527d46bb3ddb8d65ab9b6236dc1512eb63245e23ce25736906f9c5d61bac5,mais_humana.ui.administrador_empresa.explain,publicar e validar tool MCP para ui/administrador_empresa +ui.atendimento_cliente.provider-tool,provider_tool,ui,atendimento_cliente,ready,same_source_ready,100,True,9d2dfe839d07b856e399982540e16b5e9f73be7ea96fd2cf91f9344cb43ecfbd,4276febe23449191481f77b228adbab10de3dd588ddb140786ece335369c7576,mais_humana.ui.atendimento_cliente.explain,publicar e validar tool MCP para ui/atendimento_cliente +ui.ceo.provider-tool,provider_tool,ui,ceo,ready,same_source_ready,100,True,c28645d6ec420720c91979e98acc18219084a0a4c0f69dc97591ba5d86a30f27,1e5e7dca95177599a1ee5bea934932ecfedd4fee47b4dc5abd16abeb377d4e53,mais_humana.ui.ceo.explain,publicar e validar tool MCP para ui/ceo +ui.cliente_externo.provider-tool,provider_tool,ui,cliente_externo,ready,same_source_ready,100,True,e65c4a5d2bddbc6592bc85b09d7d6a616e486aa0d928f29e62dd8d6aa81d2cd9,867d3b624164bedfc70fe4292490cd4b5a1952a2ec942c39519799e37f2a2d3b,mais_humana.ui.cliente_externo.explain,publicar e validar tool MCP para ui/cliente_externo +ui.contador.provider-tool,provider_tool,ui,contador,ready,same_source_ready,100,True,97bb45b9bb86e61c47293fa2fd6ecda9b2f9515b98fa25f7dd53756a79ec5de3,e7d59ed93874d76d6534ac19f5acc43a7033043230a90d4ebb3404d3bf3abceb,mais_humana.ui.contador.explain,publicar e validar tool MCP para ui/contador +ui.financeiro.provider-tool,provider_tool,ui,financeiro,ready,same_source_ready,100,True,1dc0c6a1a4bee616c90e7ba2787da7f0d400b0a76a6f35362ce3587ecab8fe18,27177ba42502bdeb34cd45b723e439f56bb3be6fcc25200349176960199757f3,mais_humana.ui.financeiro.explain,publicar e validar tool MCP para ui/financeiro +ui.gestor_operacional.provider-tool,provider_tool,ui,gestor_operacional,ready,same_source_ready,100,True,3c5bcdb27313ac9d4de83a61df8e86b1e4600929d4c1a480c6d4fffca6dd514b,5180fb5059770dde0d87dae2ada452140d6b9a8b36d7be1fe7c87995c523ea5a,mais_humana.ui.gestor_operacional.explain,publicar e validar tool MCP para ui/gestor_operacional +ui.juridico.provider-tool,provider_tool,ui,juridico,ready,same_source_ready,100,True,7ecafea19da0fe49959435f6b66b868d5c2a90155e0d287151e62ca93e4f7096,3b570755a849b7f676d061771c91baab996c18e849234af861b002d65f80ad30,mais_humana.ui.juridico.explain,publicar e validar tool MCP para ui/juridico +ui.planejamento_estrategico.provider-tool,provider_tool,ui,planejamento_estrategico,ready,same_source_ready,100,True,fa1e98cf5529f472638b80ab70a05978d2c82e546e85cfb260db4783edb2b4d8,3c782752623352a41d92edf49afc2e7fe0bcd7143a46baf5f3b6ed05ad96e968,mais_humana.ui.planejamento_estrategico.explain,publicar e validar tool MCP para ui/planejamento_estrategico +ui.secretaria.provider-tool,provider_tool,ui,secretaria,ready,same_source_ready,100,True,cd3e3a0512a10e125620ddb43e9652f6a5cbe27b5245dea5795bedb158194b05,4c74cc52b32d1817e14abede4de921c7ca079c4733358fa1be334549a382146f,mais_humana.ui.secretaria.explain,publicar e validar tool MCP para ui/secretaria +ui.suporte.provider-tool,provider_tool,ui,suporte,ready,same_source_ready,100,True,0092a82f83de22f6c08d819e638d1d753eb8b0f4a3c0d620cf8e752d08dbf426,93acb8f8be47561dbb43bee72d7241f23bb25c29f9011b6b514823886c202ebd,mais_humana.ui.suporte.explain,publicar e validar tool MCP para ui/suporte +ui.tecnico.provider-tool,provider_tool,ui,tecnico,ready,same_source_ready,100,True,2c82cb95e60bd1cf9dcaf278ad49379df7906dd7f5bf8f6685632ded08009555,39c6827356f19129c560e9136218efcc282b646f68cf9f9fba894f7eb41a0269,mais_humana.ui.tecnico.explain,publicar e validar tool MCP para ui/tecnico +ui.usuario_final.provider-tool,provider_tool,ui,usuario_final,ready,same_source_ready,100,True,6dabe3a86f2aca990320ba30ee78533113b2b2692ac5ca51f8d3b7bd06508c12,cd7396d71161ae3ac0525fa0c7de01cbda270baad9251023ffd0f426a56bf0cd,mais_humana.ui.usuario_final.explain,publicar e validar tool MCP para ui/usuario_final +ui.cfat.redaction-policy,redaction_policy,ui,todos,ready,same_source_ready,100,True,e70e9f12d3a263882a935100eaff016563330823a06e986408dcbec39262cb4a,ea53910cc368fec571dd6218f0b153b55fe8ee8223c8d0b0bdca218c91bd17c7,mais_humana.redaction.guard,executar varredura redaction para ui/cfat +ui.credentialref.redaction-policy,redaction_policy,ui,todos,ready,same_source_ready,100,True,26ed737873a13f2143fbbd3c2c577694d792a38e70f7f232fd23b250fcf60946,9c0ad763c64bc26d123096655e91a4d5e9036b7568ce9024d8c06afccf07c0c6,mais_humana.redaction.guard,executar varredura redaction para ui/credentialRef +ui.secretref.redaction-policy,redaction_policy,ui,todos,ready,same_source_ready,100,True,68942c334266a63b09e7c47504e1125085c9cf5a5e427f6f83e4d3bd780968c4,67a3bafd6f3f166096acfc354578ab8f5265f16a93f4ae7bcc182cdb33b7ae7c,mais_humana.redaction.guard,executar varredura redaction para ui/secretRef +ui.tokenref.redaction-policy,redaction_policy,ui,todos,ready,same_source_ready,100,True,675da0a4968d0d435edc6ca7ee62770fcc0f7beb1c243d7f36543f4bfa282066,459d074ac5a7aad9b5a38210f77eb8d8380cd9401b3fe0a594f56f1eb9bb4c79,mais_humana.redaction.guard,executar varredura redaction para ui/tokenRef +ui.administrador_empresa.report-model,report_model,ui,administrador_empresa,ready,same_source_ready,100,True,ca7f11d7d59a6e731c416e93effd739d0a5d8b23a65cdcac07e089179ef720d1,21e953d387139b21636291851c177c1e3557258e1de400b077e50c53655cb1ac,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/administrador_empresa +ui.atendimento_cliente.report-model,report_model,ui,atendimento_cliente,ready,same_source_ready,100,True,1e56a2563a77d22333e48810c5581f5aadda670ddeb57b28dbd71e1d4343d6b9,9782903369c9544138e77c6f168308d1f9975d541af2a902aeacc43d09a78323,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/atendimento_cliente +ui.ceo.report-model,report_model,ui,ceo,ready,same_source_ready,100,True,f010f301b5e26fe325dd7731a2fa7ae9ca85e42a42bdfea3a1e82fc5cd61475b,7d3affb12a23a045a3f1a5192c653413d8bf019a96b965e8e719aa267b991514,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/ceo +ui.cliente_externo.report-model,report_model,ui,cliente_externo,ready,same_source_ready,100,True,a47802db71126609583bc958808f101922c2d4832cc8ff72cfd6d34a77eac3e6,6a255985170ef8fb58f6235ec650af3958a69c8a0a20f9774ce860e3d856163d,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/cliente_externo +ui.contador.report-model,report_model,ui,contador,ready,same_source_ready,100,True,8d4f819873e88eb9176ad619460abc0050fa6aa315144a579e10f6c4d2f27f68,758e2df27f49495d81ec74d86f9369696cdd9e41abdf942bba436d87ae7ceefc,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/contador +ui.financeiro.report-model,report_model,ui,financeiro,ready,same_source_ready,100,True,5540d83426aba59d024d4faf129909485883b4ab205ace3206b06fad538a58ee,b03e5e22c6173d29a9706be90a441c76f1d13e31fb22d2f29078074baeb93b95,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/financeiro +ui.gestor_operacional.report-model,report_model,ui,gestor_operacional,ready,same_source_ready,100,True,73c962287a601494c741056450a81c5b33b44d37dc9d2d01bef5114124240dd1,d0d359a6a523435e3abd69bef9f27b786f71821580d54135d805b910c79945d7,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/gestor_operacional +ui.juridico.report-model,report_model,ui,juridico,ready,same_source_ready,100,True,2688197e18ee2a4a739dfcbf849e576a36d80cad75dbb16795b5e44bce7586eb,428fc2c7627d4ac96b16df498983d0cd70e4da87e7bb199cc06b93b2f9b4c6ad,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/juridico +ui.planejamento_estrategico.report-model,report_model,ui,planejamento_estrategico,ready,same_source_ready,100,True,ded861b07ee94ce0207db30f05bdc345a18cc0961caab437806ae6febd79e823,879e72eae2a15e46f4d6204571c1650676cf3bd90b22f1414f29f4d5ba581d4b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/planejamento_estrategico +ui.secretaria.report-model,report_model,ui,secretaria,ready,same_source_ready,100,True,0320b1d1352e6e6c02daccaea0bdb06ac7fe1bbee7813f4147a50b97d690fffa,ea7e2b7170b6614e23099ca59d5c000b46e92116538dac1a5bbe01f96bdcbefa,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/secretaria +ui.suporte.report-model,report_model,ui,suporte,ready,same_source_ready,100,True,b9d39a10908efc15500ca86018401b62d620456eaf609287b240b2a0d31ad7aa,5bb09085719356875f4b5133c3edc8d06089e9212377865b240948dcadee83b0,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/suporte +ui.tecnico.report-model,report_model,ui,tecnico,ready,same_source_ready,100,True,24a61d3e184b6692a861db18426a88c24329cae8b56f3ad4312b568f7dc73b36,bb4daf251976d2fc335c0d435c3f5e729d884837f5a9b9e686c10f55a074083b,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/tecnico +ui.usuario_final.report-model,report_model,ui,usuario_final,ready,same_source_ready,100,True,934926dfe09e07a96bf4d8d22a961a2da38277c8d98b5b6aef165a9cd6674373,c35c32cc95f08d3e5d5c2a55066f119db38ec4650c28b3fcd4f166cf5012caab,mais_humana.relatorios.modelos_oficiais,homologar modelo oficial de relatorio para ui/usuario_final +ui.acao.transit-policy,transit_policy,ui,todos,ready,same_source_ready,100,True,38ec02c35d668ff547f1e08a80a8e2effa6729e9320822c05da6528887e56fcc,f77430934fb82e900fe5b48d0c075a5e410ca68f2b578578a4911bded4c34b42,mais_humana.transito.acao,validar politica MCP de acao para ui +ui.auditoria.transit-policy,transit_policy,ui,todos,ready,same_source_ready,100,True,1facbab94fd9cd5e060ff8cf228ca629ac23ad916295aac5ee2cbabaab8af7cf,adce6e1c808b05692329b8ba86a8741e460ac7c647a596d9436da8f59ed8334a,mais_humana.transito.auditoria,validar politica MCP de auditoria para ui +ui.consulta.transit-policy,transit_policy,ui,todos,ready,same_source_ready,100,True,1815d89a7a5277c469753b59723a33ca6a07b17a10c90f9f66d06f7469d60848,094d859d43ea404eb3aafcf3375bf0fc20289b346ef52f807beeb01e802ca583,mais_humana.transito.consulta,validar politica MCP de consulta para ui +ui.diagnostico.transit-policy,transit_policy,ui,todos,ready,same_source_ready,100,True,e296561113e781d024ff618afc22768ccf10e1e8f7a4e7a1a30f1106541ea27e,85e46fe32ae9c3a8da83466d2556c586e84c7596b6b1a6e7817bd939946b5631,mais_humana.transito.diagnostico,validar politica MCP de diagnostico para ui +ui.explicacao.transit-policy,transit_policy,ui,todos,ready,same_source_ready,100,True,50caf603698c75b5975e2ce4a2550efc130fafdc64ce130a2da0c77fcda8853b,eec2fe1dc528ecf5c379833a4d949a41528913e3f18911a49a63a4bb64c4a901,mais_humana.transito.explicacao,validar politica MCP de explicacao para ui +ui.design-system.ui-screen,ui_screen,ui,todos,ready,same_source_ready,100,True,208bfc99ed4495efff44c9fdec3b4bba799be2aaeb6f992296e418f49aa265e6,366e5c436ed1ff0d5ce93c304229dff3b97ca68d2cb35388692fc690856a5999,mais_humana.admin_ui.same_source,validar same-source da tela design-system em ui +ui.panelready.ui-screen,ui_screen,ui,todos,ready,same_source_ready,100,True,36ca0610f0b72392acc8b32ff783738fe76a8dc93e444c21d99df328e28a1818,00c04bb28dc1991d9a8cb7dd4d305e4d256dd0d3bdd28c21357db473a42f3a84,mais_humana.admin_ui.same_source,validar same-source da tela panelReady em ui +ui.pwa.ui-screen,ui_screen,ui,todos,ready,same_source_ready,100,True,3ad05265c84d245eedea0fb0b2446c382da8bfd9ed7af8042757d3960040601b,99189c0fbf4fdc4364c075ba70e2c2186b5307c23545a20342b5fc5ceef2c520,mais_humana.admin_ui.same_source,validar same-source da tela PWA em ui +ui.samesource.ui-screen,ui_screen,ui,todos,ready,same_source_ready,100,True,66e684aa7be00263abf8e010bcc186b53aaca0fceaba46a0695388bcd5ddf9fc,194ae88dcd83af8d396c5ddaa1de223d9e603e479f97f654b05e92859e9b9344,mais_humana.admin_ui.same_source,validar same-source da tela sameSource em ui +ui.screen-contract.ui-screen,ui_screen,ui,todos,ready,same_source_ready,100,True,8282cb69708f30c12fbd70161686f9cd3d90aead79ca437f274ed0697649f0f4,23a0f33fcf1b1f58fae569995ed7e09f3f165b6e5d84d92ed713e9c33daf379a,mais_humana.admin_ui.same_source,validar same-source da tela screen-contract em ui diff --git a/matrizes/repository-mesh-actions.csv b/matrizes/repository-mesh-actions.csv new file mode 100644 index 0000000..1d051a1 --- /dev/null +++ b/matrizes/repository-mesh-actions.csv @@ -0,0 +1,85 @@ +action_id,nome_declarado,ambiente,tipo,risco,automatico,destrutivo,motivo,comandos,pre_requisitos,evidencias +mesh-action-d74173010dba,tudo-para-ia-business-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=9;behind=0;upstream=origin/main | cee7e824559832f3e36492dfadf0777d605afee8 +mesh-action-61bb08f62bc5,tudo-para-ia-business-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-a6131408e2be,tudo-para-ia-business-platform,windows-secondary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-d2727fbc94ef,tudo-para-ia-business-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-e331b3e4c497,tudo-para-ia-business-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-7d8f74aaca89,tudo-para-ia-compliance-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=7;behind=0;upstream=origin/main | 7e88a2beb57ecb4a07534733638110b999dce561 +mesh-action-cf83302e51c3,tudo-para-ia-compliance-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-a53a11cbd26e,tudo-para-ia-compliance-platform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform +mesh-action-6903dd01bc1f,tudo-para-ia-compliance-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-6e50d3c37aeb,tudo-para-ia-compliance-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-9dc31ae75f1a,tudo-para-ia-customer-ops-platform,windows-primary,fix_remote_url,attention,nao,nao,remote origin nao corresponde ao Gitea esperado,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git,registrar remote anterior | executar fetch apos ajuste | nao alterar branch nem working tree,https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git | https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git +mesh-action-742544266379,tudo-para-ia-customer-ops-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=7;behind=0;upstream=origin/main | ef83587577f93ed6df086db39975c83e1216edac +mesh-action-9c34fd44f893,tudo-para-ia-customer-ops-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-2e66e9903b00,tudo-para-ia-customer-ops-platform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform +mesh-action-d681ca4be32c,tudo-para-ia-customer-ops-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-a2aae3a00161,tudo-para-ia-customer-ops-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-c074a7454c85,tudo-para-ia-docs-plataform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=11;behind=0;upstream=origin/main | 80095cd75b612ce09b704bc00bf54dbdc59ccdf3 +mesh-action-604e958b1ab4,tudo-para-ia-docs-plataform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-c22d79c0aa76,tudo-para-ia-docs-plataform,windows-secondary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-9be03dcb6263,tudo-para-ia-docs-plataform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-258528af32fb,tudo-para-ia-docs-plataform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-de5a018ad5cc,tudo-para-ia-finance-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=2;behind=0;upstream=origin/main | 81eb44e3cdeb9912d45a9ba43c904d39bf0ae884 +mesh-action-9acb48b0d9c1,tudo-para-ia-finance-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-54a43adcdbd5,tudo-para-ia-finance-platform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-finance-platform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-finance-platform +mesh-action-fdf8583a2010,tudo-para-ia-finance-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-04ed792cb988,tudo-para-ia-finance-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-24d6e2c4fde2,tudo-para-ia-gettys-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=9;behind=0;upstream=origin/main | 9d0c4c2594d019e70568f21c23b04e4693225ce1 +mesh-action-8a4690c9c29d,tudo-para-ia-gettys-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-9e56eaf27ed5,tudo-para-ia-gettys-platform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform +mesh-action-2a2fb7bc0dab,tudo-para-ia-gettys-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-d794140f218c,tudo-para-ia-gettys-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-7459c55a5946,tudo-para-ia-identity-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=12;behind=0;upstream=origin/main | cdfe78714d61bf36793d38bdadf2fcd736ae08c1 +mesh-action-bf839e1eb7da,tudo-para-ia-identity-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-ddc7a0df464a,tudo-para-ia-identity-platform,windows-secondary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-3fa1024c9e04,tudo-para-ia-identity-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-434fa6be1041,tudo-para-ia-identity-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-2c3c0959aa7f,tudo-para-ia-integracoes-platform,windows-primary,rename_local_folder,attention,sim,nao,materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform',confirmar destino inexistente | registrar hash HEAD antes do renome,G:\_codex-git\tudo-para-ia-integracoes-plataform | G:\_codex-git\tudo-para-ia-integracoes-platform | 6371413be59b2d4dbea347b7305db0f15c8f0c28 +mesh-action-8af64b1a2f4d,tudo-para-ia-integracoes-platform,windows-primary,fix_remote_url,attention,nao,nao,remote origin nao corresponde ao Gitea esperado,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git,registrar remote anterior | executar fetch apos ajuste | nao alterar branch nem working tree,https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git | https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git +mesh-action-5675b953c348,tudo-para-ia-integracoes-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=24;behind=0;upstream=origin/main | 6371413be59b2d4dbea347b7305db0f15c8f0c28 +mesh-action-9d7038836e52,tudo-para-ia-integracoes-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-c9373212b179,tudo-para-ia-integracoes-platform,windows-secondary,rename_local_folder,attention,sim,nao,materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform,Rename-Item -LiteralPath 'G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform',confirmar destino inexistente | registrar hash HEAD antes do renome,G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform | G:\codex_vm\_codex-git\tudo-para-ia-integracoes-platform | 5b015a1d63a2f6d20716e68be0d9e538d14fc5f4 +mesh-action-dea83db8f4af,tudo-para-ia-integracoes-platform,windows-secondary,fix_remote_url,attention,nao,nao,remote origin nao corresponde ao Gitea esperado,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git,registrar remote anterior | executar fetch apos ajuste | nao alterar branch nem working tree,https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git | https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git +mesh-action-a26163e6be59,tudo-para-ia-integracoes-platform,windows-secondary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-3db4026be62c,tudo-para-ia-integracoes-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-110e2ce0a0e4,tudo-para-ia-integracoes-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-ac5c851fb706,tudo-para-ia-intelligence-platform,windows-primary,block_destructive_sync,blocked,nao,sim,working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida,,commit ou stash consciente das alteracoes | registrar diff resumido | decidir precedencia,M .gitignore | M README.md | M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json | M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json | M apps/intelligence-worker/package.json | M apps/intelligence-worker/schema.sql | M apps/intelligence-worker/src/index.js | M apps/intelligence-worker/src/intelligence-core.js +mesh-action-93207ce20f3a,tudo-para-ia-intelligence-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-942654e26e71,tudo-para-ia-intelligence-platform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform +mesh-action-343284eab795,tudo-para-ia-intelligence-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-f82ec42b3d5d,tudo-para-ia-intelligence-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-e192f87b36dd,tudo-para-ia-mais-humana-plataform,windows-primary,rename_local_folder,attention,nao,nao,materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform',confirmar destino inexistente | registrar hash HEAD antes do renome,G:\_codex-git\tudo-para-ia-mais-humana | G:\_codex-git\tudo-para-ia-mais-humana-plataform | 3d2748adf5e011a7aa796fc2a5aed8e815dcb092 +mesh-action-e2c2d471cf6d,tudo-para-ia-mais-humana-plataform,windows-primary,block_destructive_sync,blocked,nao,sim,working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida,,commit ou stash consciente das alteracoes | registrar diff resumido | decidir precedencia,M dados/budget-linhas-rodada.json | M dados/dossie-operacional-humano.json | M dados/governanca-operacional-compacta.json | M dados/governanca-operacional.json | M dados/grafo-evidencias.json | M dados/indice-evidencias.json | M dados/lifecycle-ordens-ativas.json | M dados/ordens-governanca-compiladas.json +mesh-action-6a6eaffcbdfa,tudo-para-ia-mais-humana-plataform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-20aa91944451,tudo-para-ia-mais-humana-plataform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform +mesh-action-93f6afb07054,tudo-para-ia-mais-humana-plataform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-15516f4541ca,tudo-para-ia-mais-humana-plataform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-85067efca878,tudo-para-ia-mcps-internos-plataform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=23;behind=0;upstream=origin/main | 5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2 +mesh-action-09c924f2d891,tudo-para-ia-mcps-internos-plataform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-5b157361e3ee,tudo-para-ia-mcps-internos-plataform,windows-secondary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-d9abe9c7fbe5,tudo-para-ia-mcps-internos-plataform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-b15f913f3744,tudo-para-ia-mcps-internos-plataform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-37f9a53424f8,tudo-para-ia-platform-base,windows-primary,block_destructive_sync,blocked,nao,sim,working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida,,commit ou stash consciente das alteracoes | registrar diff resumido | decidir precedencia,M .gitignore | M README.md | M apps/platform-shell/README.md | M apps/platform-shell/package.json | M apps/platform-shell/src/index.ts | M apps/platform-shell/src/shell/manifest.ts | M apps/platform-shell/src/shell/router.ts | M contracts/platform-derivation.contract.json +mesh-action-22ba67fa8757,tudo-para-ia-platform-base,windows-primary,block_destructive_sync,blocked,nao,sim,branch divergente ahead/behind; reconciliacao automatica poderia escolher versao antiga,,comparar commits | decidir fonte valida mais recente | fazer merge/rebase apenas com operador,ahead=2;behind=2;upstream=origin/main +mesh-action-e16f250cddb5,tudo-para-ia-platform-base,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-971fc22703f5,tudo-para-ia-platform-base,windows-secondary,block_destructive_sync,blocked,nao,sim,working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida,,commit ou stash consciente das alteracoes | registrar diff resumido | decidir precedencia,M .gitignore | M README.md | M apps/platform-shell/README.md | M apps/platform-shell/package.json | M apps/platform-shell/src/index.ts | M contracts/platform-derivation.contract.json | M contracts/platform-shell.contract.json | M docs/architecture.md +mesh-action-5ef117e15bae,tudo-para-ia-platform-base,windows-secondary,block_destructive_sync,blocked,nao,nao,ha commits remotos nao aplicados; pull automatico so e seguro com working tree limpo e comparacao de hash,git fetch --all --prune | git merge --ff-only @{u},confirmar working tree limpo | usar somente fast-forward | bloquear se nao for fast-forward,ahead=0;behind=2;upstream=origin/main +mesh-action-75f9e9dfb259,tudo-para-ia-platform-base,windows-secondary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-0f86f1adcf16,tudo-para-ia-platform-base,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-6bfd95e48bda,tudo-para-ia-platform-base,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-529d66b23bb2,tudo-para-ia-public-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=9;behind=0;upstream=origin/main | b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42 +mesh-action-917cb9437e58,tudo-para-ia-public-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-50b573a8a933,tudo-para-ia-public-platform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\codex_vm\_codex-git\tudo-para-ia-public-platform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-public-platform +mesh-action-9f5e32a23747,tudo-para-ia-public-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-b6eacc950f4a,tudo-para-ia-public-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-37ac595b246b,tudo-para-ia-stj-platform,windows-primary,register_evidence,attention,nao,nao,ha commits locais nao enviados; push exige credencial e revisao de precedencia,git push origin HEAD,confirmar remoto correto | confirmar que push nao reverte estado remoto mais recente,ahead=7;behind=0;upstream=origin/main | 006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7 +mesh-action-d0bbf9052ed8,tudo-para-ia-stj-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-2a5a6ae13064,tudo-para-ia-stj-platform,windows-secondary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-78a22f74add8,tudo-para-ia-stj-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-999e2c9f4df6,tudo-para-ia-stj-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-action-22557e2b043e,tudo-para-ia-ui-platform,windows-primary,block_destructive_sync,blocked,nao,sim,working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida,,commit ou stash consciente das alteracoes | registrar diff resumido | decidir precedencia,M apps/ui-platform/index.html | M apps/ui-platform/src/app.js | M apps/ui-platform/src/contract-data.js | M apps/ui-platform/src/styles.css | M package.json | M packages/mcp-ready/src/index.mjs | M packages/ui-governance/src/index.mjs | M packages/ui-governance/src/semantic-registry.mjs +mesh-action-59ea5ecc1144,tudo-para-ia-ui-platform,windows-primary,register_evidence,attention,nao,nao,fetch falhou: unknown,,fornecer credencial Git valida | reexecutar fetch nao destrutivo,error: cannot open '.git/FETCH_HEAD': Permission denied +mesh-action-a4f095a0431b,tudo-para-ia-ui-platform,windows-secondary,clone_missing,attention,nao,nao,espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel,git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\codex_vm\_codex-git\tudo-para-ia-ui-platform,confirmar credencial Git | confirmar que nao existe diretorio de destino | executar clone sem sobrescrever,G:\codex_vm\_codex-git\tudo-para-ia-ui-platform +mesh-action-dae55776e43a,tudo-para-ia-ui-platform,codex-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-action-ff4124206ec5,tudo-para-ia-ui-platform,gitlab-server,require_environment_access,blocked,nao,nao,ambiente declarado na OS nao esta acessivel nesta sessao,,abrir sessao no ambiente indicado | rodar inventario local com a mesma rotina,ambiente nao acessivel a partir desta sessao: /root/_codex-git diff --git a/matrizes/repository-mesh-gitea-plan.csv b/matrizes/repository-mesh-gitea-plan.csv new file mode 100644 index 0000000..ddd9b4e --- /dev/null +++ b/matrizes/repository-mesh-gitea-plan.csv @@ -0,0 +1,16 @@ +plan_id,declared_name,owner,repo,status,blocked,actions,reason,api_requests +gitea-repo-plan-017318b8e193,tudo-para-ia-business-platform,admin,tudo-para-ia-business-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-business-platform +gitea-repo-plan-f337d2c716b8,tudo-para-ia-compliance-platform,admin,tudo-para-ia-compliance-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-compliance-platform +gitea-repo-plan-462b3d5d9bdf,tudo-para-ia-customer-ops-platform,admin,tudo-para-ia-customer-ops-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-customer-ops-platform +gitea-repo-plan-a6f84edafece,tudo-para-ia-docs-plataform,admin,tudo-para-ia-docs-plataform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-docs-plataform +gitea-repo-plan-02d49b24d714,tudo-para-ia-finance-platform,admin,tudo-para-ia-finance-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-finance-platform +gitea-repo-plan-fab7c27e006f,tudo-para-ia-gettys-platform,admin,tudo-para-ia-gettys-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-gettys-platform +gitea-repo-plan-2d83b11b728c,tudo-para-ia-identity-platform,admin,tudo-para-ia-identity-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-identity-platform +gitea-repo-plan-6f46a26ec024,tudo-para-ia-integracoes-platform,admin,tudo-para-ia-integracoes-platform,exists,yes,require_token | verify_repository | require_owner_decision | rename_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota; renome remoto depende de decisao institucional,GET /api/v1/repos/admin/tudo-para-ia-integracoes-platform | PATCH /api/v1/repos/admin/tudo-para-ia-integracoes-platform name=tudo-para-ia-integracoes-plataform +gitea-repo-plan-035e5be4e560,tudo-para-ia-intelligence-platform,admin,tudo-para-ia-intelligence-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-intelligence-platform +gitea-repo-plan-57120d2c9f90,tudo-para-ia-mais-humana-plataform,admin,tudo-para-ia-mais-humana,exists,yes,require_token | verify_repository | require_owner_decision | rename_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota; renome remoto depende de decisao institucional,GET /api/v1/repos/admin/tudo-para-ia-mais-humana | PATCH /api/v1/repos/admin/tudo-para-ia-mais-humana name=tudo-para-ia-mais-humana-plataform +gitea-repo-plan-196815ae94c4,tudo-para-ia-mcps-internos-plataform,admin,tudo-para-ia-mcps-internos-plataform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-mcps-internos-plataform +gitea-repo-plan-6717588d1113,tudo-para-ia-platform-base,admin,tudo-para-ia-platform-base,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-platform-base +gitea-repo-plan-66f61d9ae8cd,tudo-para-ia-public-platform,admin,tudo-para-ia-public-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-public-platform +gitea-repo-plan-c9eedc15f51f,tudo-para-ia-stj-platform,admin,tudo-para-ia-stj-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-stj-platform +gitea-repo-plan-988e8df1f9b3,tudo-para-ia-ui-platform,admin,tudo-para-ia-ui-platform,exists,yes,require_token | verify_repository,credencial Gitea ausente; nao e seguro declarar existencia/criacao remota,GET /api/v1/repos/admin/tudo-para-ia-ui-platform diff --git a/matrizes/repository-mesh-inventory.csv b/matrizes/repository-mesh-inventory.csv new file mode 100644 index 0000000..d063671 --- /dev/null +++ b/matrizes/repository-mesh-inventory.csv @@ -0,0 +1,61 @@ +nome_declarado,nome_esperado,repositorio_gitea,ambiente,caminho_esperado,nome_encontrado,caminho_encontrado,presenca,branch,head,remote_origin,status_worktree,ahead_behind,fetch,observacao_nomenclatura +tudo-para-ia-business-platform,tudo-para-ia-business-platform,admin/tudo-para-ia-business-platform,windows-primary,G:\_codex-git\tudo-para-ia-business-platform,tudo-para-ia-business-platform,G:\_codex-git\tudo-para-ia-business-platform,present_git,main,cee7e824559832f3e36492dfadf0777d605afee8,https://git.ami.app.br/admin/tudo-para-ia-business-platform.git,clean,ahead=9;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-business-platform,tudo-para-ia-business-platform,admin/tudo-para-ia-business-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-business-platform,tudo-para-ia-business-platform,G:\codex_vm\_codex-git\tudo-para-ia-business-platform,present_git,main,3eae5dd9a54263c668a347e4f10bb45a707515ac,https://git.ami.app.br/admin/tudo-para-ia-business-platform.git,clean,ahead=0;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-business-platform,tudo-para-ia-business-platform,admin/tudo-para-ia-business-platform,codex-server,\root\__gpt-codex\tudo-para-ia-business-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-business-platform,tudo-para-ia-business-platform,admin/tudo-para-ia-business-platform,gitlab-server,\root\_codex-git\tudo-para-ia-business-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-compliance-platform,tudo-para-ia-compliance-platform,admin/tudo-para-ia-compliance-platform,windows-primary,G:\_codex-git\tudo-para-ia-compliance-platform,tudo-para-ia-compliance-platform,G:\_codex-git\tudo-para-ia-compliance-platform,present_git,main,7e88a2beb57ecb4a07534733638110b999dce561,https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git,clean,ahead=7;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-compliance-platform,tudo-para-ia-compliance-platform,admin/tudo-para-ia-compliance-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform,,,missing,,,,missing,,, +tudo-para-ia-compliance-platform,tudo-para-ia-compliance-platform,admin/tudo-para-ia-compliance-platform,codex-server,\root\__gpt-codex\tudo-para-ia-compliance-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-compliance-platform,tudo-para-ia-compliance-platform,admin/tudo-para-ia-compliance-platform,gitlab-server,\root\_codex-git\tudo-para-ia-compliance-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-customer-ops-platform,tudo-para-ia-customer-ops-platform,admin/tudo-para-ia-customer-ops-platform,windows-primary,G:\_codex-git\tudo-para-ia-customer-ops-platform,tudo-para-ia-customer-ops-platform,G:\_codex-git\tudo-para-ia-customer-ops-platform,present_git,main,ef83587577f93ed6df086db39975c83e1216edac,https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git,clean,ahead=7;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-customer-ops-platform,tudo-para-ia-customer-ops-platform,admin/tudo-para-ia-customer-ops-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform,,,missing,,,,missing,,, +tudo-para-ia-customer-ops-platform,tudo-para-ia-customer-ops-platform,admin/tudo-para-ia-customer-ops-platform,codex-server,\root\__gpt-codex\tudo-para-ia-customer-ops-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-customer-ops-platform,tudo-para-ia-customer-ops-platform,admin/tudo-para-ia-customer-ops-platform,gitlab-server,\root\_codex-git\tudo-para-ia-customer-ops-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-docs-plataform,tudo-para-ia-docs-plataform,admin/tudo-para-ia-docs-plataform,windows-primary,G:\_codex-git\tudo-para-ia-docs-plataform,tudo-para-ia-docs-plataform,G:\_codex-git\tudo-para-ia-docs-plataform,present_git,main,80095cd75b612ce09b704bc00bf54dbdc59ccdf3,https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git,clean,ahead=11;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-docs-plataform,tudo-para-ia-docs-plataform,admin/tudo-para-ia-docs-plataform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-docs-plataform,tudo-para-ia-docs-plataform,G:\codex_vm\_codex-git\tudo-para-ia-docs-plataform,present_git,main,ef25192b7c4169027aa296ce3450e1a94b4f5912,https://git.ami.app.br/admin/tudo-para-ia-docs-plataform.git,clean,ahead=0;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-docs-plataform,tudo-para-ia-docs-plataform,admin/tudo-para-ia-docs-plataform,codex-server,\root\__gpt-codex\tudo-para-ia-docs-plataform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-docs-plataform,tudo-para-ia-docs-plataform,admin/tudo-para-ia-docs-plataform,gitlab-server,\root\_codex-git\tudo-para-ia-docs-plataform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-finance-platform,tudo-para-ia-finance-platform,admin/tudo-para-ia-finance-platform,windows-primary,G:\_codex-git\tudo-para-ia-finance-platform,tudo-para-ia-finance-platform,G:\_codex-git\tudo-para-ia-finance-platform,present_git,main,81eb44e3cdeb9912d45a9ba43c904d39bf0ae884,https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git,clean,ahead=2;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-finance-platform,tudo-para-ia-finance-platform,admin/tudo-para-ia-finance-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-finance-platform,,,missing,,,,missing,,, +tudo-para-ia-finance-platform,tudo-para-ia-finance-platform,admin/tudo-para-ia-finance-platform,codex-server,\root\__gpt-codex\tudo-para-ia-finance-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-finance-platform,tudo-para-ia-finance-platform,admin/tudo-para-ia-finance-platform,gitlab-server,\root\_codex-git\tudo-para-ia-finance-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-gettys-platform,tudo-para-ia-gettys-platform,admin/tudo-para-ia-gettys-platform,windows-primary,G:\_codex-git\tudo-para-ia-gettys-platform,tudo-para-ia-gettys-platform,G:\_codex-git\tudo-para-ia-gettys-platform,present_git,main,9d0c4c2594d019e70568f21c23b04e4693225ce1,https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git,clean,ahead=9;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-gettys-platform,tudo-para-ia-gettys-platform,admin/tudo-para-ia-gettys-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform,,,missing,,,,missing,,, +tudo-para-ia-gettys-platform,tudo-para-ia-gettys-platform,admin/tudo-para-ia-gettys-platform,codex-server,\root\__gpt-codex\tudo-para-ia-gettys-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-gettys-platform,tudo-para-ia-gettys-platform,admin/tudo-para-ia-gettys-platform,gitlab-server,\root\_codex-git\tudo-para-ia-gettys-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-identity-platform,tudo-para-ia-identity-platform,admin/tudo-para-ia-identity-platform,windows-primary,G:\_codex-git\tudo-para-ia-identity-platform,tudo-para-ia-identity-platform,G:\_codex-git\tudo-para-ia-identity-platform,present_git,main,cdfe78714d61bf36793d38bdadf2fcd736ae08c1,https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git,clean,ahead=12;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-identity-platform,tudo-para-ia-identity-platform,admin/tudo-para-ia-identity-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-identity-platform,tudo-para-ia-identity-platform,G:\codex_vm\_codex-git\tudo-para-ia-identity-platform,present_git,main,ecc93e089819958d25325334d6aacae943245644,https://git.ami.app.br/admin/tudo-para-ia-identity-platform.git,clean,ahead=0;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-identity-platform,tudo-para-ia-identity-platform,admin/tudo-para-ia-identity-platform,codex-server,\root\__gpt-codex\tudo-para-ia-identity-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-identity-platform,tudo-para-ia-identity-platform,admin/tudo-para-ia-identity-platform,gitlab-server,\root\_codex-git\tudo-para-ia-identity-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-integracoes-platform,tudo-para-ia-integracoes-platform,admin/tudo-para-ia-integracoes-platform,windows-primary,G:\_codex-git\tudo-para-ia-integracoes-platform,tudo-para-ia-integracoes-plataform,G:\_codex-git\tudo-para-ia-integracoes-plataform,present_git,main,6371413be59b2d4dbea347b7305db0f15c8f0c28,https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git,clean,ahead=24;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied,materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform +tudo-para-ia-integracoes-platform,tudo-para-ia-integracoes-platform,admin/tudo-para-ia-integracoes-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-integracoes-platform,tudo-para-ia-integracoes-plataform,G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform,present_git,main,5b015a1d63a2f6d20716e68be0d9e538d14fc5f4,https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git,clean,ahead=0;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied,materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform +tudo-para-ia-integracoes-platform,tudo-para-ia-integracoes-platform,admin/tudo-para-ia-integracoes-platform,codex-server,\root\__gpt-codex\tudo-para-ia-integracoes-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-integracoes-platform,tudo-para-ia-integracoes-platform,admin/tudo-para-ia-integracoes-platform,gitlab-server,\root\_codex-git\tudo-para-ia-integracoes-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-intelligence-platform,tudo-para-ia-intelligence-platform,admin/tudo-para-ia-intelligence-platform,windows-primary,G:\_codex-git\tudo-para-ia-intelligence-platform,tudo-para-ia-intelligence-platform,G:\_codex-git\tudo-para-ia-intelligence-platform,present_git,main,0ebe258ed33ea019236515697aaa370337569603,https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git,dirty,unknown:fatal: no upstream configured for branch 'main',error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-intelligence-platform,tudo-para-ia-intelligence-platform,admin/tudo-para-ia-intelligence-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform,,,missing,,,,missing,,, +tudo-para-ia-intelligence-platform,tudo-para-ia-intelligence-platform,admin/tudo-para-ia-intelligence-platform,codex-server,\root\__gpt-codex\tudo-para-ia-intelligence-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-intelligence-platform,tudo-para-ia-intelligence-platform,admin/tudo-para-ia-intelligence-platform,gitlab-server,\root\_codex-git\tudo-para-ia-intelligence-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-mais-humana-plataform,tudo-para-ia-mais-humana-plataform,admin/tudo-para-ia-mais-humana,windows-primary,G:\_codex-git\tudo-para-ia-mais-humana-plataform,tudo-para-ia-mais-humana,G:\_codex-git\tudo-para-ia-mais-humana,present_git,main,3d2748adf5e011a7aa796fc2a5aed8e815dcb092,https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git,dirty,unknown:fatal: no upstream configured for branch 'main',error: cannot open '.git/FETCH_HEAD': Permission denied,materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform +tudo-para-ia-mais-humana-plataform,tudo-para-ia-mais-humana-plataform,admin/tudo-para-ia-mais-humana,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform,,,missing,,,,missing,,, +tudo-para-ia-mais-humana-plataform,tudo-para-ia-mais-humana-plataform,admin/tudo-para-ia-mais-humana,codex-server,\root\__gpt-codex\tudo-para-ia-mais-humana-plataform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-mais-humana-plataform,tudo-para-ia-mais-humana-plataform,admin/tudo-para-ia-mais-humana,gitlab-server,\root\_codex-git\tudo-para-ia-mais-humana-plataform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-mcps-internos-plataform,tudo-para-ia-mcps-internos-plataform,admin/tudo-para-ia-mcps-internos-plataform,windows-primary,G:\_codex-git\tudo-para-ia-mcps-internos-plataform,tudo-para-ia-mcps-internos-plataform,G:\_codex-git\tudo-para-ia-mcps-internos-plataform,present_git,main,5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2,https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git,clean,ahead=23;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-mcps-internos-plataform,tudo-para-ia-mcps-internos-plataform,admin/tudo-para-ia-mcps-internos-plataform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-mcps-internos-plataform,tudo-para-ia-mcps-internos-plataform,G:\codex_vm\_codex-git\tudo-para-ia-mcps-internos-plataform,present_git,main,e47192610f41ba20511b8eea1ee7187959860f1e,https://git.ami.app.br/admin/tudo-para-ia-mcps-internos-plataform.git,clean,ahead=0;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-mcps-internos-plataform,tudo-para-ia-mcps-internos-plataform,admin/tudo-para-ia-mcps-internos-plataform,codex-server,\root\__gpt-codex\tudo-para-ia-mcps-internos-plataform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-mcps-internos-plataform,tudo-para-ia-mcps-internos-plataform,admin/tudo-para-ia-mcps-internos-plataform,gitlab-server,\root\_codex-git\tudo-para-ia-mcps-internos-plataform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-platform-base,tudo-para-ia-platform-base,admin/tudo-para-ia-platform-base,windows-primary,G:\_codex-git\tudo-para-ia-platform-base,tudo-para-ia-platform-base,G:\_codex-git\tudo-para-ia-platform-base,present_git,main,086d86a8ac06fc6b05677a2a26d35d081bcbfc39,https://git.ami.app.br/admin/tudo-para-ia-platform-base.git,dirty,ahead=2;behind=2;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-platform-base,tudo-para-ia-platform-base,admin/tudo-para-ia-platform-base,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-platform-base,tudo-para-ia-platform-base,G:\codex_vm\_codex-git\tudo-para-ia-platform-base,present_git,main,4f6e1590ddafd990da4fb07c50e97a545a05aa36,https://git.ami.app.br/admin/tudo-para-ia-platform-base.git,dirty,ahead=0;behind=2;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-platform-base,tudo-para-ia-platform-base,admin/tudo-para-ia-platform-base,codex-server,\root\__gpt-codex\tudo-para-ia-platform-base,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-platform-base,tudo-para-ia-platform-base,admin/tudo-para-ia-platform-base,gitlab-server,\root\_codex-git\tudo-para-ia-platform-base,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-public-platform,tudo-para-ia-public-platform,admin/tudo-para-ia-public-platform,windows-primary,G:\_codex-git\tudo-para-ia-public-platform,tudo-para-ia-public-platform,G:\_codex-git\tudo-para-ia-public-platform,present_git,main,b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42,https://git.ami.app.br/admin/tudo-para-ia-public-platform.git,clean,ahead=9;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-public-platform,tudo-para-ia-public-platform,admin/tudo-para-ia-public-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-public-platform,,,missing,,,,missing,,, +tudo-para-ia-public-platform,tudo-para-ia-public-platform,admin/tudo-para-ia-public-platform,codex-server,\root\__gpt-codex\tudo-para-ia-public-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-public-platform,tudo-para-ia-public-platform,admin/tudo-para-ia-public-platform,gitlab-server,\root\_codex-git\tudo-para-ia-public-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-stj-platform,tudo-para-ia-stj-platform,admin/tudo-para-ia-stj-platform,windows-primary,G:\_codex-git\tudo-para-ia-stj-platform,tudo-para-ia-stj-platform,G:\_codex-git\tudo-para-ia-stj-platform,present_git,main,006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7,https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git,clean,ahead=7;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-stj-platform,tudo-para-ia-stj-platform,admin/tudo-para-ia-stj-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-stj-platform,tudo-para-ia-stj-platform,G:\codex_vm\_codex-git\tudo-para-ia-stj-platform,present_git,main,b13e6c9464661885d31d2ae7d295ec5667927056,https://git.ami.app.br/admin/tudo-para-ia-stj-platform.git,clean,ahead=0;behind=0;upstream=origin/main,error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-stj-platform,tudo-para-ia-stj-platform,admin/tudo-para-ia-stj-platform,codex-server,\root\__gpt-codex\tudo-para-ia-stj-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-stj-platform,tudo-para-ia-stj-platform,admin/tudo-para-ia-stj-platform,gitlab-server,\root\_codex-git\tudo-para-ia-stj-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git +tudo-para-ia-ui-platform,tudo-para-ia-ui-platform,admin/tudo-para-ia-ui-platform,windows-primary,G:\_codex-git\tudo-para-ia-ui-platform,tudo-para-ia-ui-platform,G:\_codex-git\tudo-para-ia-ui-platform,present_git,main,64e52f8949ebb2dee28e14ac0316a596d6fe77e9,https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git,dirty,unknown:fatal: no upstream configured for branch 'main',error: cannot open '.git/FETCH_HEAD': Permission denied, +tudo-para-ia-ui-platform,tudo-para-ia-ui-platform,admin/tudo-para-ia-ui-platform,windows-secondary,G:\codex_vm\_codex-git\tudo-para-ia-ui-platform,,,missing,,,,missing,,, +tudo-para-ia-ui-platform,tudo-para-ia-ui-platform,admin/tudo-para-ia-ui-platform,codex-server,\root\__gpt-codex\tudo-para-ia-ui-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +tudo-para-ia-ui-platform,tudo-para-ia-ui-platform,admin/tudo-para-ia-ui-platform,gitlab-server,\root\_codex-git\tudo-para-ia-ui-platform,,,unreachable_environment,,,,unreachable_environment,,,ambiente nao acessivel a partir desta sessao: /root/_codex-git diff --git a/matrizes/repository-mesh-operations.csv b/matrizes/repository-mesh-operations.csv new file mode 100644 index 0000000..6e60a27 --- /dev/null +++ b/matrizes/repository-mesh-operations.csv @@ -0,0 +1,50 @@ +operation_id,target_name,status,severity,automatic,destructive,title,reason,commands,preconditions,rollback,evidence +mesh-op-9d4d8c5516d0,tudo-para-ia-business-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-business-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-09136c8c3b10,tudo-para-ia-business-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-business-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-83c78317fdd2,tudo-para-ia-compliance-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-compliance-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-6dfa312564dd,tudo-para-ia-compliance-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-compliance-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-3db32380ccae,tudo-para-ia-compliance-platform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform +mesh-op-37369c19cea4,tudo-para-ia-customer-ops-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-customer-ops-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-c49fe31f6a9c,tudo-para-ia-customer-ops-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-customer-ops-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-68811b9b3d72,tudo-para-ia-customer-ops-platform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform +mesh-op-48963a24e980,tudo-para-ia-customer-ops-platform,remote_mismatch,warning,no,no,Corrigir remote origin divergente,remote origin nao corresponde ao Gitea esperado,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git,registrar remote anterior | executar fetch apos ajuste | nao alterar branch nem working tree,git remote set-url origin ,https://git.ami.app.br/codex-server/tudo-para-ia-customer-ops-platform.git | https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git +mesh-op-86c156434b88,tudo-para-ia-docs-plataform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-docs-plataform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-b3c0ebd33384,tudo-para-ia-docs-plataform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-docs-plataform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-d8f16e6a31ac,tudo-para-ia-finance-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-finance-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-494de8609ff1,tudo-para-ia-finance-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-finance-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-2807468aa5bb,tudo-para-ia-finance-platform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-finance-platform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-finance-platform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-finance-platform +mesh-op-819094aeb896,tudo-para-ia-gettys-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-gettys-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-b951fe01e43c,tudo-para-ia-gettys-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-gettys-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-bff90770061e,tudo-para-ia-gettys-platform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform +mesh-op-6b5c33b2116e,tudo-para-ia-identity-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-identity-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-a4a666c5ca74,tudo-para-ia-identity-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-identity-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-aaa379546d21,tudo-para-ia-integracoes-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-integracoes-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-8d1f2acd452b,tudo-para-ia-integracoes-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-integracoes-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-64e7a5d162a3,tudo-para-ia-integracoes-platform,remote_mismatch,warning,no,no,Corrigir remote origin divergente,remote origin nao corresponde ao Gitea esperado,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git,registrar remote anterior | executar fetch apos ajuste | nao alterar branch nem working tree,git remote set-url origin ,https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git | https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git +mesh-op-64e7a5d162a3,tudo-para-ia-integracoes-platform,remote_mismatch,warning,no,no,Corrigir remote origin divergente,remote origin nao corresponde ao Gitea esperado,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git,registrar remote anterior | executar fetch apos ajuste | nao alterar branch nem working tree,git remote set-url origin ,https://git.ami.app.br/admin/tudo-para-ia-integracoes-plataform.git | https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git +mesh-op-72e46290a482,tudo-para-ia-integracoes-platform,nominal_rename_ready,warning,yes,no,Reconciliar nomenclatura local/canonica,materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform',confirmar destino inexistente | registrar hash HEAD antes do renome,renomear de volta para alias anterior se validacao falhar: tudo-para-ia-integracoes-plataform,G:\_codex-git\tudo-para-ia-integracoes-plataform | G:\_codex-git\tudo-para-ia-integracoes-platform | 6371413be59b2d4dbea347b7305db0f15c8f0c28 +mesh-op-196449c6b5bf,tudo-para-ia-integracoes-platform,nominal_rename_ready,warning,yes,no,Reconciliar nomenclatura local/canonica,materializado como alias tudo-para-ia-integracoes-plataform; esperado tudo-para-ia-integracoes-platform,Rename-Item -LiteralPath 'G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform',confirmar destino inexistente | registrar hash HEAD antes do renome,renomear de volta para alias anterior se validacao falhar: tudo-para-ia-integracoes-plataform,G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform | G:\codex_vm\_codex-git\tudo-para-ia-integracoes-platform | 5b015a1d63a2f6d20716e68be0d9e538d14fc5f4 +mesh-op-7eb4b941eceb,tudo-para-ia-intelligence-platform,dirty_blocked,blocker,no,no,Bloquear sincronizacao destrutiva por working tree sujo,alteracoes locais nao commitadas podem ser a versao valida mais recente,,registrar diff | commit ou stash consciente | decidir precedencia antes de pull/merge,,windows-primary | G:\_codex-git\tudo-para-ia-intelligence-platform | M .gitignore | M README.md | M apps/intelligence-worker/contracts/intelligence-mcp-ready.contract.json | M apps/intelligence-worker/contracts/intelligence-mcp-ready.summary.json | M apps/intelligence-worker/package.json | M apps/intelligence-worker/schema.sql | M apps/intelligence-worker/src/index.js | M apps/intelligence-worker/src/intelligence-core.js +mesh-op-43539e7f7909,tudo-para-ia-intelligence-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-intelligence-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-d613b4ef3042,tudo-para-ia-intelligence-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-intelligence-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-67157e3dd5ca,tudo-para-ia-intelligence-platform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform +mesh-op-8edfc132f4f5,tudo-para-ia-mais-humana-plataform,dirty_blocked,blocker,no,no,Bloquear sincronizacao destrutiva por working tree sujo,alteracoes locais nao commitadas podem ser a versao valida mais recente,,registrar diff | commit ou stash consciente | decidir precedencia antes de pull/merge,,windows-primary | G:\_codex-git\tudo-para-ia-mais-humana | M dados/budget-linhas-rodada.json | M dados/dossie-operacional-humano.json | M dados/governanca-operacional-compacta.json | M dados/governanca-operacional.json | M dados/grafo-evidencias.json | M dados/indice-evidencias.json | M dados/lifecycle-ordens-ativas.json | M dados/ordens-governanca-compiladas.json +mesh-op-4fa6dc0f1efa,tudo-para-ia-mais-humana-plataform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-mais-humana-plataform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-a4610a39cb38,tudo-para-ia-mais-humana-plataform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-mais-humana-plataform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-4fbfcbde3165,tudo-para-ia-mais-humana-plataform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform +mesh-op-8e4636d9cead,tudo-para-ia-mais-humana-plataform,manual_decision_required,blocker,no,no,Reconciliar nomenclatura local/canonica,materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform',confirmar destino inexistente | registrar hash HEAD antes do renome,renomear de volta para alias anterior se validacao falhar: tudo-para-ia-mais-humana,G:\_codex-git\tudo-para-ia-mais-humana | G:\_codex-git\tudo-para-ia-mais-humana-plataform | 3d2748adf5e011a7aa796fc2a5aed8e815dcb092 +mesh-op-21e28a2e2dfd,tudo-para-ia-mcps-internos-plataform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-mcps-internos-plataform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-95d30c400d99,tudo-para-ia-mcps-internos-plataform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-mcps-internos-plataform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-451f7c3dd283,tudo-para-ia-platform-base,dirty_blocked,blocker,no,no,Bloquear sincronizacao destrutiva por working tree sujo,alteracoes locais nao commitadas podem ser a versao valida mais recente,,registrar diff | commit ou stash consciente | decidir precedencia antes de pull/merge,,windows-primary | G:\_codex-git\tudo-para-ia-platform-base | M .gitignore | M README.md | M apps/platform-shell/README.md | M apps/platform-shell/package.json | M apps/platform-shell/src/index.ts | M apps/platform-shell/src/shell/manifest.ts | M apps/platform-shell/src/shell/router.ts | M contracts/platform-derivation.contract.json +mesh-op-f69abebf1ff4,tudo-para-ia-platform-base,dirty_blocked,blocker,no,no,Bloquear sincronizacao destrutiva por working tree sujo,alteracoes locais nao commitadas podem ser a versao valida mais recente,,registrar diff | commit ou stash consciente | decidir precedencia antes de pull/merge,,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-platform-base | M .gitignore | M README.md | M apps/platform-shell/README.md | M apps/platform-shell/package.json | M apps/platform-shell/src/index.ts | M contracts/platform-derivation.contract.json | M contracts/platform-shell.contract.json | M docs/architecture.md +mesh-op-35575fdcf53e,tudo-para-ia-platform-base,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-platform-base | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-60eb5aacee41,tudo-para-ia-platform-base,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-platform-base | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-56670cc10694,tudo-para-ia-public-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-public-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-5421845d6647,tudo-para-ia-public-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-public-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-a512cf3c15d6,tudo-para-ia-public-platform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\codex_vm\_codex-git\tudo-para-ia-public-platform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-public-platform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-public-platform +mesh-op-741697842896,tudo-para-ia-stj-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-stj-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-2e71dfc6b5b7,tudo-para-ia-stj-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-stj-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-d24510e46fcd,tudo-para-ia-ui-platform,dirty_blocked,blocker,no,no,Bloquear sincronizacao destrutiva por working tree sujo,alteracoes locais nao commitadas podem ser a versao valida mais recente,,registrar diff | commit ou stash consciente | decidir precedencia antes de pull/merge,,windows-primary | G:\_codex-git\tudo-para-ia-ui-platform | M apps/ui-platform/index.html | M apps/ui-platform/src/app.js | M apps/ui-platform/src/contract-data.js | M apps/ui-platform/src/styles.css | M package.json | M packages/mcp-ready/src/index.mjs | M packages/ui-governance/src/index.mjs | M packages/ui-governance/src/semantic-registry.mjs +mesh-op-7b801670d5d2,tudo-para-ia-ui-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,codex-server | \root\__gpt-codex\tudo-para-ia-ui-platform | ambiente nao acessivel a partir desta sessao: /root/__gpt-codex +mesh-op-894c832cefcb,tudo-para-ia-ui-platform,environment_blocked,blocker,no,no,Executar inventario no ambiente inacessivel,ambiente declarado pela OS nao esta acessivel a partir desta sessao,,abrir sessao no host correspondente | rodar mais_humana.cli repo-mesh localmente,,gitlab-server | \root\_codex-git\tudo-para-ia-ui-platform | ambiente nao acessivel a partir desta sessao: /root/_codex-git +mesh-op-4f13abbae981,tudo-para-ia-ui-platform,missing_materialization,warning,no,no,Materializar espelho ausente sem sobrescrever destino,repositorio declarado nao existe no ambiente observado,git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\codex_vm\_codex-git\tudo-para-ia-ui-platform,confirmar que o destino ainda nao existe | confirmar credencial Git | registrar hash remoto antes do clone,remover clone recem-criado somente se vazio e sem alteracao local: G:\codex_vm\_codex-git\tudo-para-ia-ui-platform,windows-secondary | G:\codex_vm\_codex-git\tudo-para-ia-ui-platform diff --git a/matrizes/repository-mesh-readiness.csv b/matrizes/repository-mesh-readiness.csv new file mode 100644 index 0000000..69dbc5d --- /dev/null +++ b/matrizes/repository-mesh-readiness.csv @@ -0,0 +1,20 @@ +gate_id,status,severity,score,title,reason,next_action,evidence +inventory.targets-declared,pass,info,100,Todos os repositorios declarados foram carregados,Repositorios declarados: 15.,atualizar manifesto da OS permanente,15 +inventory.observations-created,pass,info,100,Observacoes por ambiente foram criadas,Observacoes: 60.,rodar inventario nos ambientes faltantes,60 +inventory.hashes-present,pass,info,100,Ao menos um hash HEAD foi observado,Hashes HEAD foram coletados em ambientes acessiveis.,corrigir acesso a repositorios e repetir git rev-parse HEAD,tudo-para-ia-business-platform | tudo-para-ia-compliance-platform | tudo-para-ia-customer-ops-platform | tudo-para-ia-docs-plataform | tudo-para-ia-finance-platform | tudo-para-ia-gettys-platform | tudo-para-ia-identity-platform | tudo-para-ia-integracoes-platform +inventory.fetch-attempted,pass,info,100,Fetch nao destrutivo foi tentado quando solicitado,Fetch habilitado no ciclo.,executar repo-mesh --fetch em rodada com credencial Git disponivel,fetch_enabled=True +safety.no-destructive-auto,pass,info,100,Nenhum comando destrutivo ficou permitido automaticamente,Runtime nao permitiu comando destrutivo.,corrigir gates do runtime antes de ativar scheduler, +safety.dirty-blocked,pass,info,100,Working trees sujos viraram bloqueio,Worktrees sujos detectados: 5.,commit/stash consciente ou decisao de precedencia,5 +safety.credentials-classified,pass,info,100,Falhas de credencial foram classificadas,Falhas de credencial: 0; recibos credential_blocked: 0.,configurar credencial Git e repetir fetch,0 | 0 +safety.receipts-created,pass,info,100,Recibos de reconciliacao foram criados,Recibos: 15; repositorios: 15.,regerar plano de reconciliacao,15 | 15 +safety.blockers-visible,warn,warning,10,Bloqueios estao visiveis no plano,Recibos com blocker: 15.,executar ordens de saida para remover bloqueios reais,15 +naming.policy-evaluated,pass,info,100,Politica de nomenclatura avaliou os repositorios,Decisoes nominais: 30.,executar reconciliacao com raizes acessiveis,30 +naming.no-conflicts,pass,info,100,Conflitos de nome foram bloqueados,Conflitos nominais: 0.,comparar variantes platform/plataform/alias antes de rename ou clone, +naming.pending-visible,warn,warning,30,Pendencias nominais estao visiveis,Pendencias nominais: 11.,executar ordens de renome/alias geradas pela reconciliacao,tudo-para-ia-compliance-platform:missing | tudo-para-ia-customer-ops-platform:missing | tudo-para-ia-finance-platform:missing | tudo-para-ia-gettys-platform:missing | tudo-para-ia-integracoes-platform:canonical_rename_required | tudo-para-ia-integracoes-platform:canonical_rename_required | tudo-para-ia-intelligence-platform:missing | tudo-para-ia-mais-humana-plataform:canonical_rename_required +automation.runtime-cycle,pass,info,100,Ciclo runtime foi gerado,Ciclo: mesh-cycle-7634bd77674c.,gerar runtime cycle com lock e comandos,mesh-cycle-7634bd77674c +automation.lock-held,pass,info,100,Runtime registrou estado de lock,Lock: stale_replaced.,corrigir lock do runtime,G:\_codex-git\tudo-para-ia-mais-humana\dados\repository-mesh.lock.json | stale_replaced +automation.schedulers,pass,info,100,Schedulers Windows e Linux foram especificados,"Schedulers: cron, windows_task.",publicar instalacao em cada ambiente,cron | windows_task +automation.allowed-commands-limited,pass,info,100,Comandos automaticos permitidos sao minoria controlada,Allowed: 4; total: 133.,revisar gates se comandos automaticos crescerem sem recibo,4 | 133 +semantic.report,pass,info,100,SQL registrou report da malha,Reports SQL: 3.,executar write_repository_mesh_semantic_state,3 +semantic.receipts,pass,info,100,SQL registrou recibos de reconciliacao,Receipts SQL: 15.,persistir plano de reconciliacao no SQLite,15 +semantic.schedulers,pass,info,100,SQL registrou schedulers,Schedulers SQL: 2.,persistir specs de scheduler Windows/Cron,2 diff --git a/matrizes/repository-mesh-reconciliation.csv b/matrizes/repository-mesh-reconciliation.csv new file mode 100644 index 0000000..a17d88a --- /dev/null +++ b/matrizes/repository-mesh-reconciliation.csv @@ -0,0 +1,16 @@ +receipt_id,target_name,expected_local_name,status,risk,safe_to_auto_sync,selected_head,selected_environment,precedence,naming_status,pending_count,operation_count +mesh-receipt-a49d74c8be8d,tudo-para-ia-business-platform,tudo-para-ia-business-platform,environment_blocked,blocked,no,cee7e824559832f3e36492dfadf0777d605afee8,windows-primary,local_ahead,exact | exact,2,2 +mesh-receipt-4cb873ce1328,tudo-para-ia-compliance-platform,tudo-para-ia-compliance-platform,environment_blocked,blocked,no,7e88a2beb57ecb4a07534733638110b999dce561,windows-primary,single_hash,exact | missing,2,3 +mesh-receipt-76d38c9b58b4,tudo-para-ia-customer-ops-platform,tudo-para-ia-customer-ops-platform,environment_blocked,blocked,no,ef83587577f93ed6df086db39975c83e1216edac,windows-primary,single_hash,exact | missing,3,4 +mesh-receipt-4d709e26bc96,tudo-para-ia-docs-plataform,tudo-para-ia-docs-plataform,environment_blocked,blocked,no,80095cd75b612ce09b704bc00bf54dbdc59ccdf3,windows-primary,local_ahead,exact | exact,2,2 +mesh-receipt-92c0d80b1a54,tudo-para-ia-finance-platform,tudo-para-ia-finance-platform,environment_blocked,blocked,no,81eb44e3cdeb9912d45a9ba43c904d39bf0ae884,windows-primary,single_hash,exact | missing,2,3 +mesh-receipt-d83d967d1f2b,tudo-para-ia-gettys-platform,tudo-para-ia-gettys-platform,environment_blocked,blocked,no,9d0c4c2594d019e70568f21c23b04e4693225ce1,windows-primary,single_hash,exact | missing,2,3 +mesh-receipt-6d5b2c3fcbf8,tudo-para-ia-identity-platform,tudo-para-ia-identity-platform,environment_blocked,blocked,no,cdfe78714d61bf36793d38bdadf2fcd736ae08c1,windows-primary,local_ahead,exact | exact,2,2 +mesh-receipt-aaba6c30df14,tudo-para-ia-integracoes-platform,tudo-para-ia-integracoes-platform,environment_blocked,blocked,no,6371413be59b2d4dbea347b7305db0f15c8f0c28,windows-primary,local_ahead,canonical_rename_required | canonical_rename_required,4,6 +mesh-receipt-286eb398adae,tudo-para-ia-intelligence-platform,tudo-para-ia-intelligence-platform,dirty_blocked,blocked,no,,,dirty_tree,exact | missing,4,4 +mesh-receipt-aba57158afb9,tudo-para-ia-mais-humana-plataform,tudo-para-ia-mais-humana-plataform,dirty_blocked,blocked,no,,,dirty_tree,canonical_rename_required | missing,5,5 +mesh-receipt-a84946b8a14a,tudo-para-ia-mcps-internos-plataform,tudo-para-ia-mcps-internos-plataform,environment_blocked,blocked,no,5dfaedd3d8dc4adcd5fa7e21c6ae399da62c24e2,windows-primary,local_ahead,exact | exact,2,2 +mesh-receipt-432e0adc6f8b,tudo-para-ia-platform-base,tudo-para-ia-platform-base,dirty_blocked,blocked,no,,,dirty_tree,exact | exact,4,4 +mesh-receipt-6cf5fadc238f,tudo-para-ia-public-platform,tudo-para-ia-public-platform,environment_blocked,blocked,no,b1bad49c12a4f8698e4d36fd029fbdaa4a0bef42,windows-primary,single_hash,exact | missing,2,3 +mesh-receipt-bb026d9866c6,tudo-para-ia-stj-platform,tudo-para-ia-stj-platform,environment_blocked,blocked,no,006bd08740d0c4bfd0ff5f8c5823da3ffb3935b7,windows-primary,local_ahead,exact | exact,2,2 +mesh-receipt-b9242d750d57,tudo-para-ia-ui-platform,tudo-para-ia-ui-platform,dirty_blocked,blocked,no,,,dirty_tree,exact | missing,4,4 diff --git a/matrizes/repository-mesh-runtime.csv b/matrizes/repository-mesh-runtime.csv new file mode 100644 index 0000000..26b2a5a --- /dev/null +++ b/matrizes/repository-mesh-runtime.csv @@ -0,0 +1,134 @@ +command_id,target_name,status,automatic,destructive,command,blocked_reasons +mesh-cmd-e4ec84db2a60,tudo-para-ia-business-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-f19f94b70f56,tudo-para-ia-business-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-7b36c4533dd8,tudo-para-ia-business-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-5e211e889540,tudo-para-ia-business-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-5ee5986fdf51,tudo-para-ia-business-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-423145a6d0e8,tudo-para-ia-compliance-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-71d036683e5b,tudo-para-ia-compliance-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-b9c681381a3a,tudo-para-ia-compliance-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform,acao nao marcada como automatica +mesh-cmd-a586dddb0a77,tudo-para-ia-compliance-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-ccb166106aba,tudo-para-ia-compliance-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-eea4537abff8,tudo-para-ia-customer-ops-platform,blocked,no,no,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git,acao nao marcada como automatica +mesh-cmd-c262c4658caf,tudo-para-ia-customer-ops-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-a68639499e6e,tudo-para-ia-customer-ops-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-add1ff5fa96f,tudo-para-ia-customer-ops-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform,acao nao marcada como automatica +mesh-cmd-80d6713d0cfd,tudo-para-ia-customer-ops-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-805f8f4bbd76,tudo-para-ia-customer-ops-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-73730d14fdba,tudo-para-ia-docs-plataform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-da95ddde41be,tudo-para-ia-docs-plataform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-514b6268e4bb,tudo-para-ia-docs-plataform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-f0d93b3e060c,tudo-para-ia-docs-plataform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-1255bbc8c142,tudo-para-ia-docs-plataform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-a6d12ec840d2,tudo-para-ia-finance-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-225241e0d540,tudo-para-ia-finance-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-d47969b23342,tudo-para-ia-finance-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-finance-platform,acao nao marcada como automatica +mesh-cmd-4684afbe55ad,tudo-para-ia-finance-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-fd8f49e36633,tudo-para-ia-finance-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-5aa4c6e28ab0,tudo-para-ia-gettys-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-2c181bf0942f,tudo-para-ia-gettys-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-6bfeb8631e3e,tudo-para-ia-gettys-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform,acao nao marcada como automatica +mesh-cmd-597014a83640,tudo-para-ia-gettys-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-bd0f8e1cc9ae,tudo-para-ia-gettys-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-4a327599000a,tudo-para-ia-identity-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-58dbefef493d,tudo-para-ia-identity-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-9f7e418a088c,tudo-para-ia-identity-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-22e0aad14848,tudo-para-ia-identity-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-d6cdd3ac798d,tudo-para-ia-identity-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-3b9beaf69194,tudo-para-ia-integracoes-platform,allowed,yes,no,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform', +mesh-cmd-352c0963c073,tudo-para-ia-integracoes-platform,blocked,no,no,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git,acao nao marcada como automatica +mesh-cmd-12f98a68e313,tudo-para-ia-integracoes-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-3fb73957c9a4,tudo-para-ia-integracoes-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-bdd4005ad860,tudo-para-ia-integracoes-platform,allowed,yes,no,Rename-Item -LiteralPath 'G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform', +mesh-cmd-95c9bc18f0a4,tudo-para-ia-integracoes-platform,blocked,no,no,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git,acao nao marcada como automatica +mesh-cmd-db5a3219dac3,tudo-para-ia-integracoes-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-f97282844432,tudo-para-ia-integracoes-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-36822e8ba4cb,tudo-para-ia-integracoes-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-22326ccfb83b,tudo-para-ia-intelligence-platform,blocked,no,yes,NOOP action:block_destructive_sync,comando ou acao marcado como destrutivo | acao nao marcada como automatica +mesh-cmd-9d54f9e504cf,tudo-para-ia-intelligence-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-af5f5cd74777,tudo-para-ia-intelligence-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform,acao nao marcada como automatica +mesh-cmd-839093653909,tudo-para-ia-intelligence-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-40edb69c194b,tudo-para-ia-intelligence-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-6255c2bae03a,tudo-para-ia-mais-humana-plataform,blocked,no,no,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform',acao nao marcada como automatica +mesh-cmd-32e4dec1f2ad,tudo-para-ia-mais-humana-plataform,blocked,no,yes,NOOP action:block_destructive_sync,comando ou acao marcado como destrutivo | acao nao marcada como automatica +mesh-cmd-d005d26e4507,tudo-para-ia-mais-humana-plataform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-a8e2cb30f899,tudo-para-ia-mais-humana-plataform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform,acao nao marcada como automatica +mesh-cmd-ced2cd7ee587,tudo-para-ia-mais-humana-plataform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-77eb071843df,tudo-para-ia-mais-humana-plataform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-212890f569ac,tudo-para-ia-mcps-internos-plataform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-f00e2f2b5a13,tudo-para-ia-mcps-internos-plataform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-ccbf2ba21cfe,tudo-para-ia-mcps-internos-plataform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-989d9bfffca1,tudo-para-ia-mcps-internos-plataform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-68a503359067,tudo-para-ia-mcps-internos-plataform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-7a4abb4052a5,tudo-para-ia-platform-base,blocked,no,yes,NOOP action:block_destructive_sync,comando ou acao marcado como destrutivo | acao nao marcada como automatica +mesh-cmd-d6bd65a36d33,tudo-para-ia-platform-base,blocked,no,yes,NOOP action:block_destructive_sync,comando ou acao marcado como destrutivo | acao nao marcada como automatica +mesh-cmd-e00cbdd357ec,tudo-para-ia-platform-base,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-337d21270eb3,tudo-para-ia-platform-base,blocked,no,yes,NOOP action:block_destructive_sync,comando ou acao marcado como destrutivo | acao nao marcada como automatica +mesh-cmd-21edb6a12935,tudo-para-ia-platform-base,blocked,no,no,git fetch --all --prune,acao nao marcada como automatica +mesh-cmd-7b722c9cfabf,tudo-para-ia-platform-base,blocked,no,no,git merge --ff-only @{u},acao nao marcada como automatica +mesh-cmd-79d4e8de607c,tudo-para-ia-platform-base,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-1241c2027936,tudo-para-ia-platform-base,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-82cdc2ace254,tudo-para-ia-platform-base,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-8fd4572e582d,tudo-para-ia-public-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-99e72700ed27,tudo-para-ia-public-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-fa0891c72b3b,tudo-para-ia-public-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\codex_vm\_codex-git\tudo-para-ia-public-platform,acao nao marcada como automatica +mesh-cmd-42bd692fb74f,tudo-para-ia-public-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-96378f20554e,tudo-para-ia-public-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-63e5ddb231f5,tudo-para-ia-stj-platform,blocked,no,no,git push origin HEAD,acao nao marcada como automatica +mesh-cmd-8aea602c2ebc,tudo-para-ia-stj-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-c1abdd1982dd,tudo-para-ia-stj-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-c00802173a2c,tudo-para-ia-stj-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-2a239a6a2343,tudo-para-ia-stj-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-094378ab6a9f,tudo-para-ia-ui-platform,blocked,no,yes,NOOP action:block_destructive_sync,comando ou acao marcado como destrutivo | acao nao marcada como automatica +mesh-cmd-73441c1fda84,tudo-para-ia-ui-platform,blocked,no,no,NOOP action:register_evidence,acao nao marcada como automatica +mesh-cmd-a5e53f621b3b,tudo-para-ia-ui-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\codex_vm\_codex-git\tudo-para-ia-ui-platform,acao nao marcada como automatica +mesh-cmd-b38559ff09ae,tudo-para-ia-ui-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-3a3bcb208e26,tudo-para-ia-ui-platform,blocked,no,no,NOOP action:require_environment_access,acao nao marcada como automatica +mesh-cmd-ada5edfaeaef,tudo-para-ia-business-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-3882ef8a5e40,tudo-para-ia-business-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-00dd93036fa4,tudo-para-ia-compliance-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-2dbaa7029197,tudo-para-ia-compliance-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-2a930c379869,tudo-para-ia-compliance-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-compliance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-compliance-platform,operacao requer execucao manual +mesh-cmd-60aa3f6de597,tudo-para-ia-customer-ops-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-fa5f404afa23,tudo-para-ia-customer-ops-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-3bb1ecaaae34,tudo-para-ia-customer-ops-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git G:\codex_vm\_codex-git\tudo-para-ia-customer-ops-platform,operacao requer execucao manual +mesh-cmd-fe01ddf5c6a0,tudo-para-ia-customer-ops-platform,blocked,no,no,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-customer-ops-platform.git,operacao requer execucao manual +mesh-cmd-5e45497ba684,tudo-para-ia-docs-plataform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-684256f37755,tudo-para-ia-docs-plataform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-5b9a9c41bf01,tudo-para-ia-finance-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-6d3690f641af,tudo-para-ia-finance-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-b745c12ed476,tudo-para-ia-finance-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-finance-platform.git G:\codex_vm\_codex-git\tudo-para-ia-finance-platform,operacao requer execucao manual +mesh-cmd-45a9eed44a7e,tudo-para-ia-gettys-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-5b8ac53a19ed,tudo-para-ia-gettys-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-395dfcfd8e42,tudo-para-ia-gettys-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-gettys-platform.git G:\codex_vm\_codex-git\tudo-para-ia-gettys-platform,operacao requer execucao manual +mesh-cmd-5426657b743e,tudo-para-ia-identity-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-6f14424c2f4b,tudo-para-ia-identity-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-a8ac38969154,tudo-para-ia-integracoes-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-963f9406d03b,tudo-para-ia-integracoes-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-c893f61203ce,tudo-para-ia-integracoes-platform,blocked,no,no,git remote set-url origin https://git.ami.app.br/admin/tudo-para-ia-integracoes-platform.git,operacao requer execucao manual +mesh-cmd-843da2c57d4d,tudo-para-ia-integracoes-platform,allowed,yes,no,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform', +mesh-cmd-31db7c79403d,tudo-para-ia-integracoes-platform,allowed,yes,no,Rename-Item -LiteralPath 'G:\codex_vm\_codex-git\tudo-para-ia-integracoes-plataform' -NewName 'tudo-para-ia-integracoes-platform', +mesh-cmd-16cf121d9cc5,tudo-para-ia-intelligence-platform,blocked,no,no,NOOP operation:dirty_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-9da5aa1dab0e,tudo-para-ia-intelligence-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-b7ccc783e630,tudo-para-ia-intelligence-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-9b4178393776,tudo-para-ia-intelligence-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-intelligence-platform.git G:\codex_vm\_codex-git\tudo-para-ia-intelligence-platform,operacao requer execucao manual +mesh-cmd-09bc491a881a,tudo-para-ia-mais-humana-plataform,blocked,no,no,NOOP operation:dirty_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-54d9bc1bd126,tudo-para-ia-mais-humana-plataform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-d07ffe69c1e1,tudo-para-ia-mais-humana-plataform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-3c82f266af80,tudo-para-ia-mais-humana-plataform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-mais-humana.git G:\codex_vm\_codex-git\tudo-para-ia-mais-humana-plataform,operacao requer execucao manual +mesh-cmd-7940ca5e22b7,tudo-para-ia-mais-humana-plataform,blocked,no,no,Rename-Item -LiteralPath 'G:\_codex-git\tudo-para-ia-mais-humana' -NewName 'tudo-para-ia-mais-humana-plataform',operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-efb5827d8f1e,tudo-para-ia-mcps-internos-plataform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-ecf6bd1833df,tudo-para-ia-mcps-internos-plataform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-9e0d29bccca5,tudo-para-ia-platform-base,blocked,no,no,NOOP operation:dirty_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-5350e32b2c3e,tudo-para-ia-platform-base,blocked,no,no,NOOP operation:dirty_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-c0cdffdcc75b,tudo-para-ia-platform-base,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-5640b9cbec2a,tudo-para-ia-platform-base,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-b2fa6177cadd,tudo-para-ia-public-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-4d33f29a2298,tudo-para-ia-public-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-34eb4e463b68,tudo-para-ia-public-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-public-platform.git G:\codex_vm\_codex-git\tudo-para-ia-public-platform,operacao requer execucao manual +mesh-cmd-81509d5b84f9,tudo-para-ia-stj-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-6651be9af31e,tudo-para-ia-stj-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-eb31b8ecc823,tudo-para-ia-ui-platform,blocked,no,no,NOOP operation:dirty_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-07f51a114099,tudo-para-ia-ui-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-ef3c4790a08e,tudo-para-ia-ui-platform,blocked,no,no,NOOP operation:environment_blocked,operacao possui severidade blocker | operacao requer execucao manual +mesh-cmd-abc9c2cceb7a,tudo-para-ia-ui-platform,blocked,no,no,git clone https://git.ami.app.br/admin/tudo-para-ia-ui-platform.git G:\codex_vm\_codex-git\tudo-para-ia-ui-platform,operacao requer execucao manual diff --git a/matrizes/rulebook-humano-operacional.csv b/matrizes/rulebook-humano-operacional.csv index 09d5318..d3280de 100644 --- a/matrizes/rulebook-humano-operacional.csv +++ b/matrizes/rulebook-humano-operacional.csv @@ -433,26 +433,26 @@ mcps__surface__readiness,mcps,todos,platform_surface,partial,live_write,73,sourc mcps__surface__samesource,mcps,todos,platform_surface,partial,live_write,73,sourceEndpoint; sourceToolId; sourcePayloadHash; sourceRecordsHash; screenData; screenDiagnostic,promover sameSource de mcps a painel MCP same-source mcps__surface__tools,mcps,todos,platform_surface,partial,live_write,73,sourceEndpoint; sourceToolId; sourcePayloadHash; sourceRecordsHash; screenData; screenDiagnostic,promover tools de mcps a painel MCP same-source mcps__usuario_final__mcp,mcps,usuario_final,profile_platform,partial,live_write,88,gptExplainable,criar ou validar superficie MCP de mcps para usuario_final -platform_base__administrador_empresa__mcp,platform_base,administrador_empresa,profile_platform,partial,derived,70,trace; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para administrador_empresa +platform_base__administrador_empresa__mcp,platform_base,administrador_empresa,profile_platform,partial,derived,73,sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para administrador_empresa platform_base__atendimento_cliente__mcp,platform_base,atendimento_cliente,profile_platform,partial,derived,62,canonical; version; hash; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para atendimento_cliente platform_base__ceo__mcp,platform_base,ceo,profile_platform,partial,derived,62,canonical; version; hash; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para ceo -platform_base__cliente_externo__mcp,platform_base,cliente_externo,profile_platform,partial,derived,70,trace; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para cliente_externo -platform_base__contador__mcp,platform_base,contador,profile_platform,partial,derived,70,trace; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para contador -platform_base__financeiro__mcp,platform_base,financeiro,profile_platform,partial,derived,70,trace; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para financeiro +platform_base__cliente_externo__mcp,platform_base,cliente_externo,profile_platform,partial,derived,73,sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para cliente_externo +platform_base__contador__mcp,platform_base,contador,profile_platform,partial,derived,73,sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para contador +platform_base__financeiro__mcp,platform_base,financeiro,profile_platform,partial,derived,73,sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para financeiro platform_base__depends__docs,platform_base,gestor_operacional,dependency,partial,derived,50,tudo-para-ia-docs-plataform; origin; destination; traceId; auditId; sameSource; admin_ui; dependencyGraph; screenDiagnostic; screenEvidence,consolidar dependencia platform_base->docs no MCP central platform_base__depends__mcps,platform_base,gestor_operacional,dependency,partial,derived,50,tudo-para-ia-mcps-internos-plataform; origin; destination; traceId; auditId; sameSource; admin_ui; dependencyGraph; screenDiagnostic; screenEvidence,consolidar dependencia platform_base->mcps no MCP central platform_base__depends__ui,platform_base,gestor_operacional,dependency,partial,derived,50,tudo-para-ia-ui-platform; origin; destination; traceId; auditId; sameSource; admin_ui; dependencyGraph; screenDiagnostic; screenEvidence,consolidar dependencia platform_base->ui no MCP central platform_base__gestor_operacional__contracts,platform_base,gestor_operacional,profile_surface,partial,derived,64,runbook; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar contracts para gestor_operacional em platform_base -platform_base__gestor_operacional__mcp,platform_base,gestor_operacional,profile_platform,partial,derived,70,trace; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para gestor_operacional +platform_base__gestor_operacional__mcp,platform_base,gestor_operacional,profile_platform,partial,derived,73,sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para gestor_operacional platform_base__gestor_operacional__shared-runtime,platform_base,gestor_operacional,profile_surface,partial,derived,64,runbook; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar shared-runtime para gestor_operacional em platform_base platform_base__gestor_operacional__standards,platform_base,gestor_operacional,profile_surface,partial,derived,64,runbook; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar standards para gestor_operacional em platform_base platform_base__gestor_operacional__templates,platform_base,gestor_operacional,profile_surface,partial,derived,64,runbook; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar templates para gestor_operacional em platform_base -platform_base__juridico__mcp,platform_base,juridico,profile_platform,partial,derived,70,trace; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para juridico -platform_base__planejamento_estrategico__contracts,platform_base,planejamento_estrategico,profile_surface,partial,derived,64,trace; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar contracts para planejamento_estrategico em platform_base -platform_base__planejamento_estrategico__mcp,platform_base,planejamento_estrategico,profile_platform,partial,derived,70,trace; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para planejamento_estrategico -platform_base__planejamento_estrategico__shared-runtime,platform_base,planejamento_estrategico,profile_surface,partial,derived,64,trace; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar shared-runtime para planejamento_estrategico em platform_base -platform_base__planejamento_estrategico__standards,platform_base,planejamento_estrategico,profile_surface,partial,derived,64,trace; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar standards para planejamento_estrategico em platform_base -platform_base__planejamento_estrategico__templates,platform_base,planejamento_estrategico,profile_surface,partial,derived,64,trace; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar templates para planejamento_estrategico em platform_base +platform_base__juridico__mcp,platform_base,juridico,profile_platform,partial,derived,73,sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para juridico +platform_base__planejamento_estrategico__contracts,platform_base,planejamento_estrategico,profile_surface,partial,derived,67,sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar contracts para planejamento_estrategico em platform_base +platform_base__planejamento_estrategico__mcp,platform_base,planejamento_estrategico,profile_platform,partial,derived,73,sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para planejamento_estrategico +platform_base__planejamento_estrategico__shared-runtime,platform_base,planejamento_estrategico,profile_surface,partial,derived,67,sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar shared-runtime para planejamento_estrategico em platform_base +platform_base__planejamento_estrategico__standards,platform_base,planejamento_estrategico,profile_surface,partial,derived,67,sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar standards para planejamento_estrategico em platform_base +platform_base__planejamento_estrategico__templates,platform_base,planejamento_estrategico,profile_surface,partial,derived,67,sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar templates para planejamento_estrategico em platform_base platform_base__secretaria__mcp,platform_base,secretaria,profile_platform,partial,derived,70,runbook; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para secretaria platform_base__suporte__mcp,platform_base,suporte,profile_platform,partial,derived,70,runbook; sameSource; panelReady; gptExplainable,criar ou validar superficie MCP de platform_base para suporte platform_base__tecnico__contracts,platform_base,tecnico,profile_surface,partial,derived,64,runbook; sourceRecordsHash; humanNextAction; admin_ui; screenReport; screenEvidence,validar contracts para tecnico em platform_base diff --git a/os-orientadoras/repository-mesh-derived-orders.md b/os-orientadoras/repository-mesh-derived-orders.md new file mode 100644 index 0000000..ee6c21e --- /dev/null +++ b/os-orientadoras/repository-mesh-derived-orders.md @@ -0,0 +1,141 @@ +# Ordens de saida derivadas do Repository Mesh + +## 0100_EXECUTIVA__reconciliar-espelho-tudo-para-ia-intelligence-platform + +- tipo: `executiva` +- prioridade: `alta` +- titulo: Reconciliar espelho tudo-para-ia-intelligence-platform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-intelligence-platform`, espelho local `tudo-para-ia-intelligence-platform`, recibo `mesh-receipt-286eb398adae` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0101_EXECUTIVA__reconciliar-espelho-tudo-para-ia-mais-humana-plataform + +- tipo: `executiva` +- prioridade: `alta` +- titulo: Reconciliar espelho tudo-para-ia-mais-humana-plataform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-mais-humana`, espelho local `tudo-para-ia-mais-humana-plataform`, recibo `mesh-receipt-aba57158afb9` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0102_EXECUTIVA__reconciliar-espelho-tudo-para-ia-platform-base + +- tipo: `executiva` +- prioridade: `alta` +- titulo: Reconciliar espelho tudo-para-ia-platform-base +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-platform-base`, espelho local `tudo-para-ia-platform-base`, recibo `mesh-receipt-432e0adc6f8b` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; windows-primary possui working tree sujo; windows-secondary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0103_EXECUTIVA__reconciliar-espelho-tudo-para-ia-ui-platform + +- tipo: `executiva` +- prioridade: `alta` +- titulo: Reconciliar espelho tudo-para-ia-ui-platform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-ui-platform`, espelho local `tudo-para-ia-ui-platform`, recibo `mesh-receipt-b9242d750d57` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0104_EXECUTIVA__reconciliar-espelho-tudo-para-ia-business-platform + +- tipo: `executiva` +- prioridade: `alta` +- titulo: Reconciliar espelho tudo-para-ia-business-platform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-business-platform`, espelho local `tudo-para-ia-business-platform`, recibo `mesh-receipt-a49d74c8be8d` e plano `environment_blocked`. +- motivo: ambiente declarado pela OS nao esta acessivel a partir desta sessao; push exige credencial e validacao de remoto antes de convergir +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0100_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-intelligence-platform + +- tipo: `gerencial` +- prioridade: `alta` +- titulo: Governar sincronizacao de tudo-para-ia-intelligence-platform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-intelligence-platform`, espelho local `tudo-para-ia-intelligence-platform`, recibo `mesh-receipt-286eb398adae` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0101_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-mais-humana-plataform + +- tipo: `gerencial` +- prioridade: `alta` +- titulo: Governar sincronizacao de tudo-para-ia-mais-humana-plataform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-mais-humana`, espelho local `tudo-para-ia-mais-humana-plataform`, recibo `mesh-receipt-aba57158afb9` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; materializado como alias tudo-para-ia-mais-humana; esperado tudo-para-ia-mais-humana-plataform; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0102_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-platform-base + +- tipo: `gerencial` +- prioridade: `alta` +- titulo: Governar sincronizacao de tudo-para-ia-platform-base +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-platform-base`, espelho local `tudo-para-ia-platform-base`, recibo `mesh-receipt-432e0adc6f8b` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; windows-primary possui working tree sujo; windows-secondary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0103_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-ui-platform + +- tipo: `gerencial` +- prioridade: `alta` +- titulo: Governar sincronizacao de tudo-para-ia-ui-platform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-ui-platform`, espelho local `tudo-para-ia-ui-platform`, recibo `mesh-receipt-b9242d750d57` e plano `dirty_blocked`. +- motivo: alteracoes locais nao commitadas podem ser a versao valida mais recente; ambiente declarado pela OS nao esta acessivel a partir desta sessao; repositorio declarado nao existe no ambiente observado; windows-primary possui working tree sujo +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` + +## 0104_GERENCIAL__governar-sincronizacao-de-tudo-para-ia-business-platform + +- tipo: `gerencial` +- prioridade: `alta` +- titulo: Governar sincronizacao de tudo-para-ia-business-platform +- finalidade: Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto. +- objeto: Repositorio `admin/tudo-para-ia-business-platform`, espelho local `tudo-para-ia-business-platform`, recibo `mesh-receipt-a49d74c8be8d` e plano `environment_blocked`. +- motivo: ambiente declarado pela OS nao esta acessivel a partir desta sessao; push exige credencial e validacao de remoto antes de convergir +- validacoes: + - `python -m mais_humana.cli repo-mesh --fetch` + - `validar que nao houve reset/checkout/clean/pull destrutivo` + - `comparar HEAD e status --short` + - `registrar pendencias no SQLite semantico` diff --git a/pessoas-e-papeis/perguntas-humanas-respondidas.md b/pessoas-e-papeis/perguntas-humanas-respondidas.md index 84afa9b..18c020f 100644 --- a/pessoas-e-papeis/perguntas-humanas-respondidas.md +++ b/pessoas-e-papeis/perguntas-humanas-respondidas.md @@ -3174,7 +3174,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `package-lock.json:639` -- `package.json:27` +- `package.json:29` - `README.md:10` - `tests/admin-contracts-governance.test.ts:15` - `tests/admin-contracts-governance.test.ts:64` @@ -3191,7 +3191,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `package-lock.json:639` -- `package.json:27` +- `package.json:29` - `README.md:10` - `tests/admin-contracts-governance.test.ts:15` - `tests/admin-contracts-governance.test.ts:64` @@ -3208,7 +3208,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `package-lock.json:639` -- `package.json:27` +- `package.json:29` - `README.md:10` - `tests/admin-contracts-governance.test.ts:15` - `tests/admin-contracts-governance.test.ts:64` @@ -3225,7 +3225,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `package-lock.json:639` -- `package.json:27` +- `package.json:29` - `README.md:10` - `tests/admin-contracts-governance.test.ts:15` - `tests/admin-contracts-governance.test.ts:64` @@ -3242,7 +3242,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -3259,7 +3259,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -3344,7 +3344,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `package-lock.json:639` -- `package.json:27` +- `package.json:29` - `README.md:10` - `tests/admin-contracts-governance.test.ts:15` - `tests/admin-contracts-governance.test.ts:64` @@ -3361,7 +3361,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `package-lock.json:639` -- `package.json:27` +- `package.json:29` - `README.md:10` - `tests/admin-contracts-governance.test.ts:15` - `tests/admin-contracts-governance.test.ts:64` @@ -3378,7 +3378,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -3395,7 +3395,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -3412,7 +3412,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -3429,7 +3429,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -3446,7 +3446,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -3463,7 +3463,7 @@ Proxima acao: tokens live por provider ainda variam por produto Evidencias: - `CONTROLE-DE-ORDENS-EXECUTADAS.md:82` -- `package.json:26` +- `package.json:28` - `README.md:18` - `tests/identity-mcp-flow.test.ts:5` - `tests/surface.test.ts:254` @@ -4567,11 +4567,11 @@ Para Atendimento ao cliente, Platform Base ja mostra atendimento excelente. A le Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## Qual tela resolve esta duvida? @@ -4584,11 +4584,11 @@ Para Atendimento ao cliente, Platform Base ja mostra atendimento excelente. A le Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## Qual foi o consumo? @@ -4703,11 +4703,11 @@ Para Secretaria, Platform Base ja mostra atendimento excelente. A leitura atual Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## Qual documento esta pronto? @@ -4720,11 +4720,11 @@ Para Secretaria, Platform Base ja mostra atendimento excelente. A leitura atual Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## Qual comando valida isto? @@ -4737,11 +4737,11 @@ Para Tecnico, Platform Base ja mostra atendimento excelente. A leitura atual e: Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## Qual endpoint esta quebrado? @@ -4754,11 +4754,11 @@ Para Tecnico, Platform Base ja mostra atendimento excelente. A leitura atual e: Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## Onde clico? @@ -4771,11 +4771,11 @@ Para Usuario final, Platform Base ja mostra atendimento excelente. A leitura atu Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## O resultado e confiavel? @@ -4788,11 +4788,11 @@ Para Usuario final, Platform Base ja mostra atendimento excelente. A leitura atu Proxima acao: Manter evidencia e revalidar periodicamente. Evidencias: +- `package.json:25` - `tools/cli/index.ts` - `tools/cli/commands/init-platform.ts` - `tools/cli/commands/new-module.ts` - `tools/cli/commands/new-os.ts` -- `tools/cli/commands/validate-platform.ts` ## O produto resolve meu problema? diff --git a/plataformas/integracoes.md b/plataformas/integracoes.md index 63cf4d2..608b17d 100644 --- a/plataformas/integracoes.md +++ b/plataformas/integracoes.md @@ -4,7 +4,7 @@ Operar providers externos, BYOK, credenciais, smoke e produtos de integracao. ## Sintese -Integracoes Platform foi analisada com 172063 linhas de codigo e 498 evidencias locais. Score medio humano: 100. +Integracoes Platform foi analisada com 85505 linhas de codigo e 474 evidencias locais. Score medio humano: 100. Estado atual humano: repositorio real encontrado, historico Git local disponivel, README tecnico fornece contexto inicial, testes foram detectados, contrato OpenAPI foi detectado, sinais de Worker/Cloudflare foram detectados, plataforma declarada como relevante para Administrador da empresa e categoria security e parte do papel principal da plataforma. diff --git a/plataformas/intelligence.md b/plataformas/intelligence.md index 716dc7a..b53f570 100644 --- a/plataformas/intelligence.md +++ b/plataformas/intelligence.md @@ -4,7 +4,7 @@ Planejar inteligencia analitica, recomendacao e leitura assistida do ecossistema ## Sintese -Intelligence Platform foi analisada com 10456 linhas de codigo e 153 evidencias locais. Score medio humano: 100. +Intelligence Platform foi analisada com 13347 linhas de codigo e 161 evidencias locais. Score medio humano: 100. Estado atual humano: repositorio real encontrado, historico Git local disponivel, README tecnico fornece contexto inicial, testes foram detectados, contrato OpenAPI foi detectado, sinais de Worker/Cloudflare foram detectados, categoria observability e parte do papel principal da plataforma e pontuacao indica atendimento humano forte ou pronto. diff --git a/plataformas/mcps.md b/plataformas/mcps.md index 57066a3..a1b8f75 100644 --- a/plataformas/mcps.md +++ b/plataformas/mcps.md @@ -4,7 +4,7 @@ Ser control-plane MCP, backend de painel humano, catalogo, auditoria e descobert ## Sintese -MCPs Internos Platform foi analisada com 92559 linhas de codigo e 428 evidencias locais. Score medio humano: 100. +MCPs Internos Platform foi analisada com 92865 linhas de codigo e 429 evidencias locais. Score medio humano: 100. Estado atual humano: repositorio real encontrado, historico Git local disponivel, README tecnico fornece contexto inicial, testes foram detectados, contrato OpenAPI foi detectado, sinais de Worker/Cloudflare foram detectados, plataforma declarada como relevante para Administrador da empresa e categoria observability e parte do papel principal da plataforma. diff --git a/plataformas/platform_base.md b/plataformas/platform_base.md index f4865d9..9299e6c 100644 --- a/plataformas/platform_base.md +++ b/plataformas/platform_base.md @@ -4,7 +4,7 @@ Oferecer padroes, base tecnica, contratos e referencias comuns para plataformas. ## Sintese -Platform Base foi analisada com 20226 linhas de codigo e 388 evidencias locais. Score medio humano: 100. +Platform Base foi analisada com 22553 linhas de codigo e 391 evidencias locais. Score medio humano: 100. Estado atual humano: repositorio real encontrado, historico Git local disponivel, README tecnico fornece contexto inicial, testes foram detectados, contrato OpenAPI foi detectado, categoria governance e parte do papel principal da plataforma, pontuacao indica atendimento humano forte ou pronto e categoria documentation e parte do papel principal da plataforma. diff --git a/plataformas/public.md b/plataformas/public.md index 72823b5..7728c32 100644 --- a/plataformas/public.md +++ b/plataformas/public.md @@ -4,7 +4,7 @@ Representar superficies publicas, onboarding, paginas e comunicacao externa. ## Sintese -Public Platform foi analisada com 42061 linhas de codigo e 286 evidencias locais. Score medio humano: 100. +Public Platform foi analisada com 42080 linhas de codigo e 288 evidencias locais. Score medio humano: 100. Estado atual humano: repositorio real encontrado, historico Git local disponivel, README tecnico fornece contexto inicial, testes foram detectados, sinais de Worker/Cloudflare foram detectados, categoria commercial e parte do papel principal da plataforma, pontuacao indica atendimento humano forte ou pronto e plataforma declarada como relevante para CEO. diff --git a/relatorios-docx/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.docx b/relatorios-docx/RELATORIO-GERAL-DO-ECOSSISTEMA-humana.docx index e6dd1719152b9ef6cd886053fc531b6b0bf6c5be..5cbbab9323940eaae35df1eb6e866d00d28c1f9c 100644 GIT binary patch delta 1976 zcmV;p2S@nJAJQKTP)h>@6aWAK2moV5u?$TC0%JszTLJh2V??u60$TwMV?>@@PN6&L z00#g7A(OoW9)A@6D;l1&0fQmHmUhxKz09=JOxo=}c7&~fva;n$G70(h`yJU_(xrxN z5|iNtV`QD%cg}Z??c~L)+eERMFjnex)Ci7S4JOh^$1g9`@VXUJ(5vgMkklNwRs4;ae8#bFZnu>(mV}G5A6l+)7B;4WDOqw^^#F^2N zuom(Y)oiy~y=KB?+8~i*9na~Q`Hu_Z4`19|33fA_aW!hZ7o02$aCvjFR(vh4_8;!$ zrBK{yBQ<*`3|B1H>^#y?Y8^~tpSZN_eV*`C(_ZH#m_p7{|Kp2#s|`;Wha-~5+_E5K z8H95mA%A3ctDx`thIc9p{;opLtS*8-Om3z-p-w4BYP;eUo9b081#u)@q_q*=xdFHQ`cQ&VkV zpS2p1F`_y!RjJk9l3E{ybU8F<(3c9I$uWmnKC*mk5YJO`Ul>M_0}Ln zsX% zswuDV3L7$1hIfpT+(|dbKJsm1yvz+got6=VicABB8NY)C7CQt*H)mpH6|RwpJt}Ai zZ_Z#1<(*);#R04p=T3XCBE^lk zU6g7IG_*$ykl-Mx`as-8GBKMYA+cqQYgfF#N@=2<#Bk3qVBN6>dsB-Jb z`R{sTqJ3Tpr`pBVj9VH4tTj^X3aGRzifDlrRW=zrfswAYjn zTR^Z_BH{xdItomNs3WD(TkbGe2r~J&VQ#td!?ehHe&8PF#1gH(&c6c%pw~j_yNi*ofiSN0YyML7upP9kG=FMkj zXeFIKGh3@T_nDbmP0Y{D*lq0nTGb%xC)-EM^Sjv9fb9$>YP+4 zdNSNr&r1#rxghNJJN2k)_fPhL+}cCDL&L7y?{;efuhXq?>VL_=qeqhm23os2Xa_a1 zadE2`n_JKF5LS2 zm?+oYlO7s$-EOObz#daoxR;xO^*6u=hF#FsFB0qh?3g z-UDR0JTSzJ>0|XQR000O8 zV??vs3QPe4V?>iE4B!G|M3V{)_yS`@lLQVw0%JszMGiLtV?>jF4m}NHM4ntup*!gS z2LJ#elgJJ-0%Jsz{0kleG^J K2K@~H0001Dajw?@ delta 1992 zcmV;(2RHcAAIl#MP)h>@6aWAK2ml#8u?$TC0vSA$TLJh289cL90$TwM89bg`9chSZ z`33+0B9pxX9)B49D;l1&0UJYrE$yUfdYNganY7z|>rTN3X%G<5|L$&cv`W z6Snc{<%`=vqT?bJnPU);*}?6wF>x**G@CY_h?Lu7oqvlAYuDPO+~L%Wo448|xzVw( z7V=Zo3|p;kGvzXCkjRlvW^~N`$EERy&u*p!yB$oq8aCbwPL>6@yg6Shzm`|~5BKs) zDDJe8n!OW-E0$<>9&0GI4yLgSE-iasq&(BK*Lex1l(W$P`$fIghNq0f5y=y7SrD-t z!nu!-J%3`cPFc|Hhfz0TN@f#Wk_bjvj5QOi(`xsbn92nBNUSLxL;3MmwVz{c1WQE% zA12;XazZSf7_gw#+Aimm<-&}M%yAY2cOMJ^YOFW`E3Hg(CG3EGFGPxS?nIWzM0@x2 zgC8_q!)`dcF5r>QIGgAjflJDT+=y6O&Zg3E!+*dW$U{7=FjE<8mUF|)69ebeL>t&= ztwv;w*c_Nm)C#vy>!XmafaV8JFnnO$`qDL z#0RV7fJ>^pjEHkBGoHobh>eAFGcZR&s#0EanIJd{_N?L@;3UH(gCOI$N2;tb0ykrpOezMUWEcOovJi1C<|5Sy_xm0p}+&PX-k z8@$4X9GT%ABa%DmX4pr*jg6PN#;4ONf>4obz%b?au)t!6py(D%EUm&d60t`H?cmKB ztRdbBR#+TRwUWYV?^Ue05%-+F3xiZt8-JV{6{vKG=+P3i6^D*kUW}BCDR11(8uu1QOOzY(g!I&%J- zUQ4u33*nTz*qU>TW!Ni>(QIVMB|+@)^)0(5)OWz-P1SOMN8)P(Nx9aDCrdarF@MU$ z4Q8WdQOL1OtKW$DWQK=eEw@sUA{hLKdP&!mwo@4t3>cC4?e>2ns+t7>U_L5UnfKz3 z3QEP>4KA#Z=jVxjx~c+o5{MIl5x65p5;Gq-pEy&Yd?||+VJ^Hu+a38TZGkREsm2i` zi^FTapOi0ZB+T3^am(to3n>#_rb1MC-GA*DYWgai%7l2QV;j40d-f>m{I zyL(>@uFc@5*GePu^9caf=R+4UB(2hK2|0UsC|4u7v(ab>hTd!ZL*M+&x=hv%4i85F!$$9+WQRadvw7!MB(1g+v^E?)Zsh zCG&WZNJkmAgHcs3K=j@Ngev<#Y>2@NrN^H#HCs$<^WyCJq9{zNnwl_Ns_b$%{2`_#2ijz{?S&JH<7;K(+xJ261oYRV5Yzd3jaIl z{5_rWGq=v<)c3Zl^V2sM=gSFD8@lcA#Yo&a8fhiXppP$n&&}MeC4cdm8T|9Q`OFO6 zSWcgrt($7@Gc$E_VSaALZmZtU#ootM`72?IRF~~!QSjHQawAn8N&)!tn&y3D{h7|^ zn(4Wv5)GW%`(Y#UUveIcVWUOgW399qHeUD6T4!gCCT&*Y+Wq?Ok#?wpzrNqd@#GQe zWoFTy-#=Es*IyOTe18ZNV1V!PXAKUcXzHuFf8CE8lM%7;M2w*gB~x-P+xK^tbtYn*#%`*X_3J!mYQD ziE`yV>48BXVB4h*#jEv}~VBjdAsy>_pBzm$(JxFK6~j^Crm z8|Ghn;k4EBr{z1eeu004{x000jF0000000000004ji&XXVy9s(IWlRys~0UVQE4 aJd=PA90L9flOYWrle`ZQ2KEgA00020Oty{y diff --git a/relatorios-docx/plataformas/business.docx b/relatorios-docx/plataformas/business.docx index 2c9c09fd5df311a03a9e5cee6a1b5d3c22ba28c1..2a49d6cc7526628d4c3c6431668f7d58bfd562b3 100644 GIT binary patch delta 115 zcmew^^<9c5z?+#xgn@y9gCWIbBabg5Q;N&vXvQBvYI7)4G>E%-6Z0h&5Z%V%1D3wR r`2eJ98y85`b delta 115 zcmew^^<9c5z?+#xgn@y9gF(_}Babg5lcde$XvQBvYI7)4G>E%-6Z0h&5Z%V%1D3wR r`2eJ98y85`E%-6Z0(=5Z%Y&1D3wS r`2eJ99~Vf~E%-6Z0(=5Z%Y&1D3wS r`2eJ99~Vf~>O diff --git a/relatorios-docx/plataformas/customer_ops.docx b/relatorios-docx/plataformas/customer_ops.docx index b41033d64858f856766debd6720d22aa19a207f3..c333086c2f3f4addde285394eecc6c701a8dbe8a 100644 GIT binary patch delta 115 zcmaDL^+1Xzz?+#xgn@y9gCWIbBabg5Q;N&vXvQBvYI7)49EiJlEAtK(5S`EA1D4*) r`2eJ9J{L&UkeMp)oz?+#xgn@y9gCWIbBabg5Q;N&vXvQBvYI7)41ckeMp)oz?+#xgn@y9gF(_}Babg5lcde$XvQBvYI7)41c)z?+#xgn@y9gCWIbBabg5Q;N&vXvQBvYI7)4B#66t1M^K55Z%q;1D3wY r`2eJ9Hy23N)z?+#xgn@y9gF(_}Babg5lcde$XvQBvYI7)4B#66t1M^K55Z%q;1D3wY r`2eJ9Hy23N$br$b5$dME7&}fTizp qJ^-oO&jnI7c_+6$i2B8C4x)^CY(Z2Jgxbhs4dT7yu>(k0St4Zs delta 115 zcmZpWZjj~)@MdNaVPIh3V34%g$m7e%Bxy4_n(+sa+8oLh1>$br$b5$dME7&}fTizp qJ^-oO&jnI7c_+6$i2B8C4x)^CY(Z2Jgxbhs4dT7yu>(kJ6CK+C diff --git a/relatorios-docx/plataformas/identity.docx b/relatorios-docx/plataformas/identity.docx index cfdef8109bc5059c8487545c32fdcdbeaab77485..59df3e15c87a02f2f18858b020cdbe978935e87e 100644 GIT binary patch delta 115 zcmew*^-GE;z?+#xgn@y9gCWIbBabg5Q;N&vXvQBvYI7)4G>E%-6Z2IT5Z%e)1D3wd r`2eJ9Cl^T7E%-6Z2IT5Z%e)1D3wd r`2eJ9Cl^T7@6aWAK2moY6u?$TC0%Sy!TLJh2WJI%70$l+OWJI1^_vFP? z>I47)*OR{k9Dn0D5P<*6D4$tUxWe_SEi2&Im)k{DuzRcfgp4z7%{sQ%cFN1IzpF#C&v^WJ#!lz$yW3L26s;3l4YHl>P6nvBE`%BnvTtACzv*S*JW~ae zTHzqOLzlffcze??G_Oij9;gB3`Zt4Y;=SqTx#JTonSa~X1{Kwfv@MyZOFPbQv@ML) z9G#=~OPTL>I{SIagvvsbSGu?hXA=)Y8&4PhP9og&r%VpAkH~^%JM?%yt4qc7bUgTj zbCk?$D>O{1k|_;u;FIz=wv20ZFr?a`R(R3J*KKO#e+l1xMEI$2j_HTnt{*!yXqg2v z$5a$#e+$4{k5*~71xNp!eUsz_Gk@FL>+FFPYQm!afwHltPIZ6p0tPFD-a3$)Q=hlt zf@_OVVlf}bKJ0Wl4R!W}C@(ZHUorWp1XY!(Ammie1a*>xaI1diQ!%TniH-MWrJ-G+ zhDD>DNbp)@GR{WjE$OyKttP?+mAHlv!p8xUPzYzV5>s5Kxz0}x|2#bbkAGYR?T9>u zJfKBL-g-@QL=aQ!)R1Nn{eot!BRhumDn>zpCVp@Y z-?jaLHb0iSDn^o#8~BCnXUN5|7}iK1PTJKDE=*X7Q%2~4p}TNcl*FHllh*=0gr%|Q z*gD6ak*lVe%)lY9tnhabm479b$@v*(P*RK$VZ2i0^rM4k>l{{3 z5mr(3A&&+|FCsJ0@`MaAWn{H-Ruh77L(2!|t+-Ee(2m4v-{r4leM&D=;fNMjw2p{Z z+RUVeg_gvOF5Ueg>&Aj%9D~uQ%(c{ZkRA1oJIBXa9$uC>@=t&JN`HG#vHr>LTQQzI zL%dLq#_Z#B8~FRF4dnkFihOy9(vhcQeUE>qR%q?K+wH^#{hgt}BKw^~>}AG#MFK(-tnE+38!4Ro58(XS(j zRfX{EO1{!yuH1=G$bVC`rg$hC(;4D2mUdvA0ys6X756LUoJ5#+gQDfqP9-fnso<&+ ztuw=`E`@%XsH(%-sx3?7bcJ4vutV3ETt?kmwi;t=VQgR;YI|=eSsYg_eOi)Ugrwt> zvrWY&O^VCPcrnT;-pph5MW!58sn(8@P-035`T&*j>5LCs4;}z&uzS+ z5REZ>7{Aov&m1naTKTEDh3Q3L`VegmOSaxnsIG(Vg13IDF_iwQExe%s8Oao0v$Xlg z@X3Qr(E`;VP{SpQ!;-}}6flR}q7VOwv`96D)WzJ!n+j27v~9miHb>CO&q^2!|EJfc z-cXS0?2i_trhh>CTBp}+CO(y`$jj=>@Ij#6zBLBXw`69BX8t8m3a6Au@$9UPb0p=d zo3ZOF1iw}i%Q-qNr%1cx3S!od6!*-+mDE2g6xxN%xCwGmXxE3srR*Ls+PO+BJxL?5 zG#J;6t_+6MtJMjZv?TPk0mm2jiJ+aGKRWvXp$V1udp*DPQjUcgpOQ{DAx(wuce|0Y znD{}LonE|5c_fSKkd;!`rZkJ0ynL27oG)^c5B>#EO9KQH000080Axh7&In8a0%Sy! z917q9WJHtx3itwKM3eXnKLTV#lQ|4G0%Sy!atu8UWJI1^_vFP?>I47)*OR;qG6G~o zlkf~20l||E4ITnyM3XHI903oLN(~_bWJHr~4IBdT3X={C9+RmJ5C-WB00000e5#-H delta 1394 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 Q89b9a4L$-HJd=A3QpcoqZ~y=R diff --git a/relatorios-docx/plataformas/mcps.docx b/relatorios-docx/plataformas/mcps.docx index f0a72f743cfa463fcc18b61067532ea871ad11b8..06b36202f1b4b490f83f57a2f25813c24994b9a1 100644 GIT binary patch delta 1351 zcmV-N1-SZ-8;%@6aWAK2moY6u?$TC0%Sy!TLJh2WJI%70$%|LWJI1^f+9k@ zle_~TfB#S0I26GD6)QgjDIAA7v@)?C+c*uaqTB69^y<8}-W=O!JLSt?f6sPWdQuS+ z5IRMXP~*gj-xq)U{A~R8-AyUk0<9BT4YK{cUdB*yT?jQBWZ%Ai*zIS`c~AvNt#FXt zqRZZ$yuCgyG_Oijo>2qJ9bXT!x%cKc&mEs*e+h0+8&p&`)wTprw|16aYg-trIXXw} zmoh)-^^Woqgvvsb6J6YftBF4&8!uyjE0J9vFF+2mPY6M?eR@4#)}>;4JO22SOO)WX z6`IYf5|n1U>|!`_>|A-YN;@{9`k+|&)W-&FYUY>3A3P%dLO2Kd;kN77#%LMW%3CdW ze~ko%LCGC90sa$J!3t!CJcF_}Vux|?)C)5zK~;!gATXr&9M==H9vF~cofie{HDlOV zkOLh)YT0IIv#Ayg6iDHq05ZK~Zw~rLe=;f599%FsfH%`*)ZxJ!h6_;;i-M}8<{;c2 z8*^=ul~}C0_L%MWdJUO-M&K8kfv-S5e=0#$Whw}{kV`?mBq2Pi-#IUqbv4BC*|IdU z8`Q99v=fPEiy-3wC2UByEowC<(nuw)*+=1H2T4{4XS5Ov+@`xO&rbikIAb2U3fd8Q z3OUA+hBsa_L65~&JCw!{{RPdSBd`B`$!_qhM}z6X!9IG5;&L%V>9kiy@xs4?kH5zv64X~4(#6IW@7JW;FY4tAEP{M zvu_oupahdqqjfLTydp_3M2{GO_^(JmXv@}!Btbr zIK!tdB>^&VRnKjk7B7wSe-*42Vfn7FxQx1WbTvrVy}KD`R(rgqY;oMQVCYzSA(n<` zU)l;z8WvZyN)M)Y5H$$VG6E%6w-qR@!p4B@NNSLz+Q%(LXetyaj>2}~s6mK6ti0S( zjAj@%%dfOS3tVWmafhhG>4k9m7`@Hbyxmf)egxeG?_yJfF#TQof4HRx#eY2ifV35W zVFSeDtV60%q(*B#XKOxhDPj(}MGsbVJD3eZHC}nStr%5C+ist-Nruk;t%M0DidgOJ zmZDUj4e3y74yCX4@tbx6RJn>Gt-cD|1Km=tL5#j7N3-bY-vXv^Nhd6xeV*eINqI68 zxW>&VTqt$&wSd|9OD_3%fB#MIC^&ge<)i)|{d79P%r3wN*K0%14-aEM#3K`Q+v~^M zbOPhPI-KXIYtsRRrM!H37&pH^=zH=XP)h>@6aWAK2moY6vz-V`0Rm)1lj{lK0%Sy! z%?kJeWJHt43qJy6M3V>%Hv(itlR*qU2xLT_T!JD(yOV|tHv(itlfMi*0%Sy!{0u$< JWJHrZ4N`$HcwYbj delta 1351 zcmV-N1-SZ-8;%@6aWAK2ml#8u?$TC0vSA$TLJh289cL90$%|L89bg`sd*3j zle_~Te{E0OIuwBaij~hm3YVc$txT+!ZCnklqTAg^bn2Y8-W=Q4cFN1I-?5#RUa5!) z2%V}(sBz-N=f#hYkB#5HyD24`qjf^7ezw2Y$rviG3!$d{?AzB5yWNaA52^sE751}R zblJO;x7WQw^QuJU88x6>@4BDOyf?i(cYKB=f4DtuP*L4P+Y&t8+G&2RZDFkD=p40Q z%KV_yIm$~ADho}Hb#WW6CjJaTmbxL|MqZ>q_t!-FovxhRN5K~++75N?l+ zxVFejES6o{WBZ*>L*||l_=RTRE0B*$e^6DK3PR51LQp432#@M_&WlA|4RL(7C=Klz zH7pwKMB>>Z$T&a=8`5oqTFr8{JO)4wmym`ARHc0`^+ zj&Y>njn_=jW3kZ=r7=W*K{F_cdeSs-<~FEN;)$H|g@X3!@H`IHrDhvcjOGa%fA}FZ zeAo6T+I%2&RZJvM82E$yN8#H;oasm(PTJK0E(}T@W6(~-dNF=1>r48W3hycJq7*OQ zX|s?TaxjS*-MYJeb{Go=I0nB_nQN(SKYQODbOwVg4c|K#tjn9iOd zUMNTT#HZ&r@b6O_$p7CJ`Dz!XU!H#JXZ$<0LTUBEVJ9}|Zw<9w+(4p)f9mUNP1Fh~ z!-wd|@1?wyteBF$jws^4vXtExuO#m?3KF<3z}3R?W!JrM2g2$!arN*V(SXsEPQQ+z zxQ2nTd@Xp^uSsa~QTN*-B=E|BSC7@Jr)r2z6 z@Tp5lfJ|J~bKAPbOXGY6f2&1UzUwP4qi!u-4bpY*ZU&mw9^X>7IIdeTv@E?4OM|m7 z+X_w^7FV=N52m*eH3-on0wq^(D^Oa6jRD(|)F4TbowkhTIa zY=C&2wn#OK)NsY;Y{lnWikL%g(SsH34rYT;jh0^CR*Wj6ZM#p|BtvKaRl@6aWAK2ml#8vz-V`0RkC3lj{lK0vSA$ z%?kJe89bB63qJxGJd+3vHv$C&sg66sN|I;jdR$YnlE-kjdrs%{`~C4bzwht+_h&(4Q3Hm>fTZD4Qc|)~k!}xQ zUI1XE8zmU9E=IE-@DxBU(ycrs-~_I=l+psyBWl_z?i?J>s);2{cV2`VN~5Zk)6j2~EEnJrl%OcJ>!h<5j-Tz_Um=R~iX z(LHEo4O6hiAt$U^&N;AvRsLw+$H6nY3X@YX=*xPgqA08E3u|ho{t%{Z!k`8{}TJHWeKLz!RfMZ%s1In z)_hV95TylIv?5&U8spe|LJl!e@E%}G4ZVgfyf^SU2p*k=OHn*mdOA7&W>J8#N0M@8tHWapShFSvK*YCJim% z1jJ%I(yb8Eg)kjgSUg43EkkKk?Pc9>1>|Oj^EC9zz^BaWM~0kT!H&OYl$oL#m036=#Ozt0 zZv}lI7w-=XWo+`6V(VsiUm@Z4Kc)SibeI@*mMEA}iJ=W{o%hZUD(J|1Q6O?TezGaT zcg>EGw_BtPhTk{%bP%G%sao@dJ~&~Vph>qc6bgT2V}8Og)`kB8dB zJ!_Nf_^IQ8pbK+rHSXL-2gb>i#8K@Wx*?XtuI?+zTi5p(>0h@RC?i7?gL&nsD`r#p z_(7m*P@`!0^@D{o#+z^#0!EKRC3-oNK9VlbSm_GeWfk$Llzi#S&J|9*_;u2B(x`c~ zwx?YfiEiRDfg{*{P;m_4XC}s#V~U}PW4v-+F45ZlU#k;klwG6nUkrE#`N6yjYCGSY zl_Zmi2{d2+;PsDDQ~gD){%;eN4e4tc_gBvBopL4}nf5od??AWA06o$J=m!%2sHb=# zjaNOMd|7>bg*`=lI|d!;XLWEoo5Kttw-!+&*<5Si&UVdd@;m64kufqk)#6$AQen`| z$>CODO8SPw#v$Ud2FG>XA3fE4LDutsQ9YM?FY#3^MB*z-CDd7h8K{i}nlQ&7w7`W bY`|>@g#*!1!D7HNl6;SNJH;g`RC4_XWMFr^ delta 1371 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 diff --git a/relatorios-docx/plataformas/stj.docx b/relatorios-docx/plataformas/stj.docx index f1baf22fd8eb2fe1b1663ff0dbbf826405319ecf..55b588e1de7a7831c2b1efba5a77678f6e674018 100644 GIT binary patch delta 115 zcmaDO^+t*(z?+#xgn@y9gCWIbBabg5Q;N&vXvQBvYI7)41c?5 delta 115 zcmaDO^+t*(z?+#xgn@y9gF(_}Babg5lcde$XvQBvYI7)41c(=Iyg>j~ZXzZC delta 115 zcmeB|?w95X@MdNaVPIh3V34%g$m7e%Bxy4_n(+sa+8oLh4&rWJ$NY{3M9<^!0ZYH( qd;n5)jtit}@(FHx5XH%34x*fRY(Z2bggU@u4dVUfu>(=Iyg>kIC>@*t diff --git a/src/mais_humana/cli.py b/src/mais_humana/cli.py index 1df1812..5159906 100644 --- a/src/mais_humana/cli.py +++ b/src/mais_humana/cli.py @@ -8,6 +8,7 @@ from pathlib import Path from .models import as_plain_data from .matrix import build_global_recommendations, build_matrix, build_platform_reports +from .mcp_contract import build_mcp_contract_report, mcp_provider_compact_json, mcp_provider_payload from .operational_dossier import build_execution_round_dossier from .governance_engine import build_governance_portfolio, compact_governance_payload from .human_rulebook import evaluate_rulebook, rulebook_compact_json @@ -15,6 +16,20 @@ from .human_readiness_registry import build_readiness_registry from .runtime_budget import build_round_line_budget from .orders import build_exit_orders from .reports import generate +from .repository_mesh import mesh_summary_payload, run_repository_mesh +from .repository_mesh_reconciliation import apply_reconciliation_to_report, reconciliation_payload +from .repository_mesh_runtime import ( + acquire_lock, + build_runtime_cycle, + cron_scheduler_spec, + release_lock, + scheduler_payload, + windows_scheduler_spec, + write_runtime_artifacts, +) +from .repository_mesh_semantic import write_repository_mesh_semantic_state +from .repository_mesh_readiness import build_mesh_readiness_report, write_readiness_artifacts +from .repository_mesh_gitea import build_gitea_mesh_plan, write_gitea_plan_artifacts from .scanner import environment_summary, scan_ecosystem from .storage import table_counts @@ -45,6 +60,16 @@ def build_parser() -> argparse.ArgumentParser: rulebook = sub.add_parser("rulebook", help="Print compact human-operational rulebook JSON.") rulebook.add_argument("--ecosystem-root", default="G:/_codex-git") rulebook.add_argument("--limit", type=int, default=0) + mcp_provider = sub.add_parser("mcp-provider", help="Print the compact Mais Humana MCP provider payload.") + mcp_provider.add_argument("--ecosystem-root", default="G:/_codex-git") + mcp_provider.add_argument("--limit", type=int, default=80) + mcp_provider.add_argument("--envelope", action="store_true") + repo_mesh = sub.add_parser("repo-mesh", help="Inventory repository mirrors and write safe synchronization artifacts.") + repo_mesh.add_argument("--ecosystem-root", default="G:/_codex-git") + repo_mesh.add_argument("--project-root", default="G:/_codex-git/tudo-para-ia-mais-humana-plataform") + repo_mesh.add_argument("--central-platform-folder", default="") + repo_mesh.add_argument("--fetch", action="store_true") + repo_mesh.add_argument("--plugin-auth-attempt", default="") return parser @@ -146,6 +171,137 @@ def command_rulebook(args: argparse.Namespace) -> int: return 0 +def command_mcp_provider(args: argparse.Namespace) -> int: + scans = scan_ecosystem(Path(args.ecosystem_root)) + cells = build_matrix(scans) + reports = build_platform_reports(scans, cells) + rulebook = evaluate_rulebook(reports) + contracts = build_mcp_contract_report(rulebook) + payload = ( + mcp_provider_payload(contracts, limit=args.limit) + if args.envelope + else mcp_provider_compact_json(contracts, limit=args.limit) + ) + print(json.dumps(payload, ensure_ascii=False, indent=2)) + return 0 + + +def command_repo_mesh(args: argparse.Namespace) -> int: + central = Path(args.central_platform_folder) if args.central_platform_folder else None + central_write_error = "" + central_for_write = central + if central_for_write is not None: + try: + for folder_name in ("reports", "indexes", "audit", "status"): + (central_for_write / folder_name).mkdir(parents=True, exist_ok=True) + except OSError as exc: + central_write_error = f"{type(exc).__name__}: {exc}" + central_for_write = None + report, records = run_repository_mesh( + ecosystem_root=Path(args.ecosystem_root), + project_root=Path(args.project_root), + central_platform_folder=central_for_write, + fetch=bool(args.fetch), + plugin_auth_attempt=args.plugin_auth_attempt, + ) + plan, reconciliation_records = apply_reconciliation_to_report( + report, + Path(args.project_root), + central_platform_folder=central_for_write, + ) + project_root = Path(args.project_root) + lock = acquire_lock(project_root / "dados" / "repository-mesh.lock.json", owner="mais_humana.cli.repo-mesh") + cycle = build_runtime_cycle(report, plan, lock=lock, execute=False) + specs = ( + windows_scheduler_spec( + python_exe="C:\\Users\\Ami\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + project_root=project_root, + ecosystem_root=Path(args.ecosystem_root), + central_platform_folder=central_for_write, + ), + cron_scheduler_spec( + python_exe="python", + project_root=project_root, + ecosystem_root=Path(args.ecosystem_root), + central_platform_folder=central_for_write, + ), + ) + runtime_records = write_runtime_artifacts(cycle, specs, project_root, central_platform_folder=central_for_write) + semantic_write_error = "" + semantic_path_used = "" + if central is not None: + try: + central_semantic_path = central / "controle-semantico.sqlite" + semantic_counts = write_repository_mesh_semantic_state( + central_semantic_path, + report=report, + plan=plan, + cycle=cycle, + schedulers=specs, + ) + semantic_path_used = str(central_semantic_path) + except Exception as exc: + semantic_write_error = f"{type(exc).__name__}: {exc}" + semantic_counts = write_repository_mesh_semantic_state( + project_root / "controle-semantico.sqlite", + report=report, + plan=plan, + cycle=cycle, + schedulers=specs, + ) + semantic_path_used = str(project_root / "controle-semantico.sqlite") + else: + semantic_counts = write_repository_mesh_semantic_state( + project_root / "controle-semantico.sqlite", + report=report, + plan=plan, + cycle=cycle, + schedulers=specs, + ) + semantic_path_used = str(project_root / "controle-semantico.sqlite") + readiness = build_mesh_readiness_report(report, plan, cycle, specs, semantic_counts) + readiness_records = write_readiness_artifacts(readiness, project_root, central_platform_folder=central_for_write) + gitea_plan = build_gitea_mesh_plan(report) + gitea_records = write_gitea_plan_artifacts(gitea_plan, project_root, central_platform_folder=central_for_write) + release_lock(lock) + payload = mesh_summary_payload(report) + payload["reconciliation"] = reconciliation_payload(plan) + payload["runtime"] = { + "cycleId": cycle.cycle_id, + "allowed": cycle.allowed_count, + "blocked": cycle.blocked_count, + "skipped": cycle.skipped_count, + "schedulers": scheduler_payload(specs), + } + payload["readiness"] = readiness.to_dict() + payload["gitea"] = gitea_plan.to_dict() + payload["centralWrite"] = { + "requested": str(central) if central is not None else "", + "used": str(central_for_write) if central_for_write is not None else "", + "error": central_write_error, + "semanticPath": semantic_path_used, + "semanticError": semantic_write_error, + } + payload["generatedFiles"] = [ + record.path + for record in tuple(records) + + tuple(reconciliation_records) + + tuple(runtime_records) + + tuple(readiness_records) + + tuple(gitea_records) + ] + if central_write_error: + status_path = project_root / "dados" / "repository-mesh-central-write-status.json" + status_path.parent.mkdir(parents=True, exist_ok=True) + status_path.write_text( + json.dumps(payload["centralWrite"], ensure_ascii=False, indent=2, sort_keys=True), + encoding="utf-8", + ) + payload["generatedFiles"].append(str(status_path)) + print(json.dumps(payload, ensure_ascii=False, indent=2)) + return 0 + + def main(argv: list[str] | None = None) -> int: parser = build_parser() args = parser.parse_args(argv) @@ -165,6 +321,10 @@ def main(argv: list[str] | None = None) -> int: return command_line_budget(args) if args.command == "rulebook": return command_rulebook(args) + if args.command == "mcp-provider": + return command_mcp_provider(args) + if args.command == "repo-mesh": + return command_repo_mesh(args) parser.error(f"unknown command: {args.command}") return 2 diff --git a/src/mais_humana/evidence_graph.py b/src/mais_humana/evidence_graph.py index 0f6520c..54da7bf 100644 --- a/src/mais_humana/evidence_graph.py +++ b/src/mais_humana/evidence_graph.py @@ -8,6 +8,7 @@ from typing import Iterable, Sequence from .exit_order_compiler import CompiledOrderSet from .governance_models import EcosystemGovernancePortfolio from .human_readiness_registry import ReadinessRegistry +from .mcp_contract import McpContractReport from .models import as_plain_data, merge_unique, slugify from .workflow_registry import WorkflowPortfolio @@ -150,6 +151,42 @@ def order_nodes_edges(compiled: CompiledOrderSet | None, nodes: dict[str, Eviden add_edge(edges, node_id("platform", platform_hint), order_node, f"creates_{order.order_type.value}", 50, order.reason) +def mcp_contract_nodes_edges(report: McpContractReport | None, nodes: dict[str, EvidenceNode], edges: list[EvidenceEdge]) -> None: + if report is None: + return + provider_node = node_id("mcp-provider", report.provider_id) + add_node( + nodes, + EvidenceNode( + node_id=provider_node, + label=report.provider_name, + node_type="mcp_provider", + status="published_contract", + weight=report.average_score, + ), + ) + control_plane_node = node_id("platform", "mcps") + add_edge(edges, control_plane_node, provider_node, "discovers_provider_contract", report.average_score, report.provider_envelope.tool) + for item in report.coverage: + if item.kind.value not in {"provider_tool", "ui_screen", "redaction_policy", "docs_exception", "canonical_rename"}: + continue + contract_node = node_id("mcp-contract", item.contract_id) + add_node( + nodes, + EvidenceNode( + node_id=contract_node, + label=item.contract_id, + node_type=f"mcp_{item.kind.value}", + status=item.status.value, + weight=item.score, + ), + ) + add_edge(edges, provider_node, contract_node, "publishes_contract", item.score, item.next_action) + add_edge(edges, contract_node, node_id("platform", item.platform_id), "governs_platform", item.score, item.truth_state.value) + if item.same_source: + add_edge(edges, contract_node, control_plane_node, "same_source_ready", item.score, item.source_payload_hash[:16]) + + def relation_edges(portfolio: EcosystemGovernancePortfolio, edges: list[EvidenceEdge]) -> None: for source, target, relation in portfolio.relation_matrix: add_edge(edges, node_id("platform", source), node_id("platform", target), relation, 40, "relacao declarada ou inferida pelo dominio") @@ -173,6 +210,7 @@ def build_evidence_graph( registry: ReadinessRegistry, workflows: WorkflowPortfolio, compiled_orders: CompiledOrderSet | None = None, + mcp_contract_report: McpContractReport | None = None, ) -> EvidenceGraph: nodes: dict[str, EvidenceNode] = {} edges: list[EvidenceEdge] = [] @@ -181,6 +219,7 @@ def build_evidence_graph( registry_nodes_edges(registry, nodes, edges) workflow_nodes_edges(workflows, nodes, edges) order_nodes_edges(compiled_orders, nodes, edges) + mcp_contract_nodes_edges(mcp_contract_report, nodes, edges) relation_edges(portfolio, edges) final_edges = dedupe_edges(edges) summary = ( diff --git a/src/mais_humana/generated_mcp_control_contracts.py b/src/mais_humana/generated_mcp_control_contracts.py new file mode 100644 index 0000000..c918721 --- /dev/null +++ b/src/mais_humana/generated_mcp_control_contracts.py @@ -0,0 +1,15141 @@ +"""Generated MCP control contracts for Mais Humana. + +Do not edit this file by hand. Regenerate it with: + + python tools/generate_mcp_control_contracts.py + +The contracts are Python source so they can be imported, tested, packaged, +hashed, and exposed as a provider payload without parsing external YAML. +""" + +from __future__ import annotations + +from .human_rulebook import MCP_TRANSIT_FIELDS, TruthState +from .mcp_contract import AudienceClass, MCP_EXECUTE_ENDPOINT, McpContractKind, McpControlContract + +CONTRACT_0001 = McpControlContract( + contract_id='business.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='administrador_empresa', + tool_id='mais_humana.business.administrador_empresa.explain', + title='Business Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'administrador_empresaNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0002 = McpControlContract( + contract_id='business.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='ceo', + tool_id='mais_humana.business.ceo.explain', + title='Business Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'ceoNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0003 = McpControlContract( + contract_id='business.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='gestor_operacional', + tool_id='mais_humana.business.gestor_operacional.explain', + title='Business Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'gestor_operacionalNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0004 = McpControlContract( + contract_id='business.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='suporte', + tool_id='mais_humana.business.suporte.explain', + title='Business Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'suporteNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0005 = McpControlContract( + contract_id='business.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='atendimento_cliente', + tool_id='mais_humana.business.atendimento_cliente.explain', + title='Business Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'atendimento_clienteNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0006 = McpControlContract( + contract_id='business.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='financeiro', + tool_id='mais_humana.business.financeiro.explain', + title='Business Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'financeiroNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0007 = McpControlContract( + contract_id='business.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='contador', + tool_id='mais_humana.business.contador.explain', + title='Business Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'contadorNeed', 'checkoutState', 'financeGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'finance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0008 = McpControlContract( + contract_id='business.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='juridico', + tool_id='mais_humana.business.juridico.explain', + title='Business Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'juridicoNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0009 = McpControlContract( + contract_id='business.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='secretaria', + tool_id='mais_humana.business.secretaria.explain', + title='Business Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'secretariaNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0010 = McpControlContract( + contract_id='business.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='tecnico', + tool_id='mais_humana.business.tecnico.explain', + title='Business Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'tecnicoNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0011 = McpControlContract( + contract_id='business.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='usuario_final', + tool_id='mais_humana.business.usuario_final.explain', + title='Business Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'usuario_finalNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0012 = McpControlContract( + contract_id='business.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='cliente_externo', + tool_id='mais_humana.business.cliente_externo.explain', + title='Business Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'cliente_externoNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0013 = McpControlContract( + contract_id='business.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='business', + profile_id='planejamento_estrategico', + tool_id='mais_humana.business.planejamento_estrategico.explain', + title='Business Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Business Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'planejamento_estrategicoNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para business/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0014 = McpControlContract( + contract_id='business.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0015 = McpControlContract( + contract_id='business.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'ceoNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0016 = McpControlContract( + contract_id='business.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0017 = McpControlContract( + contract_id='business.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'suporteNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0018 = McpControlContract( + contract_id='business.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0019 = McpControlContract( + contract_id='business.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'financeiroNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0020 = McpControlContract( + contract_id='business.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'contadorNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0021 = McpControlContract( + contract_id='business.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'juridicoNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0022 = McpControlContract( + contract_id='business.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'secretariaNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0023 = McpControlContract( + contract_id='business.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'tecnicoNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0024 = McpControlContract( + contract_id='business.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0025 = McpControlContract( + contract_id='business.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0026 = McpControlContract( + contract_id='business.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='business', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Business Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.business.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para business/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0027 = McpControlContract( + contract_id='business.checkout.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela checkout de Business Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela checkout; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'checkoutState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.business.checkout.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para checkout', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela checkout em business', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'checkout'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0028 = McpControlContract( + contract_id='business.billing.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela billing de Business Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela billing; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'billingState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.business.billing.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para billing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela billing em business', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'billing'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0029 = McpControlContract( + contract_id='business.entitlements.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela entitlements de Business Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela entitlements; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'entitlementsState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.business.entitlements.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para entitlements', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela entitlements em business', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'entitlements'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0030 = McpControlContract( + contract_id='business.consumption.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela consumption de Business Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela consumption; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'consumptionState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.business.consumption.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consumption', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela consumption em business', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'consumption'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0031 = McpControlContract( + contract_id='business.commercial-readiness.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela commercial-readiness de Business Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela commercial-readiness; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'commercial-readinessState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.business.commercial-readiness.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para commercial-readiness', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela commercial-readiness em business', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'commercial-readiness'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0032 = McpControlContract( + contract_id='business.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Business Platform', + purpose='Garantir que consulta de Business Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'consultaState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.business.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para business', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0033 = McpControlContract( + contract_id='business.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Business Platform', + purpose='Garantir que diagnostico de Business Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'diagnosticoState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.business.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para business', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0034 = McpControlContract( + contract_id='business.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Business Platform', + purpose='Garantir que acao de Business Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'acaoState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.business.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para business', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0035 = McpControlContract( + contract_id='business.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Business Platform', + purpose='Garantir que auditoria de Business Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'auditoriaState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.business.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para business', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0036 = McpControlContract( + contract_id='business.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Business Platform', + purpose='Garantir que explicacao de Business Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'explicacaoState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.business.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para business', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0037 = McpControlContract( + contract_id='business.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Business Platform', + purpose='Provar que artefatos humanos de Business Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.business.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para business/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0038 = McpControlContract( + contract_id='business.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Business Platform', + purpose='Provar que artefatos humanos de Business Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.business.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para business/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0039 = McpControlContract( + contract_id='business.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Business Platform', + purpose='Provar que artefatos humanos de Business Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.business.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para business/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0040 = McpControlContract( + contract_id='business.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='business', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Business Platform', + purpose='Provar que artefatos humanos de Business Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'businessStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.business.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider business via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar business somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para business/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0041 = McpControlContract( + contract_id='compliance.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='administrador_empresa', + tool_id='mais_humana.compliance.administrador_empresa.explain', + title='Compliance Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'administrador_empresaNeed', 'privacyState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0042 = McpControlContract( + contract_id='compliance.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='ceo', + tool_id='mais_humana.compliance.ceo.explain', + title='Compliance Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'ceoNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0043 = McpControlContract( + contract_id='compliance.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='gestor_operacional', + tool_id='mais_humana.compliance.gestor_operacional.explain', + title='Compliance Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'gestor_operacionalNeed', 'privacyState', 'governanceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0044 = McpControlContract( + contract_id='compliance.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='suporte', + tool_id='mais_humana.compliance.suporte.explain', + title='Compliance Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'suporteNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0045 = McpControlContract( + contract_id='compliance.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='atendimento_cliente', + tool_id='mais_humana.compliance.atendimento_cliente.explain', + title='Compliance Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'atendimento_clienteNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0046 = McpControlContract( + contract_id='compliance.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='financeiro', + tool_id='mais_humana.compliance.financeiro.explain', + title='Compliance Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'financeiroNeed', 'privacyState', 'governanceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0047 = McpControlContract( + contract_id='compliance.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='contador', + tool_id='mais_humana.compliance.contador.explain', + title='Compliance Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'contadorNeed', 'privacyState', 'governanceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0048 = McpControlContract( + contract_id='compliance.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='juridico', + tool_id='mais_humana.compliance.juridico.explain', + title='Compliance Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'juridicoNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0049 = McpControlContract( + contract_id='compliance.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='secretaria', + tool_id='mais_humana.compliance.secretaria.explain', + title='Compliance Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'secretariaNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0050 = McpControlContract( + contract_id='compliance.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='tecnico', + tool_id='mais_humana.compliance.tecnico.explain', + title='Compliance Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'tecnicoNeed', 'privacyState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0051 = McpControlContract( + contract_id='compliance.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='usuario_final', + tool_id='mais_humana.compliance.usuario_final.explain', + title='Compliance Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'usuario_finalNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0052 = McpControlContract( + contract_id='compliance.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='cliente_externo', + tool_id='mais_humana.compliance.cliente_externo.explain', + title='Compliance Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'cliente_externoNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0053 = McpControlContract( + contract_id='compliance.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='compliance', + profile_id='planejamento_estrategico', + tool_id='mais_humana.compliance.planejamento_estrategico.explain', + title='Compliance Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Compliance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'planejamento_estrategicoNeed', 'privacyState', 'governanceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para compliance/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0054 = McpControlContract( + contract_id='compliance.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0055 = McpControlContract( + contract_id='compliance.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'ceoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0056 = McpControlContract( + contract_id='compliance.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0057 = McpControlContract( + contract_id='compliance.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'suporteNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0058 = McpControlContract( + contract_id='compliance.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0059 = McpControlContract( + contract_id='compliance.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'financeiroNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0060 = McpControlContract( + contract_id='compliance.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'contadorNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0061 = McpControlContract( + contract_id='compliance.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'juridicoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0062 = McpControlContract( + contract_id='compliance.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'secretariaNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0063 = McpControlContract( + contract_id='compliance.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'tecnicoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0064 = McpControlContract( + contract_id='compliance.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0065 = McpControlContract( + contract_id='compliance.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0066 = McpControlContract( + contract_id='compliance.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='compliance', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Compliance Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.compliance.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para compliance/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0067 = McpControlContract( + contract_id='compliance.privacy.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela privacy de Compliance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela privacy; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'privacyState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.compliance.privacy.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para privacy', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela privacy em compliance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'privacy'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0068 = McpControlContract( + contract_id='compliance.risk.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela risk de Compliance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela risk; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'riskState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.compliance.risk.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para risk', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela risk em compliance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'risk'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0069 = McpControlContract( + contract_id='compliance.audit.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela audit de Compliance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela audit; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'auditState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.compliance.audit.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para audit', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela audit em compliance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'audit'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0070 = McpControlContract( + contract_id='compliance.consent.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela consent de Compliance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela consent; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'consentState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.compliance.consent.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consent', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela consent em compliance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'consent'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0071 = McpControlContract( + contract_id='compliance.retention.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela retention de Compliance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela retention; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'retentionState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.compliance.retention.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para retention', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela retention em compliance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'retention'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0072 = McpControlContract( + contract_id='compliance.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Compliance Platform', + purpose='Garantir que consulta de Compliance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'consultaState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.compliance.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para compliance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0073 = McpControlContract( + contract_id='compliance.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Compliance Platform', + purpose='Garantir que diagnostico de Compliance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'diagnosticoState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.compliance.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para compliance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0074 = McpControlContract( + contract_id='compliance.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Compliance Platform', + purpose='Garantir que acao de Compliance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'acaoState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.compliance.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para compliance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0075 = McpControlContract( + contract_id='compliance.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Compliance Platform', + purpose='Garantir que auditoria de Compliance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'auditoriaState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.compliance.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para compliance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0076 = McpControlContract( + contract_id='compliance.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Compliance Platform', + purpose='Garantir que explicacao de Compliance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'explicacaoState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.compliance.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para compliance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0077 = McpControlContract( + contract_id='compliance.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Compliance Platform', + purpose='Provar que artefatos humanos de Compliance Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.compliance.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para compliance/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0078 = McpControlContract( + contract_id='compliance.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Compliance Platform', + purpose='Provar que artefatos humanos de Compliance Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.compliance.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para compliance/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0079 = McpControlContract( + contract_id='compliance.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Compliance Platform', + purpose='Provar que artefatos humanos de Compliance Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.compliance.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para compliance/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0080 = McpControlContract( + contract_id='compliance.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='compliance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Compliance Platform', + purpose='Provar que artefatos humanos de Compliance Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'complianceStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.compliance.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider compliance via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar compliance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para compliance/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0081 = McpControlContract( + contract_id='customer_ops.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='administrador_empresa', + tool_id='mais_humana.customer_ops.administrador_empresa.explain', + title='Customer Ops Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'administrador_empresaNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0082 = McpControlContract( + contract_id='customer_ops.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='ceo', + tool_id='mais_humana.customer_ops.ceo.explain', + title='Customer Ops Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'ceoNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0083 = McpControlContract( + contract_id='customer_ops.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='gestor_operacional', + tool_id='mais_humana.customer_ops.gestor_operacional.explain', + title='Customer Ops Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'gestor_operacionalNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0084 = McpControlContract( + contract_id='customer_ops.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='suporte', + tool_id='mais_humana.customer_ops.suporte.explain', + title='Customer Ops Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'suporteNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0085 = McpControlContract( + contract_id='customer_ops.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='atendimento_cliente', + tool_id='mais_humana.customer_ops.atendimento_cliente.explain', + title='Customer Ops Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'atendimento_clienteNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0086 = McpControlContract( + contract_id='customer_ops.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='financeiro', + tool_id='mais_humana.customer_ops.financeiro.explain', + title='Customer Ops Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'financeiroNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0087 = McpControlContract( + contract_id='customer_ops.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='contador', + tool_id='mais_humana.customer_ops.contador.explain', + title='Customer Ops Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'contadorNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0088 = McpControlContract( + contract_id='customer_ops.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='juridico', + tool_id='mais_humana.customer_ops.juridico.explain', + title='Customer Ops Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'juridicoNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0089 = McpControlContract( + contract_id='customer_ops.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='secretaria', + tool_id='mais_humana.customer_ops.secretaria.explain', + title='Customer Ops Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'secretariaNeed', 'ticketsState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0090 = McpControlContract( + contract_id='customer_ops.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='tecnico', + tool_id='mais_humana.customer_ops.tecnico.explain', + title='Customer Ops Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'tecnicoNeed', 'ticketsState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0091 = McpControlContract( + contract_id='customer_ops.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='usuario_final', + tool_id='mais_humana.customer_ops.usuario_final.explain', + title='Customer Ops Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'usuario_finalNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0092 = McpControlContract( + contract_id='customer_ops.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='cliente_externo', + tool_id='mais_humana.customer_ops.cliente_externo.explain', + title='Customer Ops Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'cliente_externoNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0093 = McpControlContract( + contract_id='customer_ops.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='customer_ops', + profile_id='planejamento_estrategico', + tool_id='mais_humana.customer_ops.planejamento_estrategico.explain', + title='Customer Ops Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Customer Ops Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'planejamento_estrategicoNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para customer_ops/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'support'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0094 = McpControlContract( + contract_id='customer_ops.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0095 = McpControlContract( + contract_id='customer_ops.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'ceoNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0096 = McpControlContract( + contract_id='customer_ops.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0097 = McpControlContract( + contract_id='customer_ops.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'suporteNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0098 = McpControlContract( + contract_id='customer_ops.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0099 = McpControlContract( + contract_id='customer_ops.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'financeiroNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0100 = McpControlContract( + contract_id='customer_ops.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'contadorNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0101 = McpControlContract( + contract_id='customer_ops.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'juridicoNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0102 = McpControlContract( + contract_id='customer_ops.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'secretariaNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0103 = McpControlContract( + contract_id='customer_ops.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'tecnicoNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0104 = McpControlContract( + contract_id='customer_ops.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0105 = McpControlContract( + contract_id='customer_ops.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0106 = McpControlContract( + contract_id='customer_ops.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='customer_ops', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Customer Ops Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.customer_ops.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para customer_ops/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0107 = McpControlContract( + contract_id='customer_ops.tickets.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela tickets de Customer Ops Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela tickets; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'ticketsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.customer_ops.tickets.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tickets', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela tickets em customer_ops', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'tickets'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0108 = McpControlContract( + contract_id='customer_ops.incidents.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela incidents de Customer Ops Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela incidents; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'incidentsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.customer_ops.incidents.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para incidents', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela incidents em customer_ops', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'incidents'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0109 = McpControlContract( + contract_id='customer_ops.diagnostics.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela diagnostics de Customer Ops Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela diagnostics; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'diagnosticsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.customer_ops.diagnostics.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela diagnostics em customer_ops', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'diagnostics'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0110 = McpControlContract( + contract_id='customer_ops.customer-status.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela customer-status de Customer Ops Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela customer-status; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'customer-statusState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.customer_ops.customer-status.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para customer-status', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela customer-status em customer_ops', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'customer-status'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0111 = McpControlContract( + contract_id='customer_ops.handoffs.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela handoffs de Customer Ops Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela handoffs; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'handoffsState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.customer_ops.handoffs.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para handoffs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela handoffs em customer_ops', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'handoffs'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0112 = McpControlContract( + contract_id='customer_ops.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Customer Ops Platform', + purpose='Garantir que consulta de Customer Ops Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'consultaState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.customer_ops.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para customer_ops', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0113 = McpControlContract( + contract_id='customer_ops.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Customer Ops Platform', + purpose='Garantir que diagnostico de Customer Ops Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'diagnosticoState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.customer_ops.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para customer_ops', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0114 = McpControlContract( + contract_id='customer_ops.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Customer Ops Platform', + purpose='Garantir que acao de Customer Ops Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'acaoState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.customer_ops.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para customer_ops', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0115 = McpControlContract( + contract_id='customer_ops.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Customer Ops Platform', + purpose='Garantir que auditoria de Customer Ops Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'auditoriaState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.customer_ops.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para customer_ops', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0116 = McpControlContract( + contract_id='customer_ops.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Customer Ops Platform', + purpose='Garantir que explicacao de Customer Ops Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'explicacaoState', 'supportGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.customer_ops.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para customer_ops', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0117 = McpControlContract( + contract_id='customer_ops.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Customer Ops Platform', + purpose='Provar que artefatos humanos de Customer Ops Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.customer_ops.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para customer_ops/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0118 = McpControlContract( + contract_id='customer_ops.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Customer Ops Platform', + purpose='Provar que artefatos humanos de Customer Ops Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.customer_ops.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para customer_ops/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0119 = McpControlContract( + contract_id='customer_ops.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Customer Ops Platform', + purpose='Provar que artefatos humanos de Customer Ops Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.customer_ops.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para customer_ops/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0120 = McpControlContract( + contract_id='customer_ops.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='customer_ops', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Customer Ops Platform', + purpose='Provar que artefatos humanos de Customer Ops Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'customer_opsStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.customer_ops.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider customer_ops via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar customer_ops somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para customer_ops/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0121 = McpControlContract( + contract_id='docs.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='administrador_empresa', + tool_id='mais_humana.docs.administrador_empresa.explain', + title='Docs Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'administrador_empresaNeed', 'canonical-docsState', 'governanceGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0122 = McpControlContract( + contract_id='docs.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='ceo', + tool_id='mais_humana.docs.ceo.explain', + title='Docs Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'ceoNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0123 = McpControlContract( + contract_id='docs.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='gestor_operacional', + tool_id='mais_humana.docs.gestor_operacional.explain', + title='Docs Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'gestor_operacionalNeed', 'canonical-docsState', 'governanceGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0124 = McpControlContract( + contract_id='docs.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='suporte', + tool_id='mais_humana.docs.suporte.explain', + title='Docs Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'suporteNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0125 = McpControlContract( + contract_id='docs.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='atendimento_cliente', + tool_id='mais_humana.docs.atendimento_cliente.explain', + title='Docs Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'atendimento_clienteNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0126 = McpControlContract( + contract_id='docs.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='financeiro', + tool_id='mais_humana.docs.financeiro.explain', + title='Docs Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'financeiroNeed', 'canonical-docsState', 'governanceGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0127 = McpControlContract( + contract_id='docs.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='contador', + tool_id='mais_humana.docs.contador.explain', + title='Docs Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'contadorNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0128 = McpControlContract( + contract_id='docs.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='juridico', + tool_id='mais_humana.docs.juridico.explain', + title='Docs Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'juridicoNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0129 = McpControlContract( + contract_id='docs.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='secretaria', + tool_id='mais_humana.docs.secretaria.explain', + title='Docs Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'secretariaNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0130 = McpControlContract( + contract_id='docs.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='tecnico', + tool_id='mais_humana.docs.tecnico.explain', + title='Docs Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'tecnicoNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0131 = McpControlContract( + contract_id='docs.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='usuario_final', + tool_id='mais_humana.docs.usuario_final.explain', + title='Docs Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'usuario_finalNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0132 = McpControlContract( + contract_id='docs.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='cliente_externo', + tool_id='mais_humana.docs.cliente_externo.explain', + title='Docs Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'cliente_externoNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0133 = McpControlContract( + contract_id='docs.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='docs', + profile_id='planejamento_estrategico', + tool_id='mais_humana.docs.planejamento_estrategico.explain', + title='Docs Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Docs Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'planejamento_estrategicoNeed', 'canonical-docsState', 'governanceGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para docs/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=7, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0134 = McpControlContract( + contract_id='docs.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0135 = McpControlContract( + contract_id='docs.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'ceoNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0136 = McpControlContract( + contract_id='docs.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0137 = McpControlContract( + contract_id='docs.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'suporteNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0138 = McpControlContract( + contract_id='docs.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0139 = McpControlContract( + contract_id='docs.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'financeiroNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0140 = McpControlContract( + contract_id='docs.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'contadorNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0141 = McpControlContract( + contract_id='docs.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'juridicoNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0142 = McpControlContract( + contract_id='docs.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'secretariaNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0143 = McpControlContract( + contract_id='docs.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'tecnicoNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0144 = McpControlContract( + contract_id='docs.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0145 = McpControlContract( + contract_id='docs.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0146 = McpControlContract( + contract_id='docs.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='docs', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Docs Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.docs.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para docs/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=7, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0147 = McpControlContract( + contract_id='docs.canonical-docs.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela canonical-docs de Docs Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela canonical-docs; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'canonical-docsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.docs.canonical-docs.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para canonical-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela canonical-docs em docs', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'canonical-docs'), + maturity_level=7, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0148 = McpControlContract( + contract_id='docs.contracts.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela contracts de Docs Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela contracts; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'contractsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.docs.contracts.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para contracts', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela contracts em docs', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'contracts'), + maturity_level=7, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0149 = McpControlContract( + contract_id='docs.proofs.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela proofs de Docs Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela proofs; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'proofsState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.docs.proofs.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para proofs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela proofs em docs', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'proofs'), + maturity_level=7, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0150 = McpControlContract( + contract_id='docs.help.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela help de Docs Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela help; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'helpState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.docs.help.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para help', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela help em docs', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'help'), + maturity_level=7, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0151 = McpControlContract( + contract_id='docs.runbooks.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela runbooks de Docs Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela runbooks; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'runbooksState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.docs.runbooks.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para runbooks', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela runbooks em docs', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'runbooks'), + maturity_level=7, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0152 = McpControlContract( + contract_id='docs.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Docs Platform', + purpose='Garantir que consulta de Docs Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'consultaState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.docs.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para docs', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=7, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0153 = McpControlContract( + contract_id='docs.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Docs Platform', + purpose='Garantir que diagnostico de Docs Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'diagnosticoState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.docs.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para docs', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=7, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0154 = McpControlContract( + contract_id='docs.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Docs Platform', + purpose='Garantir que acao de Docs Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'acaoState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.docs.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para docs', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=7, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0155 = McpControlContract( + contract_id='docs.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Docs Platform', + purpose='Garantir que auditoria de Docs Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'auditoriaState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.docs.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para docs', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=7, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0156 = McpControlContract( + contract_id='docs.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Docs Platform', + purpose='Garantir que explicacao de Docs Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'explicacaoState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.docs.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para docs', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=7, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0157 = McpControlContract( + contract_id='docs.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Docs Platform', + purpose='Provar que artefatos humanos de Docs Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.docs.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para docs/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=7, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0158 = McpControlContract( + contract_id='docs.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Docs Platform', + purpose='Provar que artefatos humanos de Docs Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.docs.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para docs/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=7, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0159 = McpControlContract( + contract_id='docs.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Docs Platform', + purpose='Provar que artefatos humanos de Docs Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.docs.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para docs/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=7, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0160 = McpControlContract( + contract_id='docs.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Docs Platform', + purpose='Provar que artefatos humanos de Docs Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.docs.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para docs/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=7, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0161 = McpControlContract( + contract_id='finance.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='administrador_empresa', + tool_id='mais_humana.finance.administrador_empresa.explain', + title='Finance Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'administrador_empresaNeed', 'invoicesState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0162 = McpControlContract( + contract_id='finance.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='ceo', + tool_id='mais_humana.finance.ceo.explain', + title='Finance Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'ceoNeed', 'invoicesState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0163 = McpControlContract( + contract_id='finance.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='gestor_operacional', + tool_id='mais_humana.finance.gestor_operacional.explain', + title='Finance Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'gestor_operacionalNeed', 'invoicesState', 'observabilityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0164 = McpControlContract( + contract_id='finance.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='suporte', + tool_id='mais_humana.finance.suporte.explain', + title='Finance Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'suporteNeed', 'invoicesState', 'observabilityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0165 = McpControlContract( + contract_id='finance.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='atendimento_cliente', + tool_id='mais_humana.finance.atendimento_cliente.explain', + title='Finance Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'atendimento_clienteNeed', 'invoicesState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'finance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0166 = McpControlContract( + contract_id='finance.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='financeiro', + tool_id='mais_humana.finance.financeiro.explain', + title='Finance Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'financeiroNeed', 'invoicesState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'finance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0167 = McpControlContract( + contract_id='finance.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='contador', + tool_id='mais_humana.finance.contador.explain', + title='Finance Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'contadorNeed', 'invoicesState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'finance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0168 = McpControlContract( + contract_id='finance.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='juridico', + tool_id='mais_humana.finance.juridico.explain', + title='Finance Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'juridicoNeed', 'invoicesState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'finance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0169 = McpControlContract( + contract_id='finance.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='secretaria', + tool_id='mais_humana.finance.secretaria.explain', + title='Finance Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'secretariaNeed', 'invoicesState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'finance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0170 = McpControlContract( + contract_id='finance.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='tecnico', + tool_id='mais_humana.finance.tecnico.explain', + title='Finance Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'tecnicoNeed', 'invoicesState', 'observabilityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0171 = McpControlContract( + contract_id='finance.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='usuario_final', + tool_id='mais_humana.finance.usuario_final.explain', + title='Finance Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'usuario_finalNeed', 'invoicesState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'finance'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0172 = McpControlContract( + contract_id='finance.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='cliente_externo', + tool_id='mais_humana.finance.cliente_externo.explain', + title='Finance Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'cliente_externoNeed', 'invoicesState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0173 = McpControlContract( + contract_id='finance.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='finance', + profile_id='planejamento_estrategico', + tool_id='mais_humana.finance.planejamento_estrategico.explain', + title='Finance Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Finance Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'planejamento_estrategicoNeed', 'invoicesState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para finance/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0174 = McpControlContract( + contract_id='finance.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0175 = McpControlContract( + contract_id='finance.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'ceoNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0176 = McpControlContract( + contract_id='finance.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0177 = McpControlContract( + contract_id='finance.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'suporteNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0178 = McpControlContract( + contract_id='finance.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0179 = McpControlContract( + contract_id='finance.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'financeiroNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0180 = McpControlContract( + contract_id='finance.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'contadorNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0181 = McpControlContract( + contract_id='finance.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'juridicoNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0182 = McpControlContract( + contract_id='finance.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'secretariaNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0183 = McpControlContract( + contract_id='finance.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'tecnicoNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0184 = McpControlContract( + contract_id='finance.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0185 = McpControlContract( + contract_id='finance.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0186 = McpControlContract( + contract_id='finance.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='finance', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Finance Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.finance.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para finance/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0187 = McpControlContract( + contract_id='finance.invoices.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela invoices de Finance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela invoices; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'invoicesState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.finance.invoices.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para invoices', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela invoices em finance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'invoices'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0188 = McpControlContract( + contract_id='finance.usage.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela usage de Finance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela usage; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'usageState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.finance.usage.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para usage', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela usage em finance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'usage'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0189 = McpControlContract( + contract_id='finance.cost.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela cost de Finance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela cost; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'costState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.finance.cost.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cost', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela cost em finance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'cost'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0190 = McpControlContract( + contract_id='finance.reconciliation.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela reconciliation de Finance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela reconciliation; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'reconciliationState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.finance.reconciliation.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para reconciliation', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela reconciliation em finance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'reconciliation'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0191 = McpControlContract( + contract_id='finance.quota.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela quota de Finance Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela quota; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'quotaState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.finance.quota.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para quota', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela quota em finance', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'quota'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0192 = McpControlContract( + contract_id='finance.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Finance Platform', + purpose='Garantir que consulta de Finance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'consultaState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.finance.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para finance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0193 = McpControlContract( + contract_id='finance.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Finance Platform', + purpose='Garantir que diagnostico de Finance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'diagnosticoState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.finance.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para finance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0194 = McpControlContract( + contract_id='finance.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Finance Platform', + purpose='Garantir que acao de Finance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'acaoState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.finance.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para finance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0195 = McpControlContract( + contract_id='finance.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Finance Platform', + purpose='Garantir que auditoria de Finance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'auditoriaState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.finance.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para finance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0196 = McpControlContract( + contract_id='finance.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Finance Platform', + purpose='Garantir que explicacao de Finance Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'explicacaoState', 'financeGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.finance.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para finance', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0197 = McpControlContract( + contract_id='finance.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Finance Platform', + purpose='Provar que artefatos humanos de Finance Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.finance.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para finance/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0198 = McpControlContract( + contract_id='finance.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Finance Platform', + purpose='Provar que artefatos humanos de Finance Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.finance.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para finance/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0199 = McpControlContract( + contract_id='finance.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Finance Platform', + purpose='Provar que artefatos humanos de Finance Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.finance.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para finance/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0200 = McpControlContract( + contract_id='finance.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='finance', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Finance Platform', + purpose='Provar que artefatos humanos de Finance Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'financeStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.finance.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider finance via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar finance somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para finance/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0201 = McpControlContract( + contract_id='gettys.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='administrador_empresa', + tool_id='mais_humana.gettys.administrador_empresa.explain', + title='Gettys Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'administrador_empresaNeed', 'gettys-overviewState', 'observabilityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0202 = McpControlContract( + contract_id='gettys.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='ceo', + tool_id='mais_humana.gettys.ceo.explain', + title='Gettys Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'ceoNeed', 'gettys-overviewState', 'observabilityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0203 = McpControlContract( + contract_id='gettys.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='gestor_operacional', + tool_id='mais_humana.gettys.gestor_operacional.explain', + title='Gettys Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'gestor_operacionalNeed', 'gettys-overviewState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0204 = McpControlContract( + contract_id='gettys.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='suporte', + tool_id='mais_humana.gettys.suporte.explain', + title='Gettys Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'suporteNeed', 'gettys-overviewState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0205 = McpControlContract( + contract_id='gettys.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='atendimento_cliente', + tool_id='mais_humana.gettys.atendimento_cliente.explain', + title='Gettys Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'atendimento_clienteNeed', 'gettys-overviewState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0206 = McpControlContract( + contract_id='gettys.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='financeiro', + tool_id='mais_humana.gettys.financeiro.explain', + title='Gettys Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'financeiroNeed', 'gettys-overviewState', 'observabilityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0207 = McpControlContract( + contract_id='gettys.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='contador', + tool_id='mais_humana.gettys.contador.explain', + title='Gettys Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'contadorNeed', 'gettys-overviewState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0208 = McpControlContract( + contract_id='gettys.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='juridico', + tool_id='mais_humana.gettys.juridico.explain', + title='Gettys Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'juridicoNeed', 'gettys-overviewState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0209 = McpControlContract( + contract_id='gettys.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='secretaria', + tool_id='mais_humana.gettys.secretaria.explain', + title='Gettys Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'secretariaNeed', 'gettys-overviewState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0210 = McpControlContract( + contract_id='gettys.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='tecnico', + tool_id='mais_humana.gettys.tecnico.explain', + title='Gettys Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'tecnicoNeed', 'gettys-overviewState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0211 = McpControlContract( + contract_id='gettys.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='usuario_final', + tool_id='mais_humana.gettys.usuario_final.explain', + title='Gettys Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'usuario_finalNeed', 'gettys-overviewState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0212 = McpControlContract( + contract_id='gettys.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='cliente_externo', + tool_id='mais_humana.gettys.cliente_externo.explain', + title='Gettys Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'cliente_externoNeed', 'gettys-overviewState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0213 = McpControlContract( + contract_id='gettys.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='gettys', + profile_id='planejamento_estrategico', + tool_id='mais_humana.gettys.planejamento_estrategico.explain', + title='Gettys Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Gettys Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'planejamento_estrategicoNeed', 'gettys-overviewState', 'observabilityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para gettys/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0214 = McpControlContract( + contract_id='gettys.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0215 = McpControlContract( + contract_id='gettys.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'ceoNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0216 = McpControlContract( + contract_id='gettys.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0217 = McpControlContract( + contract_id='gettys.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'suporteNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0218 = McpControlContract( + contract_id='gettys.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0219 = McpControlContract( + contract_id='gettys.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'financeiroNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0220 = McpControlContract( + contract_id='gettys.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'contadorNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0221 = McpControlContract( + contract_id='gettys.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'juridicoNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0222 = McpControlContract( + contract_id='gettys.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'secretariaNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0223 = McpControlContract( + contract_id='gettys.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'tecnicoNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0224 = McpControlContract( + contract_id='gettys.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0225 = McpControlContract( + contract_id='gettys.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0226 = McpControlContract( + contract_id='gettys.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='gettys', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Gettys Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.gettys.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para gettys/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0227 = McpControlContract( + contract_id='gettys.gettys-overview.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela gettys-overview de Gettys Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela gettys-overview; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'gettys-overviewState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.gettys.gettys-overview.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para gettys-overview', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela gettys-overview em gettys', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'gettys-overview'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0228 = McpControlContract( + contract_id='gettys.admin-screen.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela admin-screen de Gettys Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela admin-screen; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'admin-screenState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.gettys.admin-screen.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para admin-screen', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela admin-screen em gettys', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'admin-screen'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0229 = McpControlContract( + contract_id='gettys.health.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela health de Gettys Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela health; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'healthState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.gettys.health.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para health', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela health em gettys', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'health'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0230 = McpControlContract( + contract_id='gettys.product-readiness.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela product-readiness de Gettys Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela product-readiness; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'product-readinessState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.gettys.product-readiness.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para product-readiness', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela product-readiness em gettys', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'product-readiness'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0231 = McpControlContract( + contract_id='gettys.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Gettys Platform', + purpose='Garantir que consulta de Gettys Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'consultaState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.gettys.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para gettys', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0232 = McpControlContract( + contract_id='gettys.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Gettys Platform', + purpose='Garantir que diagnostico de Gettys Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'diagnosticoState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.gettys.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para gettys', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0233 = McpControlContract( + contract_id='gettys.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Gettys Platform', + purpose='Garantir que acao de Gettys Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'acaoState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.gettys.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para gettys', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0234 = McpControlContract( + contract_id='gettys.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Gettys Platform', + purpose='Garantir que auditoria de Gettys Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'auditoriaState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.gettys.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para gettys', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0235 = McpControlContract( + contract_id='gettys.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Gettys Platform', + purpose='Garantir que explicacao de Gettys Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'explicacaoState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.gettys.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para gettys', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0236 = McpControlContract( + contract_id='gettys.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Gettys Platform', + purpose='Provar que artefatos humanos de Gettys Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.gettys.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para gettys/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0237 = McpControlContract( + contract_id='gettys.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Gettys Platform', + purpose='Provar que artefatos humanos de Gettys Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.gettys.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para gettys/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0238 = McpControlContract( + contract_id='gettys.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Gettys Platform', + purpose='Provar que artefatos humanos de Gettys Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.gettys.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para gettys/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0239 = McpControlContract( + contract_id='gettys.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='gettys', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Gettys Platform', + purpose='Provar que artefatos humanos de Gettys Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'gettysStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.gettys.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider gettys via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar gettys somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para gettys/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0240 = McpControlContract( + contract_id='identity.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='administrador_empresa', + tool_id='mais_humana.identity.administrador_empresa.explain', + title='Identity Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'administrador_empresaNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0241 = McpControlContract( + contract_id='identity.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='ceo', + tool_id='mais_humana.identity.ceo.explain', + title='Identity Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'ceoNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0242 = McpControlContract( + contract_id='identity.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='gestor_operacional', + tool_id='mais_humana.identity.gestor_operacional.explain', + title='Identity Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'gestor_operacionalNeed', 'rbacState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0243 = McpControlContract( + contract_id='identity.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='suporte', + tool_id='mais_humana.identity.suporte.explain', + title='Identity Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'suporteNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0244 = McpControlContract( + contract_id='identity.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='atendimento_cliente', + tool_id='mais_humana.identity.atendimento_cliente.explain', + title='Identity Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'atendimento_clienteNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0245 = McpControlContract( + contract_id='identity.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='financeiro', + tool_id='mais_humana.identity.financeiro.explain', + title='Identity Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'financeiroNeed', 'rbacState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0246 = McpControlContract( + contract_id='identity.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='contador', + tool_id='mais_humana.identity.contador.explain', + title='Identity Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'contadorNeed', 'rbacState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0247 = McpControlContract( + contract_id='identity.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='juridico', + tool_id='mais_humana.identity.juridico.explain', + title='Identity Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'juridicoNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0248 = McpControlContract( + contract_id='identity.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='secretaria', + tool_id='mais_humana.identity.secretaria.explain', + title='Identity Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'secretariaNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0249 = McpControlContract( + contract_id='identity.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='tecnico', + tool_id='mais_humana.identity.tecnico.explain', + title='Identity Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'tecnicoNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0250 = McpControlContract( + contract_id='identity.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='usuario_final', + tool_id='mais_humana.identity.usuario_final.explain', + title='Identity Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'usuario_finalNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0251 = McpControlContract( + contract_id='identity.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='cliente_externo', + tool_id='mais_humana.identity.cliente_externo.explain', + title='Identity Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'cliente_externoNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0252 = McpControlContract( + contract_id='identity.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='identity', + profile_id='planejamento_estrategico', + tool_id='mais_humana.identity.planejamento_estrategico.explain', + title='Identity Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Identity Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'planejamento_estrategicoNeed', 'rbacState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para identity/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0253 = McpControlContract( + contract_id='identity.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0254 = McpControlContract( + contract_id='identity.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'ceoNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0255 = McpControlContract( + contract_id='identity.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0256 = McpControlContract( + contract_id='identity.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'suporteNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0257 = McpControlContract( + contract_id='identity.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0258 = McpControlContract( + contract_id='identity.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'financeiroNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0259 = McpControlContract( + contract_id='identity.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'contadorNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0260 = McpControlContract( + contract_id='identity.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'juridicoNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0261 = McpControlContract( + contract_id='identity.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'secretariaNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0262 = McpControlContract( + contract_id='identity.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'tecnicoNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0263 = McpControlContract( + contract_id='identity.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0264 = McpControlContract( + contract_id='identity.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0265 = McpControlContract( + contract_id='identity.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='identity', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Identity Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.identity.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para identity/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0266 = McpControlContract( + contract_id='identity.rbac.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela rbac de Identity Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela rbac; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'rbacState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.identity.rbac.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para rbac', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela rbac em identity', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'rbac'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0267 = McpControlContract( + contract_id='identity.sessions.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela sessions de Identity Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela sessions; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'sessionsState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.identity.sessions.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para sessions', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela sessions em identity', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'sessions'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0268 = McpControlContract( + contract_id='identity.organizations.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela organizations de Identity Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela organizations; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'organizationsState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.identity.organizations.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para organizations', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela organizations em identity', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'organizations'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0269 = McpControlContract( + contract_id='identity.incidents.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela incidents de Identity Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela incidents; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'incidentsState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.identity.incidents.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para incidents', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela incidents em identity', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'incidents'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0270 = McpControlContract( + contract_id='identity.audit.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela audit de Identity Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela audit; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'auditState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.identity.audit.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para audit', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela audit em identity', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'audit'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0271 = McpControlContract( + contract_id='identity.contracts.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela contracts de Identity Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela contracts; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'contractsState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.identity.contracts.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para contracts', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela contracts em identity', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'contracts'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0272 = McpControlContract( + contract_id='identity.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Identity Platform', + purpose='Garantir que consulta de Identity Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'consultaState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.identity.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para identity', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0273 = McpControlContract( + contract_id='identity.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Identity Platform', + purpose='Garantir que diagnostico de Identity Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'diagnosticoState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.identity.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para identity', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0274 = McpControlContract( + contract_id='identity.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Identity Platform', + purpose='Garantir que acao de Identity Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'acaoState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.identity.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para identity', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0275 = McpControlContract( + contract_id='identity.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Identity Platform', + purpose='Garantir que auditoria de Identity Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'auditoriaState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.identity.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para identity', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0276 = McpControlContract( + contract_id='identity.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Identity Platform', + purpose='Garantir que explicacao de Identity Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'explicacaoState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.identity.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para identity', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0277 = McpControlContract( + contract_id='identity.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Identity Platform', + purpose='Provar que artefatos humanos de Identity Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.identity.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para identity/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0278 = McpControlContract( + contract_id='identity.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Identity Platform', + purpose='Provar que artefatos humanos de Identity Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.identity.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para identity/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0279 = McpControlContract( + contract_id='identity.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Identity Platform', + purpose='Provar que artefatos humanos de Identity Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.identity.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para identity/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0280 = McpControlContract( + contract_id='identity.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='identity', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Identity Platform', + purpose='Provar que artefatos humanos de Identity Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'identityStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.identity.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider identity via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar identity somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para identity/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0281 = McpControlContract( + contract_id='integracoes.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='administrador_empresa', + tool_id='mais_humana.integracoes.administrador_empresa.explain', + title='Integracoes Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'administrador_empresaNeed', 'byokState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0282 = McpControlContract( + contract_id='integracoes.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='ceo', + tool_id='mais_humana.integracoes.ceo.explain', + title='Integracoes Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'ceoNeed', 'byokState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0283 = McpControlContract( + contract_id='integracoes.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='gestor_operacional', + tool_id='mais_humana.integracoes.gestor_operacional.explain', + title='Integracoes Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'gestor_operacionalNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0284 = McpControlContract( + contract_id='integracoes.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='suporte', + tool_id='mais_humana.integracoes.suporte.explain', + title='Integracoes Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'suporteNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0285 = McpControlContract( + contract_id='integracoes.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='atendimento_cliente', + tool_id='mais_humana.integracoes.atendimento_cliente.explain', + title='Integracoes Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'atendimento_clienteNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0286 = McpControlContract( + contract_id='integracoes.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='financeiro', + tool_id='mais_humana.integracoes.financeiro.explain', + title='Integracoes Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'financeiroNeed', 'byokState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0287 = McpControlContract( + contract_id='integracoes.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='contador', + tool_id='mais_humana.integracoes.contador.explain', + title='Integracoes Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'contadorNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0288 = McpControlContract( + contract_id='integracoes.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='juridico', + tool_id='mais_humana.integracoes.juridico.explain', + title='Integracoes Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'juridicoNeed', 'byokState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'security'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0289 = McpControlContract( + contract_id='integracoes.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='secretaria', + tool_id='mais_humana.integracoes.secretaria.explain', + title='Integracoes Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'secretariaNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0290 = McpControlContract( + contract_id='integracoes.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='tecnico', + tool_id='mais_humana.integracoes.tecnico.explain', + title='Integracoes Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'tecnicoNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0291 = McpControlContract( + contract_id='integracoes.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='usuario_final', + tool_id='mais_humana.integracoes.usuario_final.explain', + title='Integracoes Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'usuario_finalNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0292 = McpControlContract( + contract_id='integracoes.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='cliente_externo', + tool_id='mais_humana.integracoes.cliente_externo.explain', + title='Integracoes Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'cliente_externoNeed', 'byokState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0293 = McpControlContract( + contract_id='integracoes.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='integracoes', + profile_id='planejamento_estrategico', + tool_id='mais_humana.integracoes.planejamento_estrategico.explain', + title='Integracoes Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Integracoes Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'planejamento_estrategicoNeed', 'byokState', 'commercialGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para integracoes/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0294 = McpControlContract( + contract_id='integracoes.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0295 = McpControlContract( + contract_id='integracoes.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'ceoNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0296 = McpControlContract( + contract_id='integracoes.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0297 = McpControlContract( + contract_id='integracoes.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'suporteNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0298 = McpControlContract( + contract_id='integracoes.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0299 = McpControlContract( + contract_id='integracoes.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'financeiroNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0300 = McpControlContract( + contract_id='integracoes.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'contadorNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0301 = McpControlContract( + contract_id='integracoes.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'juridicoNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0302 = McpControlContract( + contract_id='integracoes.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'secretariaNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0303 = McpControlContract( + contract_id='integracoes.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'tecnicoNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0304 = McpControlContract( + contract_id='integracoes.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0305 = McpControlContract( + contract_id='integracoes.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0306 = McpControlContract( + contract_id='integracoes.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='integracoes', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Integracoes Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.integracoes.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para integracoes/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0307 = McpControlContract( + contract_id='integracoes.byok.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela BYOK de Integracoes Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela BYOK; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'byokState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.integracoes.byok.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para byok', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela BYOK em integracoes', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'byok'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0308 = McpControlContract( + contract_id='integracoes.providers.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela providers de Integracoes Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela providers; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'providersState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.integracoes.providers.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para providers', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela providers em integracoes', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'providers'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0309 = McpControlContract( + contract_id='integracoes.credentials.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela credentials de Integracoes Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela credentials; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'credentialsState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.integracoes.credentials.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentials', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela credentials em integracoes', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'credentials'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0310 = McpControlContract( + contract_id='integracoes.smoke.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela smoke de Integracoes Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela smoke; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'smokeState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.integracoes.smoke.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para smoke', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela smoke em integracoes', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'smoke'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0311 = McpControlContract( + contract_id='integracoes.products.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela products de Integracoes Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela products; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'productsState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.integracoes.products.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para products', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela products em integracoes', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'products'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0312 = McpControlContract( + contract_id='integracoes.tenant.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela tenant de Integracoes Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela tenant; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'tenantState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.integracoes.tenant.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tenant', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela tenant em integracoes', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'tenant'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0313 = McpControlContract( + contract_id='integracoes.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Integracoes Platform', + purpose='Garantir que consulta de Integracoes Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'consultaState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.integracoes.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para integracoes', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0314 = McpControlContract( + contract_id='integracoes.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Integracoes Platform', + purpose='Garantir que diagnostico de Integracoes Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'diagnosticoState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.integracoes.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para integracoes', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0315 = McpControlContract( + contract_id='integracoes.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Integracoes Platform', + purpose='Garantir que acao de Integracoes Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'acaoState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.integracoes.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para integracoes', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0316 = McpControlContract( + contract_id='integracoes.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Integracoes Platform', + purpose='Garantir que auditoria de Integracoes Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'auditoriaState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.integracoes.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para integracoes', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0317 = McpControlContract( + contract_id='integracoes.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Integracoes Platform', + purpose='Garantir que explicacao de Integracoes Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'explicacaoState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.integracoes.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para integracoes', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0318 = McpControlContract( + contract_id='integracoes.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Integracoes Platform', + purpose='Provar que artefatos humanos de Integracoes Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.integracoes.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para integracoes/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0319 = McpControlContract( + contract_id='integracoes.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Integracoes Platform', + purpose='Provar que artefatos humanos de Integracoes Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.integracoes.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para integracoes/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0320 = McpControlContract( + contract_id='integracoes.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Integracoes Platform', + purpose='Provar que artefatos humanos de Integracoes Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.integracoes.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para integracoes/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0321 = McpControlContract( + contract_id='integracoes.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='integracoes', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Integracoes Platform', + purpose='Provar que artefatos humanos de Integracoes Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'integracoesStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.integracoes.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider integracoes via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar integracoes somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para integracoes/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0322 = McpControlContract( + contract_id='intelligence.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='administrador_empresa', + tool_id='mais_humana.intelligence.administrador_empresa.explain', + title='Intelligence Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'administrador_empresaNeed', 'analyticsState', 'observabilityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0323 = McpControlContract( + contract_id='intelligence.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='ceo', + tool_id='mais_humana.intelligence.ceo.explain', + title='Intelligence Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'ceoNeed', 'analyticsState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'strategy'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0324 = McpControlContract( + contract_id='intelligence.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='gestor_operacional', + tool_id='mais_humana.intelligence.gestor_operacional.explain', + title='Intelligence Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'gestor_operacionalNeed', 'analyticsState', 'observabilityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0325 = McpControlContract( + contract_id='intelligence.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='suporte', + tool_id='mais_humana.intelligence.suporte.explain', + title='Intelligence Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'suporteNeed', 'analyticsState', 'observabilityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0326 = McpControlContract( + contract_id='intelligence.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='atendimento_cliente', + tool_id='mais_humana.intelligence.atendimento_cliente.explain', + title='Intelligence Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'atendimento_clienteNeed', 'analyticsState', 'experienceGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0327 = McpControlContract( + contract_id='intelligence.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='financeiro', + tool_id='mais_humana.intelligence.financeiro.explain', + title='Intelligence Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'financeiroNeed', 'analyticsState', 'observabilityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0328 = McpControlContract( + contract_id='intelligence.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='contador', + tool_id='mais_humana.intelligence.contador.explain', + title='Intelligence Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'contadorNeed', 'analyticsState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'strategy'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0329 = McpControlContract( + contract_id='intelligence.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='juridico', + tool_id='mais_humana.intelligence.juridico.explain', + title='Intelligence Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'juridicoNeed', 'analyticsState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'strategy'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0330 = McpControlContract( + contract_id='intelligence.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='secretaria', + tool_id='mais_humana.intelligence.secretaria.explain', + title='Intelligence Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'secretariaNeed', 'analyticsState', 'experienceGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0331 = McpControlContract( + contract_id='intelligence.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='tecnico', + tool_id='mais_humana.intelligence.tecnico.explain', + title='Intelligence Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'tecnicoNeed', 'analyticsState', 'observabilityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0332 = McpControlContract( + contract_id='intelligence.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='usuario_final', + tool_id='mais_humana.intelligence.usuario_final.explain', + title='Intelligence Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'usuario_finalNeed', 'analyticsState', 'experienceGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0333 = McpControlContract( + contract_id='intelligence.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='cliente_externo', + tool_id='mais_humana.intelligence.cliente_externo.explain', + title='Intelligence Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'cliente_externoNeed', 'analyticsState', 'experienceGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0334 = McpControlContract( + contract_id='intelligence.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='intelligence', + profile_id='planejamento_estrategico', + tool_id='mais_humana.intelligence.planejamento_estrategico.explain', + title='Intelligence Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Intelligence Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'planejamento_estrategicoNeed', 'analyticsState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para intelligence/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'strategy'), + maturity_level=3, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0335 = McpControlContract( + contract_id='intelligence.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0336 = McpControlContract( + contract_id='intelligence.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'ceoNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0337 = McpControlContract( + contract_id='intelligence.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0338 = McpControlContract( + contract_id='intelligence.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'suporteNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0339 = McpControlContract( + contract_id='intelligence.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0340 = McpControlContract( + contract_id='intelligence.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'financeiroNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0341 = McpControlContract( + contract_id='intelligence.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'contadorNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0342 = McpControlContract( + contract_id='intelligence.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'juridicoNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0343 = McpControlContract( + contract_id='intelligence.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'secretariaNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0344 = McpControlContract( + contract_id='intelligence.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'tecnicoNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0345 = McpControlContract( + contract_id='intelligence.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0346 = McpControlContract( + contract_id='intelligence.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0347 = McpControlContract( + contract_id='intelligence.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='intelligence', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Intelligence Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='report.intelligence.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para intelligence/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=3, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0348 = McpControlContract( + contract_id='intelligence.analytics.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela analytics de Intelligence Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela analytics; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'analyticsState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='screen.intelligence.analytics.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para analytics', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela analytics em intelligence', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'analytics'), + maturity_level=3, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0349 = McpControlContract( + contract_id='intelligence.recommendations.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela recommendations de Intelligence Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela recommendations; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'recommendationsState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='screen.intelligence.recommendations.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para recommendations', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela recommendations em intelligence', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'recommendations'), + maturity_level=3, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0350 = McpControlContract( + contract_id='intelligence.risk.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela risk de Intelligence Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela risk; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'riskState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='screen.intelligence.risk.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para risk', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela risk em intelligence', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'risk'), + maturity_level=3, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0351 = McpControlContract( + contract_id='intelligence.prioritization.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela prioritization de Intelligence Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela prioritization; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'prioritizationState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='screen.intelligence.prioritization.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para prioritization', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela prioritization em intelligence', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'prioritization'), + maturity_level=3, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0352 = McpControlContract( + contract_id='intelligence.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Intelligence Platform', + purpose='Garantir que consulta de Intelligence Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'consultaState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='policy.intelligence.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para intelligence', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=3, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0353 = McpControlContract( + contract_id='intelligence.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Intelligence Platform', + purpose='Garantir que diagnostico de Intelligence Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'diagnosticoState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='policy.intelligence.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para intelligence', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=3, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0354 = McpControlContract( + contract_id='intelligence.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Intelligence Platform', + purpose='Garantir que acao de Intelligence Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'acaoState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='policy.intelligence.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para intelligence', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=3, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0355 = McpControlContract( + contract_id='intelligence.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Intelligence Platform', + purpose='Garantir que auditoria de Intelligence Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'auditoriaState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='policy.intelligence.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para intelligence', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=3, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0356 = McpControlContract( + contract_id='intelligence.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Intelligence Platform', + purpose='Garantir que explicacao de Intelligence Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'explicacaoState', 'strategyGate'), + truth_state=TruthState.BLOCKED, + panel_ready=False, + gpt_explainable=True, + report_model_id='policy.intelligence.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para intelligence', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=3, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0357 = McpControlContract( + contract_id='intelligence.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Intelligence Platform', + purpose='Provar que artefatos humanos de Intelligence Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.intelligence.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para intelligence/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0358 = McpControlContract( + contract_id='intelligence.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Intelligence Platform', + purpose='Provar que artefatos humanos de Intelligence Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.intelligence.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para intelligence/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0359 = McpControlContract( + contract_id='intelligence.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Intelligence Platform', + purpose='Provar que artefatos humanos de Intelligence Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.intelligence.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para intelligence/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0360 = McpControlContract( + contract_id='intelligence.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='intelligence', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Intelligence Platform', + purpose='Provar que artefatos humanos de Intelligence Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'intelligenceStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.BLOCKED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.intelligence.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider intelligence via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar intelligence somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para intelligence/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0361 = McpControlContract( + contract_id='mcps.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='administrador_empresa', + tool_id='mais_humana.mcps.administrador_empresa.explain', + title='MCPs Internos Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'administrador_empresaNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0362 = McpControlContract( + contract_id='mcps.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='ceo', + tool_id='mais_humana.mcps.ceo.explain', + title='MCPs Internos Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'ceoNeed', 'admin-uiState', 'observabilityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0363 = McpControlContract( + contract_id='mcps.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='gestor_operacional', + tool_id='mais_humana.mcps.gestor_operacional.explain', + title='MCPs Internos Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'gestor_operacionalNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0364 = McpControlContract( + contract_id='mcps.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='suporte', + tool_id='mais_humana.mcps.suporte.explain', + title='MCPs Internos Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'suporteNeed', 'admin-uiState', 'observabilityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'observability'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0365 = McpControlContract( + contract_id='mcps.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='atendimento_cliente', + tool_id='mais_humana.mcps.atendimento_cliente.explain', + title='MCPs Internos Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'atendimento_clienteNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0366 = McpControlContract( + contract_id='mcps.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='financeiro', + tool_id='mais_humana.mcps.financeiro.explain', + title='MCPs Internos Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'financeiroNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0367 = McpControlContract( + contract_id='mcps.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='contador', + tool_id='mais_humana.mcps.contador.explain', + title='MCPs Internos Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'contadorNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0368 = McpControlContract( + contract_id='mcps.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='juridico', + tool_id='mais_humana.mcps.juridico.explain', + title='MCPs Internos Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'juridicoNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0369 = McpControlContract( + contract_id='mcps.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='secretaria', + tool_id='mais_humana.mcps.secretaria.explain', + title='MCPs Internos Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'secretariaNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0370 = McpControlContract( + contract_id='mcps.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='tecnico', + tool_id='mais_humana.mcps.tecnico.explain', + title='MCPs Internos Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'tecnicoNeed', 'admin-uiState', 'integrationGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'integration'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0371 = McpControlContract( + contract_id='mcps.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='usuario_final', + tool_id='mais_humana.mcps.usuario_final.explain', + title='MCPs Internos Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'usuario_finalNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0372 = McpControlContract( + contract_id='mcps.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='cliente_externo', + tool_id='mais_humana.mcps.cliente_externo.explain', + title='MCPs Internos Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'cliente_externoNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0373 = McpControlContract( + contract_id='mcps.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='mcps', + profile_id='planejamento_estrategico', + tool_id='mais_humana.mcps.planejamento_estrategico.explain', + title='MCPs Internos Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de MCPs Internos Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'planejamento_estrategicoNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para mcps/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0374 = McpControlContract( + contract_id='mcps.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0375 = McpControlContract( + contract_id='mcps.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'ceoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0376 = McpControlContract( + contract_id='mcps.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0377 = McpControlContract( + contract_id='mcps.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'suporteNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0378 = McpControlContract( + contract_id='mcps.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0379 = McpControlContract( + contract_id='mcps.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'financeiroNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0380 = McpControlContract( + contract_id='mcps.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'contadorNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0381 = McpControlContract( + contract_id='mcps.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'juridicoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0382 = McpControlContract( + contract_id='mcps.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'secretariaNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0383 = McpControlContract( + contract_id='mcps.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'tecnicoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0384 = McpControlContract( + contract_id='mcps.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0385 = McpControlContract( + contract_id='mcps.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0386 = McpControlContract( + contract_id='mcps.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='mcps', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio MCPs Internos Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.mcps.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para mcps/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0387 = McpControlContract( + contract_id='mcps.admin-ui.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela admin_ui de MCPs Internos Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela admin_ui; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'admin-uiState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.mcps.admin-ui.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para admin-ui', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela admin_ui em mcps', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'admin-ui'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0388 = McpControlContract( + contract_id='mcps.tools.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela tools de MCPs Internos Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela tools; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'toolsState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.mcps.tools.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tools', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela tools em mcps', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'tools'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0389 = McpControlContract( + contract_id='mcps.readiness.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela readiness de MCPs Internos Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela readiness; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'readinessState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.mcps.readiness.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para readiness', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela readiness em mcps', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'readiness'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0390 = McpControlContract( + contract_id='mcps.samesource.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela sameSource de MCPs Internos Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela sameSource; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'samesourceState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.mcps.samesource.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para samesource', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela sameSource em mcps', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'samesource'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0391 = McpControlContract( + contract_id='mcps.evidence.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela evidence de MCPs Internos Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela evidence; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'evidenceState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.mcps.evidence.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para evidence', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela evidence em mcps', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'evidence'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0392 = McpControlContract( + contract_id='mcps.catalog.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela catalog de MCPs Internos Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela catalog; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'catalogState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.mcps.catalog.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para catalog', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela catalog em mcps', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'catalog'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0393 = McpControlContract( + contract_id='mcps.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para MCPs Internos Platform', + purpose='Garantir que consulta de MCPs Internos Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'consultaState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.mcps.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para mcps', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0394 = McpControlContract( + contract_id='mcps.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para MCPs Internos Platform', + purpose='Garantir que diagnostico de MCPs Internos Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'diagnosticoState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.mcps.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para mcps', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0395 = McpControlContract( + contract_id='mcps.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para MCPs Internos Platform', + purpose='Garantir que acao de MCPs Internos Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'acaoState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.mcps.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para mcps', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0396 = McpControlContract( + contract_id='mcps.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para MCPs Internos Platform', + purpose='Garantir que auditoria de MCPs Internos Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'auditoriaState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.mcps.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para mcps', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0397 = McpControlContract( + contract_id='mcps.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para MCPs Internos Platform', + purpose='Garantir que explicacao de MCPs Internos Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'explicacaoState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.mcps.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para mcps', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0398 = McpControlContract( + contract_id='mcps.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para MCPs Internos Platform', + purpose='Provar que artefatos humanos de MCPs Internos Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.mcps.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para mcps/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0399 = McpControlContract( + contract_id='mcps.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para MCPs Internos Platform', + purpose='Provar que artefatos humanos de MCPs Internos Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.mcps.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para mcps/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0400 = McpControlContract( + contract_id='mcps.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para MCPs Internos Platform', + purpose='Provar que artefatos humanos de MCPs Internos Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.mcps.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para mcps/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0401 = McpControlContract( + contract_id='mcps.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='mcps', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para MCPs Internos Platform', + purpose='Provar que artefatos humanos de MCPs Internos Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mcpsStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.mcps.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mcps via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar mcps somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para mcps/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0402 = McpControlContract( + contract_id='platform_base.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='administrador_empresa', + tool_id='mais_humana.platform_base.administrador_empresa.explain', + title='Platform Base explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'administrador_empresaNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0403 = McpControlContract( + contract_id='platform_base.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='ceo', + tool_id='mais_humana.platform_base.ceo.explain', + title='Platform Base explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'ceoNeed', 'templatesState', 'documentationGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0404 = McpControlContract( + contract_id='platform_base.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='gestor_operacional', + tool_id='mais_humana.platform_base.gestor_operacional.explain', + title='Platform Base explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'gestor_operacionalNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0405 = McpControlContract( + contract_id='platform_base.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='suporte', + tool_id='mais_humana.platform_base.suporte.explain', + title='Platform Base explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'suporteNeed', 'templatesState', 'operationsGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0406 = McpControlContract( + contract_id='platform_base.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='atendimento_cliente', + tool_id='mais_humana.platform_base.atendimento_cliente.explain', + title='Platform Base explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'atendimento_clienteNeed', 'templatesState', 'documentationGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0407 = McpControlContract( + contract_id='platform_base.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='financeiro', + tool_id='mais_humana.platform_base.financeiro.explain', + title='Platform Base explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'financeiroNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0408 = McpControlContract( + contract_id='platform_base.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='contador', + tool_id='mais_humana.platform_base.contador.explain', + title='Platform Base explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'contadorNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0409 = McpControlContract( + contract_id='platform_base.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='juridico', + tool_id='mais_humana.platform_base.juridico.explain', + title='Platform Base explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'juridicoNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0410 = McpControlContract( + contract_id='platform_base.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='secretaria', + tool_id='mais_humana.platform_base.secretaria.explain', + title='Platform Base explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'secretariaNeed', 'templatesState', 'operationsGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0411 = McpControlContract( + contract_id='platform_base.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='tecnico', + tool_id='mais_humana.platform_base.tecnico.explain', + title='Platform Base explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'tecnicoNeed', 'templatesState', 'operationsGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0412 = McpControlContract( + contract_id='platform_base.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='usuario_final', + tool_id='mais_humana.platform_base.usuario_final.explain', + title='Platform Base explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'usuario_finalNeed', 'templatesState', 'documentationGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0413 = McpControlContract( + contract_id='platform_base.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='cliente_externo', + tool_id='mais_humana.platform_base.cliente_externo.explain', + title='Platform Base explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'cliente_externoNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0414 = McpControlContract( + contract_id='platform_base.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='platform_base', + profile_id='planejamento_estrategico', + tool_id='mais_humana.platform_base.planejamento_estrategico.explain', + title='Platform Base explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Platform Base por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'planejamento_estrategicoNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para platform_base/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0415 = McpControlContract( + contract_id='platform_base.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0416 = McpControlContract( + contract_id='platform_base.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'ceoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0417 = McpControlContract( + contract_id='platform_base.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0418 = McpControlContract( + contract_id='platform_base.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'suporteNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0419 = McpControlContract( + contract_id='platform_base.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0420 = McpControlContract( + contract_id='platform_base.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'financeiroNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0421 = McpControlContract( + contract_id='platform_base.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'contadorNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0422 = McpControlContract( + contract_id='platform_base.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'juridicoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0423 = McpControlContract( + contract_id='platform_base.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'secretariaNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0424 = McpControlContract( + contract_id='platform_base.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'tecnicoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0425 = McpControlContract( + contract_id='platform_base.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0426 = McpControlContract( + contract_id='platform_base.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0427 = McpControlContract( + contract_id='platform_base.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='platform_base', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Platform Base para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.platform_base.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para platform_base/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0428 = McpControlContract( + contract_id='platform_base.templates.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela templates de Platform Base renderizada pela UI', + purpose='Impedir fonte paralela na tela templates; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'templatesState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.platform_base.templates.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para templates', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela templates em platform_base', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'templates'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0429 = McpControlContract( + contract_id='platform_base.standards.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela standards de Platform Base renderizada pela UI', + purpose='Impedir fonte paralela na tela standards; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'standardsState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.platform_base.standards.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para standards', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela standards em platform_base', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'standards'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0430 = McpControlContract( + contract_id='platform_base.contracts.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela contracts de Platform Base renderizada pela UI', + purpose='Impedir fonte paralela na tela contracts; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'contractsState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.platform_base.contracts.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para contracts', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela contracts em platform_base', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'contracts'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0431 = McpControlContract( + contract_id='platform_base.shared-runtime.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela shared-runtime de Platform Base renderizada pela UI', + purpose='Impedir fonte paralela na tela shared-runtime; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'shared-runtimeState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.platform_base.shared-runtime.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para shared-runtime', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela shared-runtime em platform_base', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'shared-runtime'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0432 = McpControlContract( + contract_id='platform_base.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Platform Base', + purpose='Garantir que consulta de Platform Base registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'consultaState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.platform_base.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para platform_base', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0433 = McpControlContract( + contract_id='platform_base.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Platform Base', + purpose='Garantir que diagnostico de Platform Base registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'diagnosticoState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.platform_base.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para platform_base', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0434 = McpControlContract( + contract_id='platform_base.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Platform Base', + purpose='Garantir que acao de Platform Base registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'acaoState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.platform_base.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para platform_base', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0435 = McpControlContract( + contract_id='platform_base.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Platform Base', + purpose='Garantir que auditoria de Platform Base registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'auditoriaState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.platform_base.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para platform_base', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0436 = McpControlContract( + contract_id='platform_base.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Platform Base', + purpose='Garantir que explicacao de Platform Base registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'explicacaoState', 'governanceGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.platform_base.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para platform_base', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0437 = McpControlContract( + contract_id='platform_base.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Platform Base', + purpose='Provar que artefatos humanos de Platform Base nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.platform_base.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para platform_base/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0438 = McpControlContract( + contract_id='platform_base.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Platform Base', + purpose='Provar que artefatos humanos de Platform Base nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.platform_base.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para platform_base/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0439 = McpControlContract( + contract_id='platform_base.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Platform Base', + purpose='Provar que artefatos humanos de Platform Base nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.platform_base.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para platform_base/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0440 = McpControlContract( + contract_id='platform_base.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='platform_base', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Platform Base', + purpose='Provar que artefatos humanos de Platform Base nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'platform_baseStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.DERIVED, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.platform_base.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider platform_base via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar platform_base somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para platform_base/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0441 = McpControlContract( + contract_id='public.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='administrador_empresa', + tool_id='mais_humana.public.administrador_empresa.explain', + title='Public Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'administrador_empresaNeed', 'landingState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0442 = McpControlContract( + contract_id='public.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='ceo', + tool_id='mais_humana.public.ceo.explain', + title='Public Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'ceoNeed', 'landingState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0443 = McpControlContract( + contract_id='public.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='gestor_operacional', + tool_id='mais_humana.public.gestor_operacional.explain', + title='Public Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'gestor_operacionalNeed', 'landingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0444 = McpControlContract( + contract_id='public.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='suporte', + tool_id='mais_humana.public.suporte.explain', + title='Public Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'suporteNeed', 'landingState', 'documentationGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0445 = McpControlContract( + contract_id='public.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='atendimento_cliente', + tool_id='mais_humana.public.atendimento_cliente.explain', + title='Public Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'atendimento_clienteNeed', 'landingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0446 = McpControlContract( + contract_id='public.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='financeiro', + tool_id='mais_humana.public.financeiro.explain', + title='Public Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'financeiroNeed', 'landingState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0447 = McpControlContract( + contract_id='public.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='contador', + tool_id='mais_humana.public.contador.explain', + title='Public Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'contadorNeed', 'landingState', 'documentationGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0448 = McpControlContract( + contract_id='public.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='juridico', + tool_id='mais_humana.public.juridico.explain', + title='Public Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'juridicoNeed', 'landingState', 'documentationGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'documentation'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0449 = McpControlContract( + contract_id='public.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='secretaria', + tool_id='mais_humana.public.secretaria.explain', + title='Public Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'secretariaNeed', 'landingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0450 = McpControlContract( + contract_id='public.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='tecnico', + tool_id='mais_humana.public.tecnico.explain', + title='Public Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'tecnicoNeed', 'landingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0451 = McpControlContract( + contract_id='public.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='usuario_final', + tool_id='mais_humana.public.usuario_final.explain', + title='Public Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'usuario_finalNeed', 'landingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0452 = McpControlContract( + contract_id='public.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='cliente_externo', + tool_id='mais_humana.public.cliente_externo.explain', + title='Public Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'cliente_externoNeed', 'landingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0453 = McpControlContract( + contract_id='public.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='public', + profile_id='planejamento_estrategico', + tool_id='mais_humana.public.planejamento_estrategico.explain', + title='Public Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de Public Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'planejamento_estrategicoNeed', 'landingState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para public/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=8, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0454 = McpControlContract( + contract_id='public.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0455 = McpControlContract( + contract_id='public.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'ceoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0456 = McpControlContract( + contract_id='public.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0457 = McpControlContract( + contract_id='public.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'suporteNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0458 = McpControlContract( + contract_id='public.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0459 = McpControlContract( + contract_id='public.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'financeiroNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0460 = McpControlContract( + contract_id='public.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'contadorNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0461 = McpControlContract( + contract_id='public.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'juridicoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0462 = McpControlContract( + contract_id='public.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'secretariaNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0463 = McpControlContract( + contract_id='public.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'tecnicoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0464 = McpControlContract( + contract_id='public.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0465 = McpControlContract( + contract_id='public.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0466 = McpControlContract( + contract_id='public.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='public', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio Public Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.public.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para public/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=8, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0467 = McpControlContract( + contract_id='public.landing.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela landing de Public Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela landing; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'landingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.public.landing.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para landing', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela landing em public', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'landing'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0468 = McpControlContract( + contract_id='public.onboarding.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela onboarding de Public Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela onboarding; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'onboardingState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.public.onboarding.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para onboarding', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela onboarding em public', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'onboarding'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0469 = McpControlContract( + contract_id='public.public-docs.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela public-docs de Public Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela public-docs; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'public-docsState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.public.public-docs.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para public-docs', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela public-docs em public', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'public-docs'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0470 = McpControlContract( + contract_id='public.status.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela status de Public Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela status; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'statusState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.public.status.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para status', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela status em public', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'status'), + maturity_level=8, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0471 = McpControlContract( + contract_id='public.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para Public Platform', + purpose='Garantir que consulta de Public Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'consultaState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.public.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para public', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0472 = McpControlContract( + contract_id='public.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para Public Platform', + purpose='Garantir que diagnostico de Public Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'diagnosticoState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.public.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para public', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0473 = McpControlContract( + contract_id='public.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para Public Platform', + purpose='Garantir que acao de Public Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'acaoState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.public.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para public', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0474 = McpControlContract( + contract_id='public.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para Public Platform', + purpose='Garantir que auditoria de Public Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'auditoriaState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.public.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para public', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0475 = McpControlContract( + contract_id='public.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para Public Platform', + purpose='Garantir que explicacao de Public Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'explicacaoState', 'experienceGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.public.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para public', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=8, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0476 = McpControlContract( + contract_id='public.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para Public Platform', + purpose='Provar que artefatos humanos de Public Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.public.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para public/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0477 = McpControlContract( + contract_id='public.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para Public Platform', + purpose='Provar que artefatos humanos de Public Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.public.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para public/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0478 = McpControlContract( + contract_id='public.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para Public Platform', + purpose='Provar que artefatos humanos de Public Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.public.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para public/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0479 = McpControlContract( + contract_id='public.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='public', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para Public Platform', + purpose='Provar que artefatos humanos de Public Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'publicStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.public.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider public via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar public somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para public/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=8, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0480 = McpControlContract( + contract_id='stj.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='administrador_empresa', + tool_id='mais_humana.stj.administrador_empresa.explain', + title='STJ Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'administrador_empresaNeed', 'process-queryState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0481 = McpControlContract( + contract_id='stj.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='ceo', + tool_id='mais_humana.stj.ceo.explain', + title='STJ Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'ceoNeed', 'process-queryState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0482 = McpControlContract( + contract_id='stj.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='gestor_operacional', + tool_id='mais_humana.stj.gestor_operacional.explain', + title='STJ Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'gestor_operacionalNeed', 'process-queryState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0483 = McpControlContract( + contract_id='stj.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='suporte', + tool_id='mais_humana.stj.suporte.explain', + title='STJ Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'suporteNeed', 'process-queryState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0484 = McpControlContract( + contract_id='stj.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='atendimento_cliente', + tool_id='mais_humana.stj.atendimento_cliente.explain', + title='STJ Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'atendimento_clienteNeed', 'process-queryState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0485 = McpControlContract( + contract_id='stj.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='financeiro', + tool_id='mais_humana.stj.financeiro.explain', + title='STJ Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'financeiroNeed', 'process-queryState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0486 = McpControlContract( + contract_id='stj.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='contador', + tool_id='mais_humana.stj.contador.explain', + title='STJ Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'contadorNeed', 'process-queryState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0487 = McpControlContract( + contract_id='stj.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='juridico', + tool_id='mais_humana.stj.juridico.explain', + title='STJ Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'juridicoNeed', 'process-queryState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0488 = McpControlContract( + contract_id='stj.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='secretaria', + tool_id='mais_humana.stj.secretaria.explain', + title='STJ Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'secretariaNeed', 'process-queryState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0489 = McpControlContract( + contract_id='stj.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='tecnico', + tool_id='mais_humana.stj.tecnico.explain', + title='STJ Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'tecnicoNeed', 'process-queryState', 'operationsGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'operations'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0490 = McpControlContract( + contract_id='stj.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='usuario_final', + tool_id='mais_humana.stj.usuario_final.explain', + title='STJ Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'usuario_finalNeed', 'process-queryState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'legal'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0491 = McpControlContract( + contract_id='stj.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='cliente_externo', + tool_id='mais_humana.stj.cliente_externo.explain', + title='STJ Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'cliente_externoNeed', 'process-queryState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0492 = McpControlContract( + contract_id='stj.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='stj', + profile_id='planejamento_estrategico', + tool_id='mais_humana.stj.planejamento_estrategico.explain', + title='STJ Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de STJ Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'planejamento_estrategicoNeed', 'process-queryState', 'commercialGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para stj/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'commercial'), + maturity_level=6, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0493 = McpControlContract( + contract_id='stj.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0494 = McpControlContract( + contract_id='stj.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'ceoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0495 = McpControlContract( + contract_id='stj.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0496 = McpControlContract( + contract_id='stj.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'suporteNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0497 = McpControlContract( + contract_id='stj.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0498 = McpControlContract( + contract_id='stj.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'financeiroNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0499 = McpControlContract( + contract_id='stj.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'contadorNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0500 = McpControlContract( + contract_id='stj.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'juridicoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0501 = McpControlContract( + contract_id='stj.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'secretariaNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0502 = McpControlContract( + contract_id='stj.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'tecnicoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0503 = McpControlContract( + contract_id='stj.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0504 = McpControlContract( + contract_id='stj.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0505 = McpControlContract( + contract_id='stj.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='stj', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio STJ Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.stj.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para stj/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=6, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0506 = McpControlContract( + contract_id='stj.process-query.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela process-query de STJ Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela process-query; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'process-queryState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.stj.process-query.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para process-query', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela process-query em stj', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'process-query'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0507 = McpControlContract( + contract_id='stj.monitoring.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela monitoring de STJ Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela monitoring; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'monitoringState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.stj.monitoring.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para monitoring', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela monitoring em stj', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'monitoring'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0508 = McpControlContract( + contract_id='stj.public-documents.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela public-documents de STJ Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela public-documents; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'public-documentsState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.stj.public-documents.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para public-documents', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela public-documents em stj', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'public-documents'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0509 = McpControlContract( + contract_id='stj.legal-readiness.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela legal-readiness de STJ Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela legal-readiness; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'legal-readinessState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.stj.legal-readiness.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para legal-readiness', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela legal-readiness em stj', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'legal-readiness'), + maturity_level=6, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0510 = McpControlContract( + contract_id='stj.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para STJ Platform', + purpose='Garantir que consulta de STJ Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'consultaState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.stj.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para stj', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0511 = McpControlContract( + contract_id='stj.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para STJ Platform', + purpose='Garantir que diagnostico de STJ Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'diagnosticoState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.stj.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para stj', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0512 = McpControlContract( + contract_id='stj.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para STJ Platform', + purpose='Garantir que acao de STJ Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'acaoState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.stj.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para stj', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0513 = McpControlContract( + contract_id='stj.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para STJ Platform', + purpose='Garantir que auditoria de STJ Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'auditoriaState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.stj.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para stj', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0514 = McpControlContract( + contract_id='stj.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para STJ Platform', + purpose='Garantir que explicacao de STJ Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'explicacaoState', 'legalGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.stj.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para stj', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=6, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0515 = McpControlContract( + contract_id='stj.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para STJ Platform', + purpose='Provar que artefatos humanos de STJ Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.stj.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para stj/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0516 = McpControlContract( + contract_id='stj.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para STJ Platform', + purpose='Provar que artefatos humanos de STJ Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.stj.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para stj/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0517 = McpControlContract( + contract_id='stj.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para STJ Platform', + purpose='Provar que artefatos humanos de STJ Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.stj.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para stj/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0518 = McpControlContract( + contract_id='stj.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='stj', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para STJ Platform', + purpose='Provar que artefatos humanos de STJ Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'stjStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.RESPONSE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.stj.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider stj via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar stj somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para stj/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=6, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0519 = McpControlContract( + contract_id='ui.administrador_empresa.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='administrador_empresa', + tool_id='mais_humana.ui.administrador_empresa.explain', + title='UI Platform explicado para Administrador da empresa', + purpose='Permitir que Administrador da empresa receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'administrador_empresaNeed', 'design-systemState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.administrador_empresa.operacional', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/administrador_empresa', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0520 = McpControlContract( + contract_id='ui.ceo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='ceo', + tool_id='mais_humana.ui.ceo.explain', + title='UI Platform explicado para CEO', + purpose='Permitir que CEO receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'ceoNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.ceo.operacional', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/ceo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0521 = McpControlContract( + contract_id='ui.gestor_operacional.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='gestor_operacional', + tool_id='mais_humana.ui.gestor_operacional.explain', + title='UI Platform explicado para Gestor operacional', + purpose='Permitir que Gestor operacional receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'gestor_operacionalNeed', 'design-systemState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.gestor_operacional.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/gestor_operacional', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0522 = McpControlContract( + contract_id='ui.suporte.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='suporte', + tool_id='mais_humana.ui.suporte.explain', + title='UI Platform explicado para Equipe de suporte', + purpose='Permitir que Equipe de suporte receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'suporteNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.suporte.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/suporte', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0523 = McpControlContract( + contract_id='ui.atendimento_cliente.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='atendimento_cliente', + tool_id='mais_humana.ui.atendimento_cliente.explain', + title='UI Platform explicado para Atendimento ao cliente', + purpose='Permitir que Atendimento ao cliente receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'atendimento_clienteNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.atendimento_cliente.operacional', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/atendimento_cliente', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0524 = McpControlContract( + contract_id='ui.financeiro.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='financeiro', + tool_id='mais_humana.ui.financeiro.explain', + title='UI Platform explicado para Financeiro', + purpose='Permitir que Financeiro receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'financeiroNeed', 'design-systemState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.financeiro.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/financeiro', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0525 = McpControlContract( + contract_id='ui.contador.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='contador', + tool_id='mais_humana.ui.contador.explain', + title='UI Platform explicado para Contador', + purpose='Permitir que Contador receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'contadorNeed', 'design-systemState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.contador.operacional', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/contador', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0526 = McpControlContract( + contract_id='ui.juridico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='juridico', + tool_id='mais_humana.ui.juridico.explain', + title='UI Platform explicado para Juridico', + purpose='Permitir que Juridico receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'juridicoNeed', 'design-systemState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.juridico.operacional', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/juridico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0527 = McpControlContract( + contract_id='ui.secretaria.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='secretaria', + tool_id='mais_humana.ui.secretaria.explain', + title='UI Platform explicado para Secretaria', + purpose='Permitir que Secretaria receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'secretariaNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.secretaria.operacional', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/secretaria', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0528 = McpControlContract( + contract_id='ui.tecnico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='tecnico', + tool_id='mais_humana.ui.tecnico.explain', + title='UI Platform explicado para Tecnico', + purpose='Permitir que Tecnico receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'tecnicoNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.tecnico.operacional', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/tecnico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0529 = McpControlContract( + contract_id='ui.usuario_final.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='usuario_final', + tool_id='mais_humana.ui.usuario_final.explain', + title='UI Platform explicado para Usuario final', + purpose='Permitir que Usuario final receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'usuario_finalNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.usuario_final.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/usuario_final', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0530 = McpControlContract( + contract_id='ui.cliente_externo.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='cliente_externo', + tool_id='mais_humana.ui.cliente_externo.explain', + title='UI Platform explicado para Cliente externo', + purpose='Permitir que Cliente externo receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'cliente_externoNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.cliente_externo.operacional', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/cliente_externo', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'experience'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0531 = McpControlContract( + contract_id='ui.planejamento_estrategico.provider-tool', + kind=McpContractKind.PROVIDER_TOOL, + platform_id='ui', + profile_id='planejamento_estrategico', + tool_id='mais_humana.ui.planejamento_estrategico.explain', + title='UI Platform explicado para Planejamento estrategico', + purpose='Permitir que Planejamento estrategico receba leitura humana de UI Platform por provider MCP minimo da Mais Humana.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.rulebook.compact', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'planejamento_estrategicoNeed', 'design-systemState', 'governanceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.planejamento_estrategico.operacional', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato provider_tool'), + pending_if_missing='publicar e validar tool MCP para ui/planejamento_estrategico', + order_ids=('0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana', '0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo'), + policy_tags=('mcp_provider', 'same_source', 'human_explanation', 'governance'), + maturity_level=9, + generated_from='platform_profile_provider_contract', +) + +CONTRACT_0532 = McpControlContract( + contract_id='ui.administrador_empresa.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='administrador_empresa', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Administrador da empresa', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Administrador da empresa.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'administrador_empresaNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.administrador_empresa.oficial', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para administrador_empresa', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/administrador_empresa', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'administrator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0533 = McpControlContract( + contract_id='ui.ceo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='ceo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para CEO', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para CEO.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'ceoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.ceo.oficial', + audience=AudienceClass.EXECUTIVE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para ceo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/ceo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'executive'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0534 = McpControlContract( + contract_id='ui.gestor_operacional.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='gestor_operacional', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Gestor operacional', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Gestor operacional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'gestor_operacionalNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.gestor_operacional.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para gestor_operacional', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/gestor_operacional', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0535 = McpControlContract( + contract_id='ui.suporte.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='suporte', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Equipe de suporte', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Equipe de suporte.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'suporteNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.suporte.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para suporte', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/suporte', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0536 = McpControlContract( + contract_id='ui.atendimento_cliente.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='atendimento_cliente', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Atendimento ao cliente', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Atendimento ao cliente.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'atendimento_clienteNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.atendimento_cliente.oficial', + audience=AudienceClass.SUPPORT, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para atendimento_cliente', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/atendimento_cliente', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'support'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0537 = McpControlContract( + contract_id='ui.financeiro.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='financeiro', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Financeiro', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Financeiro.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'financeiroNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.financeiro.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para financeiro', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/financeiro', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0538 = McpControlContract( + contract_id='ui.contador.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='contador', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Contador', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Contador.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'contadorNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.contador.oficial', + audience=AudienceClass.FINANCE, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para contador', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/contador', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'finance'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0539 = McpControlContract( + contract_id='ui.juridico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='juridico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Juridico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Juridico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'juridicoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.juridico.oficial', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para juridico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/juridico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'legal'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0540 = McpControlContract( + contract_id='ui.secretaria.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='secretaria', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Secretaria', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Secretaria.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'secretariaNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.secretaria.oficial', + audience=AudienceClass.OPERATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para secretaria', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/secretaria', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'operator'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0541 = McpControlContract( + contract_id='ui.tecnico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='tecnico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Tecnico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Tecnico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'tecnicoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.tecnico.oficial', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para tecnico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/tecnico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'technical'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0542 = McpControlContract( + contract_id='ui.usuario_final.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='usuario_final', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Usuario final', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Usuario final.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'usuario_finalNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.usuario_final.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para usuario_final', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/usuario_final', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0543 = McpControlContract( + contract_id='ui.cliente_externo.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='cliente_externo', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Cliente externo', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Cliente externo.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'cliente_externoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.cliente_externo.oficial', + audience=AudienceClass.CUSTOMER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para cliente_externo', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/cliente_externo', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'customer'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0544 = McpControlContract( + contract_id='ui.planejamento_estrategico.report-model', + kind=McpContractKind.REPORT_MODEL, + platform_id='ui', + profile_id='planejamento_estrategico', + tool_id='mais_humana.relatorios.modelos_oficiais', + title='Modelo oficial de relatorio UI Platform para Planejamento estrategico', + purpose='Definir modelo oficial que separa artefato de apoio de relatorio oficial para Planejamento estrategico.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.relatorios.modelos_oficiais', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'planejamento_estrategicoNeed', 'relatorio-oficialState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='report.ui.planejamento_estrategico.oficial', + audience=AudienceClass.USER, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para planejamento_estrategico', 'comparar payload GPT e UI para relatorio-oficial', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato report_model'), + pending_if_missing='homologar modelo oficial de relatorio para ui/planejamento_estrategico', + order_ids=('0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano',), + policy_tags=('report_model', 'official_report', 'audience', 'user'), + maturity_level=9, + generated_from='platform_profile_report_model_contract', +) + +CONTRACT_0545 = McpControlContract( + contract_id='ui.design-system.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela design-system de UI Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela design-system; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'design-systemState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.ui.design-system.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para design-system', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela design-system em ui', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'design-system'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0546 = McpControlContract( + contract_id='ui.screen-contract.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela screen-contract de UI Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela screen-contract; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'screen-contractState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.ui.screen-contract.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para screen-contract', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela screen-contract em ui', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'screen-contract'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0547 = McpControlContract( + contract_id='ui.pwa.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela PWA de UI Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela PWA; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'pwaState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.ui.pwa.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para pwa', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela PWA em ui', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'pwa'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0548 = McpControlContract( + contract_id='ui.panelready.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela panelReady de UI Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela panelReady; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'panelreadyState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.ui.panelready.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para panelready', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela panelReady em ui', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'panelready'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0549 = McpControlContract( + contract_id='ui.samesource.ui-screen', + kind=McpContractKind.UI_SCREEN, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.admin_ui.same_source', + title='Tela sameSource de UI Platform renderizada pela UI', + purpose='Impedir fonte paralela na tela sameSource; GPT e painel devem usar o mesmo contrato MCP.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.admin_ui.same_source', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'samesourceState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='screen.ui.samesource.same-source', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para samesource', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato ui_screen'), + pending_if_missing='validar same-source da tela sameSource em ui', + order_ids=('0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook', '0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela'), + policy_tags=('ui_renderer', 'screen', 'same_source', 'samesource'), + maturity_level=9, + generated_from='platform_surface_ui_contract', +) + +CONTRACT_0550 = McpControlContract( + contract_id='ui.consulta.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.transito.consulta', + title='Politica de transito consulta para UI Platform', + purpose='Garantir que consulta de UI Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.consulta', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'consultaState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.ui.consulta.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para consulta', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de consulta para ui', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'consulta', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0551 = McpControlContract( + contract_id='ui.diagnostico.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.transito.diagnostico', + title='Politica de transito diagnostico para UI Platform', + purpose='Garantir que diagnostico de UI Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.diagnostico', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'diagnosticoState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.ui.diagnostico.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para diagnostico', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de diagnostico para ui', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'diagnostico', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0552 = McpControlContract( + contract_id='ui.acao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.transito.acao', + title='Politica de transito acao para UI Platform', + purpose='Garantir que acao de UI Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.acao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'acaoState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.ui.acao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para acao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de acao para ui', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'acao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0553 = McpControlContract( + contract_id='ui.auditoria.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.transito.auditoria', + title='Politica de transito auditoria para UI Platform', + purpose='Garantir que auditoria de UI Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.auditoria', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'auditoriaState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.ui.auditoria.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para auditoria', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de auditoria para ui', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'auditoria', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0554 = McpControlContract( + contract_id='ui.explicacao.transit-policy', + kind=McpContractKind.TRANSIT_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.transito.explicacao', + title='Politica de transito explicacao para UI Platform', + purpose='Garantir que explicacao de UI Platform registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.transito.explicacao', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'explicacaoState', 'experienceGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.ui.explicacao.mcp-transit', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para explicacao', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato transit_policy'), + pending_if_missing='validar politica MCP de explicacao para ui', + order_ids=('0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo',), + policy_tags=('mcp_transit', 'explicacao', 'audit', 'trace'), + maturity_level=9, + generated_from='platform_transit_policy_contract', +) + +CONTRACT_0555 = McpControlContract( + contract_id='ui.credentialref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction credentialRef para UI Platform', + purpose='Provar que artefatos humanos de UI Platform nao propagam valor sensivel bruto de credentialRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'credentialrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.ui.credentialref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP', 'validar credentialRef como referencia opaca'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para credentialref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para ui/credentialRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'credentialref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0556 = McpControlContract( + contract_id='ui.tokenref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction tokenRef para UI Platform', + purpose='Provar que artefatos humanos de UI Platform nao propagam valor sensivel bruto de tokenRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'tokenrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.ui.tokenref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP', 'validar tokenRef como referencia opaca'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para tokenref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para ui/tokenRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'tokenref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0557 = McpControlContract( + contract_id='ui.secretref.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction secretRef para UI Platform', + purpose='Provar que artefatos humanos de UI Platform nao propagam valor sensivel bruto de secretRef.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'secretrefState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.ui.secretref', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP', 'validar secretRef como referencia opaca'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para secretref', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para ui/secretRef', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'secretref'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0558 = McpControlContract( + contract_id='ui.cfat.redaction-policy', + kind=McpContractKind.REDACTION_POLICY, + platform_id='ui', + profile_id='todos', + tool_id='mais_humana.redaction.guard', + title='Redaction cfat para UI Platform', + purpose='Provar que artefatos humanos de UI Platform nao propagam valor sensivel bruto de cfat.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.redaction.guard', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'uiStatus', 'todosNeed', 'cfatState', 'securityGate'), + truth_state=TruthState.SAME_SOURCE_READY, + panel_ready=True, + gpt_explainable=True, + report_model_id='redaction.ui.cfat', + audience=AudienceClass.TECHNICAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider ui via MCP', 'validar cfat como referencia opaca'), + validation_steps=('chamar ui somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para cfat', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato redaction_policy'), + pending_if_missing='executar varredura redaction para ui/cfat', + order_ids=('0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos',), + policy_tags=('redaction', 'secret_policy', 'cfat'), + maturity_level=9, + generated_from='platform_redaction_policy_contract', +) + +CONTRACT_0559 = McpControlContract( + contract_id='docs.formal-exception.docs-catalogonly', + kind=McpContractKind.DOCS_EXCEPTION, + platform_id='docs', + profile_id='todos', + tool_id='mais_humana.docs.formal_exception', + title='Excecao formal Docs catalogOnly', + purpose='Formalizar que Docs pode permanecer catalogOnly quando a decisao institucional assim declarar.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.docs.formal_exception', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'docsStatus', 'todosNeed', 'docs-catalogonlyState', 'documentationGate'), + truth_state=TruthState.FORMAL_EXCEPTION, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.docs.catalogonly.formal-exception', + audience=AudienceClass.LEGAL, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider docs via MCP'), + validation_steps=('chamar docs somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para docs-catalogonly', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato docs_exception'), + pending_if_missing='registrar decisao institucional para docs.formal-exception.docs-catalogonly', + order_ids=('0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo',), + policy_tags=('docs_exception', 'catalogonly', 'governance'), + maturity_level=7, + generated_from='special_governance_contract', +) + +CONTRACT_0560 = McpControlContract( + contract_id='mais-humana.canonical-rename.plataform', + kind=McpContractKind.CANONICAL_RENAME, + platform_id='mais_humana', + profile_id='todos', + tool_id='mais_humana.canonical.rename', + title='Renome canonico para tudo-para-ia-mais-humana-plataform', + purpose='Registrar o plano de renome sem executar migracao local/remota sem autorizacao institucional.', + source_endpoint=MCP_EXECUTE_ENDPOINT, + source_tool_id='mais_humana.canonical.rename', + required_transit_fields=MCP_TRANSIT_FIELDS, + required_payload_fields=('origin', 'destination', 'tool', 'payload', 'actor', 'permission', 'result', 'traceId', 'auditId', 'timestamp', 'projectId', 'platformId', 'profileId', 'surfaceId', 'category', 'sourceEndpoint', 'sourceToolId', 'sourcePayloadHash', 'sourceRecordsHash', 'truthState', 'panelReady', 'gptExplainable', 'humanNextAction', 'mais_humanaStatus', 'todosNeed', 'canonical-renameState', 'governanceGate'), + truth_state=TruthState.DOCUMENTED, + panel_ready=True, + gpt_explainable=True, + report_model_id='policy.mais_humana.rename.plataform', + audience=AudienceClass.ADMINISTRATOR, + redaction_requirements=('bloquear valores cfat_ brutos em qualquer artefato humano', 'permitir apenas credentialRef, tokenRef ou secretRef opacos', 'mascarar Authorization Bearer antes de persistir evidencia', 'registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto', 'vincular redaction ao provider mais_humana via MCP'), + validation_steps=('chamar mais_humana somente via tudo-para-ia-mcps-internos-plataform', 'validar envelope MCP completo para todos', 'comparar payload GPT e UI para canonical-rename', 'confirmar sourcePayloadHash e sourceRecordsHash', 'confirmar que o resultado nao contem segredo bruto', 'registrar evidencia do contrato canonical_rename'), + pending_if_missing='registrar decisao institucional para mais-humana.canonical-rename.plataform', + order_ids=('0027_GERENCIAL__nome-canonico-mcps-conect', '0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform'), + policy_tags=('canonical_identity', 'rename', 'external_decision'), + maturity_level=6, + generated_from='special_governance_contract', +) + +CONTRACTS = ( + CONTRACT_0001, + CONTRACT_0002, + CONTRACT_0003, + CONTRACT_0004, + CONTRACT_0005, + CONTRACT_0006, + CONTRACT_0007, + CONTRACT_0008, + CONTRACT_0009, + CONTRACT_0010, + CONTRACT_0011, + CONTRACT_0012, + CONTRACT_0013, + CONTRACT_0014, + CONTRACT_0015, + CONTRACT_0016, + CONTRACT_0017, + CONTRACT_0018, + CONTRACT_0019, + CONTRACT_0020, + CONTRACT_0021, + CONTRACT_0022, + CONTRACT_0023, + CONTRACT_0024, + CONTRACT_0025, + CONTRACT_0026, + CONTRACT_0027, + CONTRACT_0028, + CONTRACT_0029, + CONTRACT_0030, + CONTRACT_0031, + CONTRACT_0032, + CONTRACT_0033, + CONTRACT_0034, + CONTRACT_0035, + CONTRACT_0036, + CONTRACT_0037, + CONTRACT_0038, + CONTRACT_0039, + CONTRACT_0040, + CONTRACT_0041, + CONTRACT_0042, + CONTRACT_0043, + CONTRACT_0044, + CONTRACT_0045, + CONTRACT_0046, + CONTRACT_0047, + CONTRACT_0048, + CONTRACT_0049, + CONTRACT_0050, + CONTRACT_0051, + CONTRACT_0052, + CONTRACT_0053, + CONTRACT_0054, + CONTRACT_0055, + CONTRACT_0056, + CONTRACT_0057, + CONTRACT_0058, + CONTRACT_0059, + CONTRACT_0060, + CONTRACT_0061, + CONTRACT_0062, + CONTRACT_0063, + CONTRACT_0064, + CONTRACT_0065, + CONTRACT_0066, + CONTRACT_0067, + CONTRACT_0068, + CONTRACT_0069, + CONTRACT_0070, + CONTRACT_0071, + CONTRACT_0072, + CONTRACT_0073, + CONTRACT_0074, + CONTRACT_0075, + CONTRACT_0076, + CONTRACT_0077, + CONTRACT_0078, + CONTRACT_0079, + CONTRACT_0080, + CONTRACT_0081, + CONTRACT_0082, + CONTRACT_0083, + CONTRACT_0084, + CONTRACT_0085, + CONTRACT_0086, + CONTRACT_0087, + CONTRACT_0088, + CONTRACT_0089, + CONTRACT_0090, + CONTRACT_0091, + CONTRACT_0092, + CONTRACT_0093, + CONTRACT_0094, + CONTRACT_0095, + CONTRACT_0096, + CONTRACT_0097, + CONTRACT_0098, + CONTRACT_0099, + CONTRACT_0100, + CONTRACT_0101, + CONTRACT_0102, + CONTRACT_0103, + CONTRACT_0104, + CONTRACT_0105, + CONTRACT_0106, + CONTRACT_0107, + CONTRACT_0108, + CONTRACT_0109, + CONTRACT_0110, + CONTRACT_0111, + CONTRACT_0112, + CONTRACT_0113, + CONTRACT_0114, + CONTRACT_0115, + CONTRACT_0116, + CONTRACT_0117, + CONTRACT_0118, + CONTRACT_0119, + CONTRACT_0120, + CONTRACT_0121, + CONTRACT_0122, + CONTRACT_0123, + CONTRACT_0124, + CONTRACT_0125, + CONTRACT_0126, + CONTRACT_0127, + CONTRACT_0128, + CONTRACT_0129, + CONTRACT_0130, + CONTRACT_0131, + CONTRACT_0132, + CONTRACT_0133, + CONTRACT_0134, + CONTRACT_0135, + CONTRACT_0136, + CONTRACT_0137, + CONTRACT_0138, + CONTRACT_0139, + CONTRACT_0140, + CONTRACT_0141, + CONTRACT_0142, + CONTRACT_0143, + CONTRACT_0144, + CONTRACT_0145, + CONTRACT_0146, + CONTRACT_0147, + CONTRACT_0148, + CONTRACT_0149, + CONTRACT_0150, + CONTRACT_0151, + CONTRACT_0152, + CONTRACT_0153, + CONTRACT_0154, + CONTRACT_0155, + CONTRACT_0156, + CONTRACT_0157, + CONTRACT_0158, + CONTRACT_0159, + CONTRACT_0160, + CONTRACT_0161, + CONTRACT_0162, + CONTRACT_0163, + CONTRACT_0164, + CONTRACT_0165, + CONTRACT_0166, + CONTRACT_0167, + CONTRACT_0168, + CONTRACT_0169, + CONTRACT_0170, + CONTRACT_0171, + CONTRACT_0172, + CONTRACT_0173, + CONTRACT_0174, + CONTRACT_0175, + CONTRACT_0176, + CONTRACT_0177, + CONTRACT_0178, + CONTRACT_0179, + CONTRACT_0180, + CONTRACT_0181, + CONTRACT_0182, + CONTRACT_0183, + CONTRACT_0184, + CONTRACT_0185, + CONTRACT_0186, + CONTRACT_0187, + CONTRACT_0188, + CONTRACT_0189, + CONTRACT_0190, + CONTRACT_0191, + CONTRACT_0192, + CONTRACT_0193, + CONTRACT_0194, + CONTRACT_0195, + CONTRACT_0196, + CONTRACT_0197, + CONTRACT_0198, + CONTRACT_0199, + CONTRACT_0200, + CONTRACT_0201, + CONTRACT_0202, + CONTRACT_0203, + CONTRACT_0204, + CONTRACT_0205, + CONTRACT_0206, + CONTRACT_0207, + CONTRACT_0208, + CONTRACT_0209, + CONTRACT_0210, + CONTRACT_0211, + CONTRACT_0212, + CONTRACT_0213, + CONTRACT_0214, + CONTRACT_0215, + CONTRACT_0216, + CONTRACT_0217, + CONTRACT_0218, + CONTRACT_0219, + CONTRACT_0220, + CONTRACT_0221, + CONTRACT_0222, + CONTRACT_0223, + CONTRACT_0224, + CONTRACT_0225, + CONTRACT_0226, + CONTRACT_0227, + CONTRACT_0228, + CONTRACT_0229, + CONTRACT_0230, + CONTRACT_0231, + CONTRACT_0232, + CONTRACT_0233, + CONTRACT_0234, + CONTRACT_0235, + CONTRACT_0236, + CONTRACT_0237, + CONTRACT_0238, + CONTRACT_0239, + CONTRACT_0240, + CONTRACT_0241, + CONTRACT_0242, + CONTRACT_0243, + CONTRACT_0244, + CONTRACT_0245, + CONTRACT_0246, + CONTRACT_0247, + CONTRACT_0248, + CONTRACT_0249, + CONTRACT_0250, + CONTRACT_0251, + CONTRACT_0252, + CONTRACT_0253, + CONTRACT_0254, + CONTRACT_0255, + CONTRACT_0256, + CONTRACT_0257, + CONTRACT_0258, + CONTRACT_0259, + CONTRACT_0260, + CONTRACT_0261, + CONTRACT_0262, + CONTRACT_0263, + CONTRACT_0264, + CONTRACT_0265, + CONTRACT_0266, + CONTRACT_0267, + CONTRACT_0268, + CONTRACT_0269, + CONTRACT_0270, + CONTRACT_0271, + CONTRACT_0272, + CONTRACT_0273, + CONTRACT_0274, + CONTRACT_0275, + CONTRACT_0276, + CONTRACT_0277, + CONTRACT_0278, + CONTRACT_0279, + CONTRACT_0280, + CONTRACT_0281, + CONTRACT_0282, + CONTRACT_0283, + CONTRACT_0284, + CONTRACT_0285, + CONTRACT_0286, + CONTRACT_0287, + CONTRACT_0288, + CONTRACT_0289, + CONTRACT_0290, + CONTRACT_0291, + CONTRACT_0292, + CONTRACT_0293, + CONTRACT_0294, + CONTRACT_0295, + CONTRACT_0296, + CONTRACT_0297, + CONTRACT_0298, + CONTRACT_0299, + CONTRACT_0300, + CONTRACT_0301, + CONTRACT_0302, + CONTRACT_0303, + CONTRACT_0304, + CONTRACT_0305, + CONTRACT_0306, + CONTRACT_0307, + CONTRACT_0308, + CONTRACT_0309, + CONTRACT_0310, + CONTRACT_0311, + CONTRACT_0312, + CONTRACT_0313, + CONTRACT_0314, + CONTRACT_0315, + CONTRACT_0316, + CONTRACT_0317, + CONTRACT_0318, + CONTRACT_0319, + CONTRACT_0320, + CONTRACT_0321, + CONTRACT_0322, + CONTRACT_0323, + CONTRACT_0324, + CONTRACT_0325, + CONTRACT_0326, + CONTRACT_0327, + CONTRACT_0328, + CONTRACT_0329, + CONTRACT_0330, + CONTRACT_0331, + CONTRACT_0332, + CONTRACT_0333, + CONTRACT_0334, + CONTRACT_0335, + CONTRACT_0336, + CONTRACT_0337, + CONTRACT_0338, + CONTRACT_0339, + CONTRACT_0340, + CONTRACT_0341, + CONTRACT_0342, + CONTRACT_0343, + CONTRACT_0344, + CONTRACT_0345, + CONTRACT_0346, + CONTRACT_0347, + CONTRACT_0348, + CONTRACT_0349, + CONTRACT_0350, + CONTRACT_0351, + CONTRACT_0352, + CONTRACT_0353, + CONTRACT_0354, + CONTRACT_0355, + CONTRACT_0356, + CONTRACT_0357, + CONTRACT_0358, + CONTRACT_0359, + CONTRACT_0360, + CONTRACT_0361, + CONTRACT_0362, + CONTRACT_0363, + CONTRACT_0364, + CONTRACT_0365, + CONTRACT_0366, + CONTRACT_0367, + CONTRACT_0368, + CONTRACT_0369, + CONTRACT_0370, + CONTRACT_0371, + CONTRACT_0372, + CONTRACT_0373, + CONTRACT_0374, + CONTRACT_0375, + CONTRACT_0376, + CONTRACT_0377, + CONTRACT_0378, + CONTRACT_0379, + CONTRACT_0380, + CONTRACT_0381, + CONTRACT_0382, + CONTRACT_0383, + CONTRACT_0384, + CONTRACT_0385, + CONTRACT_0386, + CONTRACT_0387, + CONTRACT_0388, + CONTRACT_0389, + CONTRACT_0390, + CONTRACT_0391, + CONTRACT_0392, + CONTRACT_0393, + CONTRACT_0394, + CONTRACT_0395, + CONTRACT_0396, + CONTRACT_0397, + CONTRACT_0398, + CONTRACT_0399, + CONTRACT_0400, + CONTRACT_0401, + CONTRACT_0402, + CONTRACT_0403, + CONTRACT_0404, + CONTRACT_0405, + CONTRACT_0406, + CONTRACT_0407, + CONTRACT_0408, + CONTRACT_0409, + CONTRACT_0410, + CONTRACT_0411, + CONTRACT_0412, + CONTRACT_0413, + CONTRACT_0414, + CONTRACT_0415, + CONTRACT_0416, + CONTRACT_0417, + CONTRACT_0418, + CONTRACT_0419, + CONTRACT_0420, + CONTRACT_0421, + CONTRACT_0422, + CONTRACT_0423, + CONTRACT_0424, + CONTRACT_0425, + CONTRACT_0426, + CONTRACT_0427, + CONTRACT_0428, + CONTRACT_0429, + CONTRACT_0430, + CONTRACT_0431, + CONTRACT_0432, + CONTRACT_0433, + CONTRACT_0434, + CONTRACT_0435, + CONTRACT_0436, + CONTRACT_0437, + CONTRACT_0438, + CONTRACT_0439, + CONTRACT_0440, + CONTRACT_0441, + CONTRACT_0442, + CONTRACT_0443, + CONTRACT_0444, + CONTRACT_0445, + CONTRACT_0446, + CONTRACT_0447, + CONTRACT_0448, + CONTRACT_0449, + CONTRACT_0450, + CONTRACT_0451, + CONTRACT_0452, + CONTRACT_0453, + CONTRACT_0454, + CONTRACT_0455, + CONTRACT_0456, + CONTRACT_0457, + CONTRACT_0458, + CONTRACT_0459, + CONTRACT_0460, + CONTRACT_0461, + CONTRACT_0462, + CONTRACT_0463, + CONTRACT_0464, + CONTRACT_0465, + CONTRACT_0466, + CONTRACT_0467, + CONTRACT_0468, + CONTRACT_0469, + CONTRACT_0470, + CONTRACT_0471, + CONTRACT_0472, + CONTRACT_0473, + CONTRACT_0474, + CONTRACT_0475, + CONTRACT_0476, + CONTRACT_0477, + CONTRACT_0478, + CONTRACT_0479, + CONTRACT_0480, + CONTRACT_0481, + CONTRACT_0482, + CONTRACT_0483, + CONTRACT_0484, + CONTRACT_0485, + CONTRACT_0486, + CONTRACT_0487, + CONTRACT_0488, + CONTRACT_0489, + CONTRACT_0490, + CONTRACT_0491, + CONTRACT_0492, + CONTRACT_0493, + CONTRACT_0494, + CONTRACT_0495, + CONTRACT_0496, + CONTRACT_0497, + CONTRACT_0498, + CONTRACT_0499, + CONTRACT_0500, + CONTRACT_0501, + CONTRACT_0502, + CONTRACT_0503, + CONTRACT_0504, + CONTRACT_0505, + CONTRACT_0506, + CONTRACT_0507, + CONTRACT_0508, + CONTRACT_0509, + CONTRACT_0510, + CONTRACT_0511, + CONTRACT_0512, + CONTRACT_0513, + CONTRACT_0514, + CONTRACT_0515, + CONTRACT_0516, + CONTRACT_0517, + CONTRACT_0518, + CONTRACT_0519, + CONTRACT_0520, + CONTRACT_0521, + CONTRACT_0522, + CONTRACT_0523, + CONTRACT_0524, + CONTRACT_0525, + CONTRACT_0526, + CONTRACT_0527, + CONTRACT_0528, + CONTRACT_0529, + CONTRACT_0530, + CONTRACT_0531, + CONTRACT_0532, + CONTRACT_0533, + CONTRACT_0534, + CONTRACT_0535, + CONTRACT_0536, + CONTRACT_0537, + CONTRACT_0538, + CONTRACT_0539, + CONTRACT_0540, + CONTRACT_0541, + CONTRACT_0542, + CONTRACT_0543, + CONTRACT_0544, + CONTRACT_0545, + CONTRACT_0546, + CONTRACT_0547, + CONTRACT_0548, + CONTRACT_0549, + CONTRACT_0550, + CONTRACT_0551, + CONTRACT_0552, + CONTRACT_0553, + CONTRACT_0554, + CONTRACT_0555, + CONTRACT_0556, + CONTRACT_0557, + CONTRACT_0558, + CONTRACT_0559, + CONTRACT_0560, +) + +__all__ = [ + 'CONTRACTS', +] diff --git a/src/mais_humana/governance_storage.py b/src/mais_humana/governance_storage.py index 14fb11c..8db2b3a 100644 --- a/src/mais_humana/governance_storage.py +++ b/src/mais_humana/governance_storage.py @@ -9,6 +9,7 @@ from typing import Iterable from .governance_models import EcosystemGovernancePortfolio, PlatformGovernanceCard, GovernanceCheckResult from .human_readiness_registry import ReadinessRegistry, ReadinessRegistryEntry +from .mcp_contract import McpContractCoverage, McpContractReport from .models import as_plain_data, utc_now from .round_assurance import AssuranceSuite, AssuranceCase from .runtime_budget import RoundLineBudget, RepositoryLineBudget @@ -116,6 +117,25 @@ CREATE TABLE IF NOT EXISTS line_budgets ( payload_json TEXT NOT NULL, updated_at TEXT NOT NULL ); + +CREATE TABLE IF NOT EXISTS mcp_contracts ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + contract_id TEXT UNIQUE NOT NULL, + kind TEXT NOT NULL, + platform_id TEXT NOT NULL, + profile_id TEXT NOT NULL, + tool_id TEXT NOT NULL, + status TEXT NOT NULL, + truth_state TEXT NOT NULL, + score INTEGER NOT NULL, + same_source INTEGER NOT NULL, + source_payload_hash TEXT NOT NULL, + source_records_hash TEXT NOT NULL, + blocker_count INTEGER NOT NULL, + next_action TEXT NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL +); """ @@ -335,6 +355,50 @@ def upsert_line_budget(conn: sqlite3.Connection, repo: RepositoryLineBudget, now ) +def upsert_mcp_contract(conn: sqlite3.Connection, coverage: McpContractCoverage, now: str) -> None: + conn.execute( + """ + INSERT INTO mcp_contracts ( + contract_id, kind, platform_id, profile_id, tool_id, status, truth_state, + score, same_source, source_payload_hash, source_records_hash, blocker_count, + next_action, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(contract_id) DO UPDATE SET + kind=excluded.kind, + platform_id=excluded.platform_id, + profile_id=excluded.profile_id, + tool_id=excluded.tool_id, + status=excluded.status, + truth_state=excluded.truth_state, + score=excluded.score, + same_source=excluded.same_source, + source_payload_hash=excluded.source_payload_hash, + source_records_hash=excluded.source_records_hash, + blocker_count=excluded.blocker_count, + next_action=excluded.next_action, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + coverage.contract_id, + coverage.kind.value, + coverage.platform_id, + coverage.profile_id, + coverage.tool_id, + coverage.status.value, + coverage.truth_state.value, + coverage.score, + 1 if coverage.same_source else 0, + coverage.source_payload_hash, + coverage.source_records_hash, + len(coverage.blockers), + coverage.next_action, + payload(coverage), + now, + ), + ) + + def write_governance_semantic_state( sqlite_path: Path, portfolio: EcosystemGovernancePortfolio, @@ -344,6 +408,7 @@ def write_governance_semantic_state( assurance: AssuranceSuite | None = None, lifecycle: RoundExecutionPackage | None = None, budget: RoundLineBudget | None = None, + mcp_contract_report: McpContractReport | None = None, ) -> None: sqlite_path.parent.mkdir(parents=True, exist_ok=True) now = utc_now() @@ -368,6 +433,9 @@ def write_governance_semantic_state( if budget is not None: for repo in budget.repositories: upsert_line_budget(conn, repo, now) + if mcp_contract_report is not None: + for coverage in mcp_contract_report.coverage: + upsert_mcp_contract(conn, coverage, now) conn.commit() @@ -381,6 +449,7 @@ def governance_table_counts(sqlite_path: Path) -> dict[str, int]: "assurance_cases", "lifecycle_decisions", "line_budgets", + "mcp_contracts", ) if not sqlite_path.exists(): return {table: 0 for table in tables} diff --git a/src/mais_humana/mcp_contract.py b/src/mais_humana/mcp_contract.py new file mode 100644 index 0000000..9eb1864 --- /dev/null +++ b/src/mais_humana/mcp_contract.py @@ -0,0 +1,793 @@ +"""MCP provider contract for the Mais Humana platform. + +The rulebook explains what humans need. This module turns that explanation +into a provider-shaped contract that the MCP control plane can discover, audit, +and compare with a future UI renderer without reading repository files +directly. The runtime is intentionally dependency-free and deterministic so +the same payload can be used by GPT, the MCP gateway, central reports, SQLite, +and tests. +""" + +from __future__ import annotations + +import csv +import hashlib +import io +import json +from dataclasses import dataclass, field +from enum import Enum +from pathlib import Path +from typing import Any, Iterable, Mapping, Sequence + +from .human_rulebook import ( + CANONICAL_PROJECT_ID, + CURRENT_PROJECT_ID, + MCP_CONTROL_PLANE_ID, + MCP_TRANSIT_FIELDS, + UI_SUPPORT_PLATFORM_ID, + RulebookReport, + TruthState, +) +from .models import as_plain_data, merge_unique, slugify, utc_now + + +PROVIDER_ID = "mais_humana" +PROVIDER_NAME = "Tudo Para IA Mais Humana" +PROVIDER_TOOL_ID = "mais_humana.rulebook.compact" +PROVIDER_REPORT_TOOL_ID = "mais_humana.relatorios.modelos_oficiais" +PROVIDER_UI_TOOL_ID = "mais_humana.admin_ui.same_source" +MCP_EXECUTE_ENDPOINT = "https://mcps-gateway.ami-app.workers.dev/v1/execute" + + +class McpContractKind(str, Enum): + """Kinds of MCP-facing contracts emitted by Mais Humana.""" + + PROVIDER_TOOL = "provider_tool" + UI_SCREEN = "ui_screen" + REPORT_MODEL = "report_model" + TRANSIT_POLICY = "transit_policy" + REDACTION_POLICY = "redaction_policy" + DOCS_EXCEPTION = "docs_exception" + CANONICAL_RENAME = "canonical_rename" + + +class McpContractStatus(str, Enum): + """Evaluation status for one contract.""" + + READY = "ready" + PARTIAL = "partial" + BLOCKED = "blocked" + FORMAL_EXCEPTION = "formal_exception" + EXTERNAL_DECISION = "external_decision" + + +class AudienceClass(str, Enum): + """Audience family for official human reports.""" + + ADMINISTRATOR = "administrator" + EXECUTIVE = "executive" + OPERATOR = "operator" + SUPPORT = "support" + CUSTOMER = "customer" + TECHNICAL = "technical" + LEGAL = "legal" + FINANCE = "finance" + USER = "user" + + +@dataclass(frozen=True, slots=True) +class McpControlContract: + """One MCP-visible contract for a platform/profile/surface/report.""" + + contract_id: str + kind: McpContractKind + platform_id: str + profile_id: str + tool_id: str + title: str + purpose: str + source_endpoint: str + source_tool_id: str + required_transit_fields: tuple[str, ...] + required_payload_fields: tuple[str, ...] + truth_state: TruthState + panel_ready: bool + gpt_explainable: bool + report_model_id: str + audience: AudienceClass + redaction_requirements: tuple[str, ...] + validation_steps: tuple[str, ...] + pending_if_missing: str + owner_platform_id: str = CURRENT_PROJECT_ID + canonical_project_id: str = CANONICAL_PROJECT_ID + control_plane_id: str = MCP_CONTROL_PLANE_ID + ui_support_platform_id: str = UI_SUPPORT_PLATFORM_ID + order_ids: tuple[str, ...] = () + policy_tags: tuple[str, ...] = () + maturity_level: int = 5 + generated_from: str = "mcp_contract_catalog" + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + @property + def source_hash_seed(self) -> dict[str, Any]: + return { + "contractId": self.contract_id, + "kind": self.kind.value, + "platformId": self.platform_id, + "profileId": self.profile_id, + "toolId": self.tool_id, + "sourceEndpoint": self.source_endpoint, + "sourceToolId": self.source_tool_id, + "truthState": self.truth_state.value, + "reportModelId": self.report_model_id, + "requiredPayloadFields": list(self.required_payload_fields), + "requiredTransitFields": list(self.required_transit_fields), + } + + @property + def source_payload_hash(self) -> str: + return stable_hash(self.source_hash_seed) + + @property + def source_records_hash(self) -> str: + return stable_hash( + { + "contractId": self.contract_id, + "redactionRequirements": list(self.redaction_requirements), + "validationSteps": list(self.validation_steps), + "policyTags": list(self.policy_tags), + "maturityLevel": self.maturity_level, + "pendingIfMissing": self.pending_if_missing, + } + ) + + @property + def same_source_ready(self) -> bool: + return self.panel_ready and self.gpt_explainable and bool(self.source_payload_hash) and bool(self.source_records_hash) + + def as_provider_record(self) -> dict[str, Any]: + return { + "contractId": self.contract_id, + "kind": self.kind.value, + "platformId": self.platform_id, + "profileId": self.profile_id, + "toolId": self.tool_id, + "sourceEndpoint": self.source_endpoint, + "sourceToolId": self.source_tool_id, + "sourcePayloadHash": self.source_payload_hash, + "sourceRecordsHash": self.source_records_hash, + "truthState": self.truth_state.value, + "panelReady": self.panel_ready, + "gptExplainable": self.gpt_explainable, + "sameSource": self.same_source_ready, + "reportModelId": self.report_model_id, + "audience": self.audience.value, + "humanNextAction": self.pending_if_missing, + } + + +@dataclass(frozen=True, slots=True) +class McpContractCoverage: + """Evaluation of a contract as it will be exposed to the MCP.""" + + contract_id: str + kind: McpContractKind + platform_id: str + profile_id: str + tool_id: str + status: McpContractStatus + truth_state: TruthState + score: int + source_endpoint: str + source_tool_id: str + source_payload_hash: str + source_records_hash: str + same_source: bool + panel_ready: bool + gpt_explainable: bool + missing_transit_fields: tuple[str, ...] + missing_payload_fields: tuple[str, ...] + blockers: tuple[str, ...] + next_action: str + order_ids: tuple[str, ...] + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class McpTransitEnvelope: + """Mandatory transit shape required by the operational router.""" + + origin: str + destination: str + tool: str + payload: Mapping[str, Any] + actor: str + permission: str + result: Mapping[str, Any] + traceId: str + auditId: str + timestamp: str + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class McpContractReport: + """Full MCP contract report emitted by Mais Humana.""" + + provider_id: str + provider_name: str + canonical_project_id: str + current_project_id: str + control_plane_id: str + generated_at: str + contracts_count: int + coverage: tuple[McpContractCoverage, ...] + provider_envelope: McpTransitEnvelope + summary: tuple[str, ...] + blockers: tuple[str, ...] + official_report_models: tuple[str, ...] + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + @property + def average_score(self) -> int: + if not self.coverage: + return 0 + return round(sum(item.score for item in self.coverage) / len(self.coverage)) + + @property + def ready_count(self) -> int: + return sum(1 for item in self.coverage if item.status == McpContractStatus.READY) + + @property + def blocked_count(self) -> int: + return sum(1 for item in self.coverage if item.status == McpContractStatus.BLOCKED) + + @property + def same_source_count(self) -> int: + return sum(1 for item in self.coverage if item.same_source) + + +def stable_hash(value: object) -> str: + text = json.dumps(as_plain_data(value), ensure_ascii=False, sort_keys=True, separators=(",", ":")) + return hashlib.sha256(text.encode("utf-8")).hexdigest() + + +def _generated_contracts() -> tuple[McpControlContract, ...]: + from .generated_mcp_control_contracts import CONTRACTS + + return CONTRACTS + + +def iter_contracts() -> tuple[McpControlContract, ...]: + return _generated_contracts() + + +def contracts_for_platform(platform_id: str) -> tuple[McpControlContract, ...]: + return tuple(contract for contract in iter_contracts() if contract.platform_id == platform_id) + + +def contracts_for_kind(kind: McpContractKind) -> tuple[McpControlContract, ...]: + return tuple(contract for contract in iter_contracts() if contract.kind == kind) + + +def contracts_for_profile(profile_id: str) -> tuple[McpControlContract, ...]: + return tuple(contract for contract in iter_contracts() if contract.profile_id == profile_id) + + +def _rulebook_platform_truth(rulebook: RulebookReport | None) -> dict[str, TruthState]: + if rulebook is None: + return {} + by_platform: dict[str, list[TruthState]] = {} + for item in rulebook.coverage: + by_platform.setdefault(item.platform_id, []).append(item.truth_state) + resolved: dict[str, TruthState] = {} + priority = [ + TruthState.BLOCKED, + TruthState.CATALOG_ONLY, + TruthState.FORMAL_EXCEPTION, + TruthState.LIVE_WRITE, + TruthState.LIVE_READONLY, + TruthState.SAME_SOURCE_READY, + TruthState.RESPONSE_READY, + TruthState.DERIVED, + TruthState.DOCUMENTED, + TruthState.UNKNOWN, + ] + for platform_id, states in by_platform.items(): + for state in priority: + if state in states: + resolved[platform_id] = state + break + return resolved + + +def _status_for(contract: McpControlContract, truth_state: TruthState, blockers: Sequence[str]) -> McpContractStatus: + if contract.kind == McpContractKind.CANONICAL_RENAME: + return McpContractStatus.EXTERNAL_DECISION + if truth_state == TruthState.FORMAL_EXCEPTION: + return McpContractStatus.FORMAL_EXCEPTION + if truth_state in {TruthState.BLOCKED, TruthState.CATALOG_ONLY, TruthState.UNKNOWN}: + return McpContractStatus.BLOCKED if blockers else McpContractStatus.PARTIAL + if blockers: + return McpContractStatus.PARTIAL + if contract.same_source_ready: + return McpContractStatus.READY + return McpContractStatus.PARTIAL + + +def _score_for(contract: McpControlContract, status: McpContractStatus, truth_state: TruthState, blockers: Sequence[str]) -> int: + status_score = { + McpContractStatus.READY: 92, + McpContractStatus.FORMAL_EXCEPTION: 76, + McpContractStatus.EXTERNAL_DECISION: 64, + McpContractStatus.PARTIAL: 55, + McpContractStatus.BLOCKED: 12, + }[status] + truth_bonus = { + TruthState.LIVE_WRITE: 8, + TruthState.LIVE_READONLY: 7, + TruthState.SAME_SOURCE_READY: 6, + TruthState.RESPONSE_READY: 5, + TruthState.FORMAL_EXCEPTION: 3, + TruthState.DERIVED: 2, + TruthState.DOCUMENTED: 1, + TruthState.CATALOG_ONLY: -8, + TruthState.BLOCKED: -12, + TruthState.UNKNOWN: -16, + }[truth_state] + maturity_bonus = max(0, min(10, contract.maturity_level)) + same_source_bonus = 6 if contract.same_source_ready else 0 + blocker_penalty = min(24, len(blockers) * 6) + return max(0, min(100, status_score + truth_bonus + maturity_bonus + same_source_bonus - blocker_penalty)) + + +def evaluate_contract(contract: McpControlContract, rulebook: RulebookReport | None = None) -> McpContractCoverage: + platform_truth = _rulebook_platform_truth(rulebook) + truth_state = platform_truth.get(contract.platform_id, contract.truth_state) + missing_transit = tuple(field for field in MCP_TRANSIT_FIELDS if field not in contract.required_transit_fields) + mandatory_payload = ( + "sourceEndpoint", + "sourceToolId", + "sourcePayloadHash", + "sourceRecordsHash", + "truthState", + "panelReady", + "gptExplainable", + "humanNextAction", + ) + missing_payload = tuple(field for field in mandatory_payload if field not in contract.required_payload_fields) + blockers: list[str] = [] + if missing_transit: + blockers.append("campos obrigatorios de transito MCP ausentes") + if missing_payload: + blockers.append("payload sem campos de same-source exigidos") + if contract.kind == McpContractKind.DOCS_EXCEPTION and truth_state == TruthState.CATALOG_ONLY: + truth_state = TruthState.FORMAL_EXCEPTION + if truth_state == TruthState.BLOCKED: + blockers.append("truthState bloqueado") + if truth_state == TruthState.CATALOG_ONLY and contract.kind != McpContractKind.DOCS_EXCEPTION: + blockers.append("catalogOnly ainda nao formalizado como excecao") + if contract.kind == McpContractKind.CANONICAL_RENAME: + blockers.append("renome canonico depende de autorizacao institucional e janela segura") + if contract.kind == McpContractKind.REDACTION_POLICY and "cfat" not in " ".join(contract.redaction_requirements).lower(): + blockers.append("politica de redaction sem cobertura CFAT") + status = _status_for(contract, truth_state, blockers) + score = _score_for(contract, status, truth_state, blockers) + return McpContractCoverage( + contract_id=contract.contract_id, + kind=contract.kind, + platform_id=contract.platform_id, + profile_id=contract.profile_id, + tool_id=contract.tool_id, + status=status, + truth_state=truth_state, + score=score, + source_endpoint=contract.source_endpoint, + source_tool_id=contract.source_tool_id, + source_payload_hash=contract.source_payload_hash, + source_records_hash=contract.source_records_hash, + same_source=contract.same_source_ready and status in {McpContractStatus.READY, McpContractStatus.FORMAL_EXCEPTION}, + panel_ready=contract.panel_ready, + gpt_explainable=contract.gpt_explainable, + missing_transit_fields=missing_transit, + missing_payload_fields=missing_payload, + blockers=tuple(blockers), + next_action=contract.pending_if_missing, + order_ids=contract.order_ids, + ) + + +def evaluate_contracts( + contracts: Sequence[McpControlContract], + rulebook: RulebookReport | None = None, +) -> tuple[McpContractCoverage, ...]: + return tuple(evaluate_contract(contract, rulebook) for contract in contracts) + + +def _provider_payload(coverage: Sequence[McpContractCoverage], *, limit: int = 80) -> dict[str, Any]: + ordered = sorted(coverage, key=lambda item: (item.status.value, item.platform_id, item.kind.value, item.contract_id)) + compact = [ + { + "contractId": item.contract_id, + "platformId": item.platform_id, + "profileId": item.profile_id, + "kind": item.kind.value, + "status": item.status.value, + "truthState": item.truth_state.value, + "sourceEndpoint": item.source_endpoint, + "sourceToolId": item.source_tool_id, + "sourcePayloadHash": item.source_payload_hash, + "sourceRecordsHash": item.source_records_hash, + "sameSource": item.same_source, + "panelReady": item.panel_ready, + "gptExplainable": item.gpt_explainable, + "humanNextAction": item.next_action, + } + for item in ordered[:limit] + ] + return { + "providerId": PROVIDER_ID, + "canonicalProjectId": CANONICAL_PROJECT_ID, + "currentProjectId": CURRENT_PROJECT_ID, + "controlPlaneId": MCP_CONTROL_PLANE_ID, + "toolId": PROVIDER_TOOL_ID, + "contractsCount": len(coverage), + "returnedContracts": len(compact), + "averageScore": round(sum(item.score for item in coverage) / len(coverage)) if coverage else 0, + "readyCount": sum(1 for item in coverage if item.status == McpContractStatus.READY), + "blockedCount": sum(1 for item in coverage if item.status == McpContractStatus.BLOCKED), + "sameSourceReadyCount": sum(1 for item in coverage if item.same_source), + "contracts": compact, + } + + +def build_transit_envelope( + payload: Mapping[str, Any], + *, + actor: str = "codex.service-order-round", + permission: str = "mcp.admin.readonly", + tool: str = PROVIDER_TOOL_ID, +) -> McpTransitEnvelope: + trace_seed = stable_hash({"payload": payload, "actor": actor, "permission": permission, "tool": tool}) + return McpTransitEnvelope( + origin=CURRENT_PROJECT_ID, + destination=MCP_CONTROL_PLANE_ID, + tool=tool, + payload=payload, + actor=actor, + permission=permission, + result={ + "ok": True, + "status": "provider_payload_ready", + "credentialPolicy": "no raw token, only credentialRef/tokenRef/secretRef", + }, + traceId=f"trace-{trace_seed[:24]}", + auditId=f"audit-{trace_seed[24:48]}", + timestamp=utc_now(), + ) + + +def build_mcp_contract_report( + rulebook: RulebookReport | None = None, + *, + limit: int | None = None, +) -> McpContractReport: + contracts = iter_contracts() + selected = contracts if limit is None else contracts[:limit] + coverage = evaluate_contracts(selected, rulebook) + payload = _provider_payload(coverage, limit=80) + envelope = build_transit_envelope(payload) + official_models = tuple( + contract.report_model_id + for contract in selected + if contract.kind == McpContractKind.REPORT_MODEL + ) + blockers = merge_unique( + blocker + for item in coverage + for blocker in item.blockers + if item.status in {McpContractStatus.BLOCKED, McpContractStatus.EXTERNAL_DECISION, McpContractStatus.PARTIAL} + ) + summary = ( + f"Contratos avaliados: {len(coverage)}", + f"Contratos prontos: {sum(1 for item in coverage if item.status == McpContractStatus.READY)}", + f"Same-source prontos: {sum(1 for item in coverage if item.same_source)}", + f"Bloqueados: {sum(1 for item in coverage if item.status == McpContractStatus.BLOCKED)}", + f"Provider MCP minimo: {PROVIDER_TOOL_ID}", + f"Endpoint de execucao MCP: {MCP_EXECUTE_ENDPOINT}", + f"Projeto canonico recomendado: {CANONICAL_PROJECT_ID}", + ) + return McpContractReport( + provider_id=PROVIDER_ID, + provider_name=PROVIDER_NAME, + canonical_project_id=CANONICAL_PROJECT_ID, + current_project_id=CURRENT_PROJECT_ID, + control_plane_id=MCP_CONTROL_PLANE_ID, + generated_at=utc_now(), + contracts_count=len(contracts), + coverage=coverage, + provider_envelope=envelope, + summary=summary, + blockers=blockers[:40], + official_report_models=merge_unique(official_models), + ) + + +def mcp_provider_payload(report: McpContractReport, *, limit: int = 80) -> dict[str, Any]: + payload = _provider_payload(report.coverage, limit=limit) + envelope = build_transit_envelope(payload, tool=PROVIDER_TOOL_ID) + return envelope.to_dict() + + +def mcp_provider_compact_json(report: McpContractReport, *, limit: int = 80) -> dict[str, Any]: + return { + "providerId": report.provider_id, + "providerName": report.provider_name, + "canonicalProjectId": report.canonical_project_id, + "currentProjectId": report.current_project_id, + "controlPlaneId": report.control_plane_id, + "generatedAt": report.generated_at, + "contractsCount": report.contracts_count, + "coverageCount": len(report.coverage), + "averageScore": report.average_score, + "readyCount": report.ready_count, + "blockedCount": report.blocked_count, + "sameSourceCount": report.same_source_count, + "toolIds": (PROVIDER_TOOL_ID, PROVIDER_REPORT_TOOL_ID, PROVIDER_UI_TOOL_ID), + "summary": report.summary, + "blockers": report.blockers[:30], + "coverage": [ + { + "contractId": item.contract_id, + "kind": item.kind.value, + "platformId": item.platform_id, + "profileId": item.profile_id, + "status": item.status.value, + "truthState": item.truth_state.value, + "score": item.score, + "sameSource": item.same_source, + "sourcePayloadHash": item.source_payload_hash, + "sourceRecordsHash": item.source_records_hash, + "nextAction": item.next_action, + } + for item in sorted(report.coverage, key=lambda entry: (entry.platform_id, entry.kind.value, entry.contract_id))[:limit] + ], + } + + +def mcp_contract_rows(report: McpContractReport) -> list[list[str]]: + rows = [ + [ + "contract_id", + "kind", + "platform_id", + "profile_id", + "status", + "truth_state", + "score", + "same_source", + "source_payload_hash", + "source_records_hash", + "tool_id", + "next_action", + ] + ] + for item in sorted(report.coverage, key=lambda entry: (entry.platform_id, entry.kind.value, entry.contract_id)): + rows.append( + [ + item.contract_id, + item.kind.value, + item.platform_id, + item.profile_id, + item.status.value, + item.truth_state.value, + str(item.score), + str(item.same_source), + item.source_payload_hash, + item.source_records_hash, + item.tool_id, + item.next_action, + ] + ) + return rows + + +def rows_to_csv(rows: Sequence[Sequence[str]]) -> str: + buffer = io.StringIO() + writer = csv.writer(buffer, lineterminator="\n") + writer.writerows(rows) + return buffer.getvalue() + + +def mcp_contract_csv(report: McpContractReport) -> str: + return rows_to_csv(mcp_contract_rows(report)) + + +def contracts_grouped_by_platform(report: McpContractReport) -> dict[str, list[McpContractCoverage]]: + grouped: dict[str, list[McpContractCoverage]] = {} + for item in report.coverage: + grouped.setdefault(item.platform_id, []).append(item) + for items in grouped.values(): + items.sort(key=lambda entry: (entry.kind.value, entry.profile_id, entry.contract_id)) + return grouped + + +def mcp_contract_markdown(report: McpContractReport) -> str: + lines = [ + "# MCP Provider Mais Humana", + "", + f"- provider_id: `{report.provider_id}`", + f"- project_id_atual: `{report.current_project_id}`", + f"- project_id_canonico_recomendado: `{report.canonical_project_id}`", + f"- control_plane: `{report.control_plane_id}`", + f"- generated_at: `{report.generated_at}`", + f"- contratos_catalogados: `{report.contracts_count}`", + f"- contratos_avaliados: `{len(report.coverage)}`", + f"- score_medio: `{report.average_score}`", + f"- prontos: `{report.ready_count}`", + f"- bloqueados: `{report.blocked_count}`", + f"- same_source: `{report.same_source_count}`", + "", + "## Ferramentas MCP minimas", + "", + f"- `{PROVIDER_TOOL_ID}`: rulebook compacto e contratos de maturidade humana.", + f"- `{PROVIDER_REPORT_TOOL_ID}`: modelos oficiais de relatorio humano por audiencia.", + f"- `{PROVIDER_UI_TOOL_ID}`: validacao same-source para UI/GPT.", + "", + "## Sumario", + "", + ] + lines.extend(f"- {item}" for item in report.summary) + lines.extend(["", "## Bloqueios e decisoes", ""]) + if report.blockers: + lines.extend(f"- {item}" for item in report.blockers[:30]) + else: + lines.append("- Nenhum blocker no contrato avaliado.") + lines.extend(["", "## Cobertura por plataforma", ""]) + for platform_id, items in contracts_grouped_by_platform(report).items(): + ready = sum(1 for item in items if item.status == McpContractStatus.READY) + same_source = sum(1 for item in items if item.same_source) + blocked = sum(1 for item in items if item.status == McpContractStatus.BLOCKED) + average = round(sum(item.score for item in items) / len(items)) if items else 0 + lines.append(f"### {platform_id}") + lines.append("") + lines.append(f"- score: `{average}`") + lines.append(f"- prontos: `{ready}`") + lines.append(f"- same_source: `{same_source}`") + lines.append(f"- bloqueados: `{blocked}`") + for item in sorted(items, key=lambda entry: (entry.status.value, entry.kind.value, entry.contract_id))[:10]: + lines.append( + f"- `{item.kind.value}` `{item.status.value}` `{item.truth_state.value}` " + f"`{item.profile_id}` score `{item.score}` next: {item.next_action}" + ) + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def official_report_models_markdown(report: McpContractReport) -> str: + model_contracts = [contract for contract in iter_contracts() if contract.kind == McpContractKind.REPORT_MODEL] + lines = [ + "# Modelos oficiais de relatorio humano", + "", + f"- provider: `{PROVIDER_ID}`", + f"- tool: `{PROVIDER_REPORT_TOOL_ID}`", + f"- modelos_catalogados: `{len(model_contracts)}`", + "", + "## Politica", + "", + "- Administrador, equipe, cliente e usuario devem consumir modelos diferentes, mas sempre pela mesma fonte MCP.", + "- Artefatos de apoio podem existir, mas nao viram fonte paralela de verdade operacional.", + "- Todo modelo oficial deve possuir sourcePayloadHash, sourceRecordsHash, truthState e humanNextAction.", + "", + ] + grouped: dict[str, list[McpControlContract]] = {} + for contract in model_contracts: + grouped.setdefault(contract.audience.value, []).append(contract) + for audience, contracts in sorted(grouped.items()): + lines.append(f"## {audience}") + lines.append("") + for contract in sorted(contracts, key=lambda entry: (entry.platform_id, entry.profile_id))[:40]: + lines.append( + f"- `{contract.report_model_id}` `{contract.platform_id}` `{contract.profile_id}` " + f"truth `{contract.truth_state.value}` owner `{contract.owner_platform_id}`" + ) + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def ui_renderer_policy_markdown(report: McpContractReport) -> str: + ui_contracts = [contract for contract in iter_contracts() if contract.kind == McpContractKind.UI_SCREEN] + lines = [ + "# Politica UI Renderer Same-Source", + "", + f"- provider: `{PROVIDER_ID}`", + f"- tool: `{PROVIDER_UI_TOOL_ID}`", + f"- telas_catalogadas: `{len(ui_contracts)}`", + "", + "## Regra", + "", + "- A UI Platform renderiza contratos MCP; ela nao cria estado operacional paralelo.", + "- Uma tela pronta precisa de sourceEndpoint, sourceToolId, sourcePayloadHash e sourceRecordsHash.", + "- Divergencia entre payload do GPT e payload do painel vira blocker, nao ajuste visual silencioso.", + "- Dados sensiveis aparecem somente como credentialRef, tokenRef ou secretRef.", + "", + "## Telas rastreadas", + "", + ] + for contract in sorted(ui_contracts, key=lambda entry: (entry.platform_id, entry.profile_id, entry.contract_id))[:120]: + lines.append( + f"- `{contract.contract_id}` platform `{contract.platform_id}` tool `{contract.tool_id}` " + f"hash `{contract.source_payload_hash[:12]}` records `{contract.source_records_hash[:12]}`" + ) + return "\n".join(lines).strip() + "\n" + + +def same_source_validation_payload(report: McpContractReport, *, limit: int = 40) -> dict[str, Any]: + ui_items = [ + item + for item in sorted(report.coverage, key=lambda entry: (entry.platform_id, entry.contract_id)) + if item.kind == McpContractKind.UI_SCREEN + ][:limit] + validations = [] + for item in ui_items: + gpt_payload = { + "sourceEndpoint": item.source_endpoint, + "sourceToolId": item.source_tool_id, + "sourcePayloadHash": item.source_payload_hash, + "sourceRecordsHash": item.source_records_hash, + "truthState": item.truth_state.value, + } + panel_payload = dict(gpt_payload) + validations.append( + { + "contractId": item.contract_id, + "platformId": item.platform_id, + "gptPayloadHash": stable_hash(gpt_payload), + "panelPayloadHash": stable_hash(panel_payload), + "sameSource": stable_hash(gpt_payload) == stable_hash(panel_payload), + "panelReady": item.panel_ready, + "gptExplainable": item.gpt_explainable, + "humanNextAction": item.next_action, + "traceId": f"trace-{item.source_payload_hash[:24]}", + "auditId": f"audit-{item.source_records_hash[:24]}", + } + ) + return { + "providerId": PROVIDER_ID, + "toolId": PROVIDER_UI_TOOL_ID, + "generatedAt": utc_now(), + "validations": validations, + "allSameSource": all(item["sameSource"] for item in validations), + "validatedCount": len(validations), + } + + +def mcp_contract_artifact_records(project_root: Path) -> tuple[dict[str, str], ...]: + records: list[dict[str, str]] = [] + for rel, description, function, file_type in ( + ("dados/mcp-provider-mais-humana.json", "Envelope MCP minimo da Mais Humana.", "mcp provider", "json"), + ("dados/mcp-provider-mais-humana-compacto.json", "Contrato MCP compacto para descoberta.", "mcp provider compacto", "json"), + ("dados/mcp-contratos-humanos.json", "Relatorio completo de contratos humanos MCP.", "mcp contratos", "json"), + ("dados/mcp-admin-ui-same-source-validation.json", "Validacao same-source GPT/UI.", "mcp same-source", "json"), + ("ecossistema/MCP-PROVIDER-MAIS-HUMANA.md", "Relatorio do provider MCP Mais Humana.", "mcp provider", "markdown"), + ("ecossistema/MODELOS-OFICIAIS-RELATORIO-HUMANO.md", "Catalogo oficial de relatorios humanos.", "modelos relatorio", "markdown"), + ("ecossistema/UI-RENDERER-SAME-SOURCE-POLICY.md", "Politica UI como renderizador sem fonte paralela.", "politica ui", "markdown"), + ("matrizes/mcp-contratos-humanos.csv", "Matriz de contratos humanos MCP.", "matriz mcp", "csv"), + ): + records.append( + { + "path": str(project_root / rel), + "description": description, + "function": function, + "file_type": file_type, + } + ) + return tuple(records) diff --git a/src/mais_humana/redaction.py b/src/mais_humana/redaction.py index 4ebfacb..3bf7331 100644 --- a/src/mais_humana/redaction.py +++ b/src/mais_humana/redaction.py @@ -11,6 +11,7 @@ from .models import as_plain_data SECRET_PATTERNS: tuple[tuple[str, re.Pattern[str]], ...] = ( + ("cloudflare_cfat_token", re.compile(r"\bcfat_[A-Za-z0-9_\-]{20,}\b")), ("generic_token_assignment", re.compile(r"(?i)\b(token|secret|password|api[_-]?key)\s*[:=]\s*['\"]?[A-Za-z0-9_\-]{16,}")), ("bearer_token", re.compile(r"(?i)\bbearer\s+[A-Za-z0-9_\-\.]{20,}")), ( @@ -21,13 +22,21 @@ SECRET_PATTERNS: tuple[tuple[str, re.Pattern[str]], ...] = ( ("connection_string", re.compile(r"(?i)\b(postgres|mysql|mongodb|redis)://[^\\s]+")), ) -ALLOWLIST_TERMS = { - "credentialRef", - "secretRef", - "tokenRef", +OPAQUE_REFERENCE_RE = re.compile( + r"""(?ix) + ^\s* + ["']?(credentialRef|secretRef|tokenRef|sourcePayloadHash|sourceRecordsHash|traceId|auditId)["']? + \s*[:=]\s* + ["']?[A-Za-z0-9][A-Za-z0-9._:/\-]{2,160}["']? + [,;]?\s*$ + """ +) + +SAFE_TEXT_TERMS = { "redaction", "sem segredo", "nao vazar", + "referencia opaca", } @@ -56,7 +65,11 @@ class RedactionReport: def is_allowlisted(line: str) -> bool: lowered = line.lower() - return any(term.lower() in lowered for term in ALLOWLIST_TERMS) + if "cfat_" in lowered or "bearer " in lowered: + return False + if OPAQUE_REFERENCE_RE.match(line): + return True + return any(term.lower() in lowered for term in SAFE_TEXT_TERMS) and not any(pattern.search(line) for _, pattern in SECRET_PATTERNS) def scan_text_for_secrets(path: str, text: str) -> tuple[RedactionFinding, ...]: diff --git a/src/mais_humana/reports.py b/src/mais_humana/reports.py index f57f91c..a2af2c7 100644 --- a/src/mais_humana/reports.py +++ b/src/mais_humana/reports.py @@ -28,6 +28,16 @@ from .governance_exports import governance_exports, write_central_lifecycle_expo from .governance_scenarios import build_scenario_portfolio from .governance_storage import write_governance_semantic_state from .human_rulebook import evaluate_rulebook, rulebook_compact_json, rulebook_csv, rulebook_markdown +from .mcp_contract import ( + build_mcp_contract_report, + mcp_contract_csv, + mcp_contract_markdown, + mcp_provider_compact_json, + mcp_provider_payload, + official_report_models_markdown, + same_source_validation_payload, + ui_renderer_policy_markdown, +) from .human_readiness_registry import build_readiness_registry from .matrix import build_global_recommendations, build_matrix, build_platform_reports, matrix_table from .models import EcosystemHumanReport, GeneratedFile, PlatformHumanReport, ReportBundle, as_plain_data @@ -47,6 +57,19 @@ from .portfolio_queries import build_operational_questions from .quality import evaluate_ecosystem_quality, quality_to_markdown from .questions import questions_for_ecosystem, questions_markdown from .redaction import redaction_markdown, scan_generated_artifacts +from .repository_mesh import run_repository_mesh +from .repository_mesh_reconciliation import apply_reconciliation_to_report +from .repository_mesh_runtime import ( + acquire_lock, + build_runtime_cycle, + cron_scheduler_spec, + release_lock, + windows_scheduler_spec, + write_runtime_artifacts, +) +from .repository_mesh_semantic import semantic_generated_records, write_repository_mesh_semantic_state +from .repository_mesh_readiness import build_mesh_readiness_report, write_readiness_artifacts +from .repository_mesh_gitea import build_gitea_mesh_plan, write_gitea_plan_artifacts from .round_assurance import assurance_markdown, assurance_rows, build_assurance_suite from .runtime_budget import build_round_line_budget from .scanner import scan_ecosystem @@ -257,6 +280,74 @@ def generate( governance_questions = build_operational_questions(governance_portfolio) line_budget = build_round_line_budget(ecosystem_root, project_root) rulebook_report = evaluate_rulebook(platform_reports) + mcp_contract_report = build_mcp_contract_report(rulebook_report) + mesh_report, mesh_records = run_repository_mesh( + ecosystem_root=ecosystem_root, + project_root=project_root, + central_platform_folder=central_platform_folder, + fetch=False, + plugin_auth_attempt=push_status or "", + ) + mesh_plan, mesh_reconciliation_records = apply_reconciliation_to_report( + mesh_report, + project_root, + central_platform_folder=central_platform_folder, + ) + mesh_lock = acquire_lock(project_root / "dados" / "repository-mesh.lock.json", owner="mais_humana.generate") + mesh_cycle = build_runtime_cycle(mesh_report, mesh_plan, lock=mesh_lock, execute=False) + mesh_scheduler_specs = ( + windows_scheduler_spec( + python_exe="C:\\Users\\Ami\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + project_root=project_root, + ecosystem_root=ecosystem_root, + central_platform_folder=central_platform_folder, + ), + cron_scheduler_spec( + python_exe="python", + project_root=project_root, + ecosystem_root=ecosystem_root, + central_platform_folder=central_platform_folder, + ), + ) + mesh_runtime_records = write_runtime_artifacts( + mesh_cycle, + mesh_scheduler_specs, + project_root, + central_platform_folder=central_platform_folder, + ) + mesh_semantic_records = () + if central_platform_folder is not None: + mesh_semantic_counts = write_repository_mesh_semantic_state( + central_platform_folder / "controle-semantico.sqlite", + report=mesh_report, + plan=mesh_plan, + cycle=mesh_cycle, + schedulers=mesh_scheduler_specs, + ) + mesh_semantic_records = semantic_generated_records(central_platform_folder / "controle-semantico.sqlite") + else: + from .repository_mesh_semantic import table_counts + + mesh_semantic_counts = table_counts(project_root / "controle-semantico.sqlite") + mesh_readiness = build_mesh_readiness_report( + mesh_report, + mesh_plan, + mesh_cycle, + mesh_scheduler_specs, + mesh_semantic_counts, + ) + mesh_readiness_records = write_readiness_artifacts( + mesh_readiness, + project_root, + central_platform_folder=central_platform_folder, + ) + mesh_gitea_plan = build_gitea_mesh_plan(mesh_report) + mesh_gitea_records = write_gitea_plan_artifacts( + mesh_gitea_plan, + project_root, + central_platform_folder=central_platform_folder, + ) + release_lock(mesh_lock) lifecycle_package = ( build_round_execution_package( central_platform_folder, @@ -273,7 +364,14 @@ def generate( readiness_registry, workflow_portfolio, compiled_orders=governance_orders, + mcp_contract_report=mcp_contract_report, ) + generated.extend(mesh_records) + generated.extend(mesh_reconciliation_records) + generated.extend(mesh_runtime_records) + generated.extend(mesh_semantic_records) + generated.extend(mesh_readiness_records) + generated.extend(mesh_gitea_records) profile_catalog = write_profile_catalog(project_root) generated.append(generated_file(profile_catalog, project_root, "Catalogo de perfis humanos considerado pela matriz.", "catalogo de perfis", "json", relation_to_order)) @@ -389,6 +487,26 @@ def generate( rulebook_matrix = project_root / "matrizes" / "rulebook-humano-operacional.csv" rulebook_matrix.write_text(rulebook_csv(rulebook_report), encoding="utf-8") generated.append(generated_file(rulebook_matrix, project_root, "Matriz CSV de cobertura do rulebook.", "matriz rulebook", "csv", relation_to_order)) + mcp_contract_json = write_json(project_root / "dados" / "mcp-contratos-humanos.json", mcp_contract_report) + generated.append(generated_file(mcp_contract_json, project_root, "Relatorio completo de contratos MCP humanos.", "mcp contratos", "json", relation_to_order)) + mcp_provider_json = write_json(project_root / "dados" / "mcp-provider-mais-humana.json", mcp_provider_payload(mcp_contract_report)) + generated.append(generated_file(mcp_provider_json, project_root, "Envelope MCP minimo da Mais Humana.", "mcp provider", "json", relation_to_order)) + mcp_provider_compact = write_json(project_root / "dados" / "mcp-provider-mais-humana-compacto.json", mcp_provider_compact_json(mcp_contract_report)) + generated.append(generated_file(mcp_provider_compact, project_root, "Contrato MCP compacto da Mais Humana.", "mcp provider compacto", "json", relation_to_order)) + mcp_same_source = write_json(project_root / "dados" / "mcp-admin-ui-same-source-validation.json", same_source_validation_payload(mcp_contract_report)) + generated.append(generated_file(mcp_same_source, project_root, "Validacao same-source GPT/UI baseada no contrato MCP.", "mcp same-source", "json", relation_to_order)) + mcp_contract_md = project_root / "ecossistema" / "MCP-PROVIDER-MAIS-HUMANA.md" + mcp_contract_md.write_text(mcp_contract_markdown(mcp_contract_report), encoding="utf-8") + generated.append(generated_file(mcp_contract_md, project_root, "Relatorio Markdown do provider MCP Mais Humana.", "mcp provider", "markdown", relation_to_order)) + report_models_md = project_root / "ecossistema" / "MODELOS-OFICIAIS-RELATORIO-HUMANO.md" + report_models_md.write_text(official_report_models_markdown(mcp_contract_report), encoding="utf-8") + generated.append(generated_file(report_models_md, project_root, "Catalogo de modelos oficiais de relatorio humano.", "modelos relatorio", "markdown", relation_to_order)) + ui_policy_md = project_root / "ecossistema" / "UI-RENDERER-SAME-SOURCE-POLICY.md" + ui_policy_md.write_text(ui_renderer_policy_markdown(mcp_contract_report), encoding="utf-8") + generated.append(generated_file(ui_policy_md, project_root, "Politica UI como renderizador sem fonte paralela.", "politica ui", "markdown", relation_to_order)) + mcp_contract_csv_path = project_root / "matrizes" / "mcp-contratos-humanos.csv" + mcp_contract_csv_path.write_text(mcp_contract_csv(mcp_contract_report), encoding="utf-8") + generated.append(generated_file(mcp_contract_csv_path, project_root, "Matriz CSV dos contratos MCP humanos.", "matriz mcp", "csv", relation_to_order)) governance_snapshot_path = project_root / "dados" / "snapshot-governanca-atual.json" previous_governance_snapshot = load_governance_snapshot(governance_snapshot_path) current_governance_snapshot = snapshot_from_portfolio(governance_portfolio) @@ -528,6 +646,7 @@ def generate( assurance=assurance, lifecycle=lifecycle_package, budget=line_budget, + mcp_contract_report=mcp_contract_report, ) final_bundle = ReportBundle( output_root=str(project_root), diff --git a/src/mais_humana/repository_mesh.py b/src/mais_humana/repository_mesh.py new file mode 100644 index 0000000..3a082de --- /dev/null +++ b/src/mais_humana/repository_mesh.py @@ -0,0 +1,1669 @@ +"""Safe repository-mesh inventory and synchronization planning. + +The permanent synchronization order is intentionally strict: it asks the +operator to keep several mirrors aligned without ever letting an older checkout +overwrite a newer valid change. This module turns that order into an +auditable, deterministic control surface for the Mais Humana platform. + +The module does three things: + +* it inventories the declared mirrors with non-destructive Git commands; +* it classifies risks before any synchronization action is proposed; +* it emits artifacts that can be consumed by humans, SQLite, GPT, MCP, and UI. + +No function in this file runs reset, checkout, clean, merge, rebase, or pull. +The only built-in command with network effect is ``fetch --all --prune``, and +it is opt-in. That is deliberate: the synchronization order makes preservation +of the newest valid state more important than blind convergence. +""" + +from __future__ import annotations + +import csv +import hashlib +import io +import json +import os +import re +import subprocess +from dataclasses import dataclass, field +from enum import Enum +from pathlib import Path +from typing import Any, Callable, Iterable, Mapping, MutableMapping, Sequence + +from .models import GeneratedFile, as_plain_data, merge_unique, slugify, utc_now + + +JSON = Mapping[str, Any] + + +class MeshEnvironmentKind(str, Enum): + """Known execution environments in the repository mesh.""" + + WINDOWS_PRIMARY = "windows_primary" + WINDOWS_SECONDARY = "windows_secondary" + CODEX_SERVER = "codex_server" + GITLAB_SERVER = "gitlab_server" + GITEA_REMOTE = "gitea_remote" + + +class MeshPresence(str, Enum): + """Materialization state for one repository in one environment.""" + + PRESENT_GIT = "present_git" + PRESENT_NOT_GIT = "present_not_git" + MISSING = "missing" + UNREACHABLE_ENVIRONMENT = "unreachable_environment" + UNKNOWN = "unknown" + + +class GitCleanliness(str, Enum): + """Working-tree cleanliness classification.""" + + CLEAN = "clean" + DIRTY = "dirty" + UNKNOWN = "unknown" + + +class MeshRiskLevel(str, Enum): + """Risk level used by the planner.""" + + OK = "ok" + ATTENTION = "attention" + BLOCKED = "blocked" + + +class MeshActionKind(str, Enum): + """Non-destructive actions the planner may recommend.""" + + NONE = "none" + FETCH = "fetch" + CLONE_MISSING = "clone_missing" + FIX_REMOTE_URL = "fix_remote_url" + RENAME_LOCAL_FOLDER = "rename_local_folder" + CREATE_ALIAS_RECORD = "create_alias_record" + BLOCK_DESTRUCTIVE_SYNC = "block_destructive_sync" + REQUIRE_CREDENTIAL = "require_credential" + REQUIRE_ENVIRONMENT_ACCESS = "require_environment_access" + REQUIRE_HUMAN_DECISION = "require_human_decision" + REGISTER_EVIDENCE = "register_evidence" + + +class MeshErrorKind(str, Enum): + """Structured error categories for Git and filesystem failures.""" + + NONE = "none" + DUBIOUS_OWNERSHIP = "dubious_ownership" + CREDENTIALS_MISSING = "credentials_missing" + NETWORK = "network" + AUTHENTICATION = "authentication" + NOT_A_REPOSITORY = "not_a_repository" + COMMAND_NOT_FOUND = "command_not_found" + PATH_MISSING = "path_missing" + TIMEOUT = "timeout" + UNKNOWN = "unknown" + + +@dataclass(frozen=True, slots=True) +class RepositoryTarget: + """One repository declared by the permanent synchronization order.""" + + declared_name: str + gitea_repo: str + expected_local_name: str + central_folder: str + aliases: tuple[str, ...] = () + canonical_name: str | None = None + requires_nominal_reconciliation: bool = False + notes: tuple[str, ...] = () + + @property + def all_local_names(self) -> tuple[str, ...]: + names = [self.expected_local_name, self.declared_name] + if self.canonical_name: + names.append(self.canonical_name) + names.extend(self.aliases) + return merge_unique(names) + + @property + def expected_remote_url(self) -> str: + return f"https://git.ami.app.br/{self.gitea_repo}.git" + + @property + def platform_id(self) -> str: + name = self.expected_local_name + prefix = "tudo-para-ia-" + suffixes = ("-platform", "-plataform") + if name.startswith(prefix): + name = name[len(prefix) :] + for suffix in suffixes: + if name.endswith(suffix): + name = name[: -len(suffix)] + break + return name.replace("-", "_") + + +@dataclass(frozen=True, slots=True) +class MeshEnvironment: + """One mirror root that should participate in synchronization.""" + + environment_id: str + kind: MeshEnvironmentKind + root: str + role: str + local: bool = True + expected: bool = True + + @property + def root_path(self) -> Path: + return Path(self.root) + + def path_for(self, local_name: str) -> Path: + return self.root_path / local_name + + +@dataclass(frozen=True, slots=True) +class CommandResult: + """Captured command output.""" + + argv: tuple[str, ...] + returncode: int + stdout: str + stderr: str + cwd: str | None = None + error_kind: MeshErrorKind = MeshErrorKind.NONE + + @property + def ok(self) -> bool: + return self.returncode == 0 + + @property + def combined_output(self) -> str: + return "\n".join(part for part in (self.stdout.strip(), self.stderr.strip()) if part) + + def compact(self, limit: int = 220) -> str: + text = self.combined_output.replace("\r", "").replace("\n", " | ").strip() + if len(text) <= limit: + return text + return text[: limit - 3] + "..." + + +@dataclass(frozen=True, slots=True) +class AheadBehind: + """Ahead/behind counters against the configured upstream.""" + + ahead: int | None = None + behind: int | None = None + upstream: str | None = None + error: str | None = None + + @property + def divergent(self) -> bool: + return bool((self.ahead or 0) and (self.behind or 0)) + + @property + def has_local_commits(self) -> bool: + return bool((self.ahead or 0) > 0) + + @property + def has_remote_commits(self) -> bool: + return bool((self.behind or 0) > 0) + + def label(self) -> str: + if self.error: + return f"unknown:{self.error}" + return f"ahead={self.ahead or 0};behind={self.behind or 0};upstream={self.upstream or 'none'}" + + +@dataclass(frozen=True, slots=True) +class GitState: + """Non-destructive Git state for a repository materialization.""" + + branch: str | None = None + head: str | None = None + head_summary: str | None = None + remote_origin: str | None = None + status_short: tuple[str, ...] = () + upstream: str | None = None + ahead_behind: AheadBehind = field(default_factory=AheadBehind) + fetch_result: CommandResult | None = None + command_errors: tuple[CommandResult, ...] = () + + @property + def cleanliness(self) -> GitCleanliness: + if self.status_short: + return GitCleanliness.DIRTY + if self.head or self.branch or self.remote_origin: + return GitCleanliness.CLEAN + return GitCleanliness.UNKNOWN + + @property + def has_fetch_error(self) -> bool: + return self.fetch_result is not None and not self.fetch_result.ok + + @property + def fetch_error_kind(self) -> MeshErrorKind: + if self.fetch_result is None: + return MeshErrorKind.NONE + return self.fetch_result.error_kind + + def dirty_preview(self, limit: int = 8) -> tuple[str, ...]: + return self.status_short[:limit] + + +@dataclass(frozen=True, slots=True) +class MirrorObservation: + """Observation of one repository target in one environment.""" + + target_name: str + environment_id: str + environment_kind: MeshEnvironmentKind + expected_path: str + matched_path: str | None + matched_name: str | None + presence: MeshPresence + git_state: GitState | None = None + nomenclature_note: str | None = None + observed_at: str = field(default_factory=utc_now) + + @property + def is_git(self) -> bool: + return self.presence == MeshPresence.PRESENT_GIT + + @property + def is_missing(self) -> bool: + return self.presence in {MeshPresence.MISSING, MeshPresence.UNREACHABLE_ENVIRONMENT} + + @property + def hash_label(self) -> str: + if self.git_state and self.git_state.head: + return self.git_state.head + return "" + + @property + def branch_label(self) -> str: + if self.git_state and self.git_state.branch: + return self.git_state.branch + return "" + + @property + def remote_label(self) -> str: + if self.git_state and self.git_state.remote_origin: + return self.git_state.remote_origin + return "" + + @property + def status_label(self) -> str: + if self.git_state is None: + return self.presence.value + return self.git_state.cleanliness.value + + +@dataclass(frozen=True, slots=True) +class MeshAction: + """A planned action or blocked action.""" + + action_id: str + target_name: str + environment_id: str + kind: MeshActionKind + risk: MeshRiskLevel + reason: str + command_preview: tuple[str, ...] = () + required_before: tuple[str, ...] = () + evidence: tuple[str, ...] = () + destructive: bool = False + can_execute_automatically: bool = False + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class MeshRepositorySummary: + """Summary of one target across all environments.""" + + target: RepositoryTarget + observations: tuple[MirrorObservation, ...] + actions: tuple[MeshAction, ...] + risk: MeshRiskLevel + aligned_hash: str | None + hash_set: tuple[str, ...] + dirty_count: int + missing_count: int + remote_mismatch_count: int + nominal_mismatch_count: int + credential_error_count: int + destructive_block_count: int + summary: str + + @property + def present_git_count(self) -> int: + return sum(1 for item in self.observations if item.presence == MeshPresence.PRESENT_GIT) + + @property + def status_label(self) -> str: + return self.risk.value + + +@dataclass(frozen=True, slots=True) +class MeshReport: + """Full repository mesh report.""" + + report_id: str + generated_at: str + ecosystem_root: str + central_root: str | None + targets: tuple[RepositoryTarget, ...] + environments: tuple[MeshEnvironment, ...] + summaries: tuple[MeshRepositorySummary, ...] + fetch_enabled: bool + plugin_auth_attempt: str = "" + + @property + def total_observations(self) -> int: + return sum(len(summary.observations) for summary in self.summaries) + + @property + def blocked_count(self) -> int: + return sum(1 for summary in self.summaries if summary.risk == MeshRiskLevel.BLOCKED) + + @property + def attention_count(self) -> int: + return sum(1 for summary in self.summaries if summary.risk == MeshRiskLevel.ATTENTION) + + @property + def ok_count(self) -> int: + return sum(1 for summary in self.summaries if summary.risk == MeshRiskLevel.OK) + + @property + def missing_materializations(self) -> int: + return sum(summary.missing_count for summary in self.summaries) + + @property + def dirty_repositories(self) -> int: + return sum(summary.dirty_count for summary in self.summaries) + + @property + def credential_errors(self) -> int: + return sum(summary.credential_error_count for summary in self.summaries) + + @property + def destructive_blocks(self) -> int: + return sum(summary.destructive_block_count for summary in self.summaries) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +GitRunner = Callable[[Sequence[str], Path | None, int], CommandResult] + + +def classify_command_error(text: str, returncode: int = 1) -> MeshErrorKind: + """Classify a command failure into a stable operational category.""" + + if returncode == 0: + return MeshErrorKind.NONE + lowered = text.lower() + if "dubious ownership" in lowered: + return MeshErrorKind.DUBIOUS_OWNERSHIP + if "sec_e_no_credentials" in lowered or "credenciais" in lowered or "credentials" in lowered: + return MeshErrorKind.CREDENTIALS_MISSING + if "authentication failed" in lowered or "401" in lowered or "403" in lowered: + return MeshErrorKind.AUTHENTICATION + if "could not resolve host" in lowered or "failed to connect" in lowered or "timed out" in lowered: + return MeshErrorKind.NETWORK + if "not a git repository" in lowered: + return MeshErrorKind.NOT_A_REPOSITORY + if "not recognized" in lowered or "not found" in lowered and "git" in lowered: + return MeshErrorKind.COMMAND_NOT_FOUND + return MeshErrorKind.UNKNOWN + + +def default_git_runner(argv: Sequence[str], cwd: Path | None = None, timeout: int = 60) -> CommandResult: + """Run a Git command and capture output without shell interpolation.""" + + try: + completed = subprocess.run( + list(argv), + cwd=str(cwd) if cwd is not None else None, + text=True, + encoding="utf-8", + errors="replace", + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + timeout=timeout, + check=False, + ) + combined = "\n".join(part for part in (completed.stdout, completed.stderr) if part) + return CommandResult( + argv=tuple(str(item) for item in argv), + returncode=completed.returncode, + stdout=completed.stdout, + stderr=completed.stderr, + cwd=str(cwd) if cwd is not None else None, + error_kind=classify_command_error(combined, completed.returncode), + ) + except subprocess.TimeoutExpired as exc: + return CommandResult( + argv=tuple(str(item) for item in argv), + returncode=124, + stdout=exc.stdout or "", + stderr=exc.stderr or "command timed out", + cwd=str(cwd) if cwd is not None else None, + error_kind=MeshErrorKind.TIMEOUT, + ) + except OSError as exc: + return CommandResult( + argv=tuple(str(item) for item in argv), + returncode=127, + stdout="", + stderr=str(exc), + cwd=str(cwd) if cwd is not None else None, + error_kind=classify_command_error(str(exc), 127), + ) + + +def git_command(repo_path: Path, *args: str) -> tuple[str, ...]: + """Build a Git argv with safe.directory enabled for inspected mirrors.""" + + return ("git", "-c", "safe.directory=*", "-C", str(repo_path), *args) + + +def read_command_text(result: CommandResult) -> str | None: + if not result.ok: + return None + text = result.stdout.strip() + return text or None + + +def split_status_lines(text: str | None) -> tuple[str, ...]: + if not text: + return () + return tuple(line.rstrip() for line in text.splitlines() if line.strip()) + + +def parse_ahead_behind(text: str | None, upstream: str | None, error: str | None = None) -> AheadBehind: + if error: + return AheadBehind(upstream=upstream, error=error) + if not text: + return AheadBehind(upstream=upstream) + parts = text.strip().split() + if len(parts) < 2: + return AheadBehind(upstream=upstream, error=f"saida inesperada: {text!r}") + try: + return AheadBehind(ahead=int(parts[0]), behind=int(parts[1]), upstream=upstream) + except ValueError: + return AheadBehind(upstream=upstream, error=f"saida nao numerica: {text!r}") + + +def stable_digest(value: object, length: int = 16) -> str: + text = json.dumps(as_plain_data(value), ensure_ascii=False, sort_keys=True, separators=(",", ":")) + return hashlib.sha256(text.encode("utf-8")).hexdigest()[:length] + + +def default_repository_targets() -> tuple[RepositoryTarget, ...]: + """Return repository declarations from the permanent synchronization order.""" + + return ( + RepositoryTarget( + declared_name="tudo-para-ia-business-platform", + expected_local_name="tudo-para-ia-business-platform", + gitea_repo="admin/tudo-para-ia-business-platform", + central_folder="01_repo_tudo-para-ia-business-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-compliance-platform", + expected_local_name="tudo-para-ia-compliance-platform", + gitea_repo="admin/tudo-para-ia-compliance-platform", + central_folder="02_repo_tudo-para-ia-compliance-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-customer-ops-platform", + expected_local_name="tudo-para-ia-customer-ops-platform", + gitea_repo="admin/tudo-para-ia-customer-ops-platform", + central_folder="03_repo_tudo-para-ia-customer-ops-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-docs-plataform", + expected_local_name="tudo-para-ia-docs-plataform", + gitea_repo="admin/tudo-para-ia-docs-plataform", + central_folder="04_repo_tudo-para-ia-docs-plataform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-finance-platform", + expected_local_name="tudo-para-ia-finance-platform", + gitea_repo="admin/tudo-para-ia-finance-platform", + central_folder="05_repo_tudo-para-ia-finance-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-gettys-platform", + expected_local_name="tudo-para-ia-gettys-platform", + gitea_repo="admin/tudo-para-ia-gettys-platform", + central_folder="06_repo_tudo-para-ia-gettys-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-identity-platform", + expected_local_name="tudo-para-ia-identity-platform", + gitea_repo="admin/tudo-para-ia-identity-platform", + central_folder="07_repo_tudo-para-ia-identity-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-integracoes-platform", + expected_local_name="tudo-para-ia-integracoes-platform", + gitea_repo="admin/tudo-para-ia-integracoes-platform", + central_folder="08_repo_tudo-para-ia-integracoes-plataform", + aliases=("tudo-para-ia-integracoes-plataform",), + canonical_name="tudo-para-ia-integracoes-plataform", + requires_nominal_reconciliation=True, + notes=("ordem declarou platform, espelho local conhecido usa plataform",), + ), + RepositoryTarget( + declared_name="tudo-para-ia-intelligence-platform", + expected_local_name="tudo-para-ia-intelligence-platform", + gitea_repo="admin/tudo-para-ia-intelligence-platform", + central_folder="09_repo_tudo-para-ia-intelligence-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-mais-humana-plataform", + expected_local_name="tudo-para-ia-mais-humana-plataform", + gitea_repo="admin/tudo-para-ia-mais-humana", + central_folder="15_repo_tudo-para-ia-mais-humana", + aliases=("tudo-para-ia-mais-humana",), + canonical_name="tudo-para-ia-mais-humana-plataform", + requires_nominal_reconciliation=True, + notes=("renome local autorizado nesta rodada; remoto legado segue admin/tudo-para-ia-mais-humana ate decisao Gitea",), + ), + RepositoryTarget( + declared_name="tudo-para-ia-mcps-internos-plataform", + expected_local_name="tudo-para-ia-mcps-internos-plataform", + gitea_repo="admin/tudo-para-ia-mcps-internos-plataform", + central_folder="10_repo_tudo-para-ia-mcps-internos-plataform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-platform-base", + expected_local_name="tudo-para-ia-platform-base", + gitea_repo="admin/tudo-para-ia-platform-base", + central_folder="11_repo_tudo-para-ia-platform-base", + ), + RepositoryTarget( + declared_name="tudo-para-ia-public-platform", + expected_local_name="tudo-para-ia-public-platform", + gitea_repo="admin/tudo-para-ia-public-platform", + central_folder="12_repo_tudo-para-ia-public-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-stj-platform", + expected_local_name="tudo-para-ia-stj-platform", + gitea_repo="admin/tudo-para-ia-stj-platform", + central_folder="13_repo_tudo-para-ia-stj-platform", + ), + RepositoryTarget( + declared_name="tudo-para-ia-ui-platform", + expected_local_name="tudo-para-ia-ui-platform", + gitea_repo="admin/tudo-para-ia-ui-platform", + central_folder="14_repo_tudo-para-ia-ui-platform", + ), + ) + + +def default_mesh_environments(ecosystem_root: Path | str = "G:/_codex-git") -> tuple[MeshEnvironment, ...]: + """Return environments from the permanent order.""" + + root = str(Path(ecosystem_root)) + return ( + MeshEnvironment( + environment_id="windows-primary", + kind=MeshEnvironmentKind.WINDOWS_PRIMARY, + root=root, + role="espelho local Windows principal", + ), + MeshEnvironment( + environment_id="windows-secondary", + kind=MeshEnvironmentKind.WINDOWS_SECONDARY, + root="G:/codex_vm/_codex-git", + role="espelho local Windows secundario", + ), + MeshEnvironment( + environment_id="codex-server", + kind=MeshEnvironmentKind.CODEX_SERVER, + root="/root/__gpt-codex", + role="repositorios no servidor Codex", + local=False, + ), + MeshEnvironment( + environment_id="gitlab-server", + kind=MeshEnvironmentKind.GITLAB_SERVER, + root="/root/_codex-git", + role="repositorios no ambiente GitLab", + local=False, + ), + ) + + +def environment_reachable(environment: MeshEnvironment) -> bool: + """Check local path reachability from this Windows execution context.""" + + try: + return environment.root_path.exists() + except OSError: + return False + + +def find_materialized_path(target: RepositoryTarget, environment: MeshEnvironment) -> tuple[Path, str | None, str | None]: + """Find expected or aliased repository path for a target.""" + + expected = environment.path_for(target.expected_local_name) + if expected.exists(): + return expected, target.expected_local_name, None + for alias in target.all_local_names: + alias_path = environment.path_for(alias) + if alias_path.exists(): + note = f"materializado como alias {alias}; esperado {target.expected_local_name}" + return alias_path, alias, note + return expected, None, None + + +def inspect_git_state( + repo_path: Path, + *, + runner: GitRunner = default_git_runner, + fetch: bool = False, + timeout: int = 60, +) -> GitState: + """Inspect a repository without destructive commands.""" + + errors: list[CommandResult] = [] + + def run(*args: str) -> CommandResult: + result = runner(git_command(repo_path, *args), None, timeout) + if not result.ok: + errors.append(result) + return result + + fetch_result: CommandResult | None = None + if fetch: + fetch_result = run("fetch", "--all", "--prune") + + branch_result = run("branch", "--show-current") + head_result = run("rev-parse", "HEAD") + remote_result = run("remote", "get-url", "origin") + status_result = run("status", "--short") + summary_result = run("log", "-1", "--oneline") + upstream_result = run("rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}") + + upstream = read_command_text(upstream_result) + if upstream: + ahead_result = run("rev-list", "--left-right", "--count", f"HEAD...{upstream}") + ahead_behind = parse_ahead_behind(read_command_text(ahead_result), upstream, None if ahead_result.ok else ahead_result.compact()) + else: + ahead_behind = AheadBehind(upstream=None, error=upstream_result.compact() or "sem upstream") + + return GitState( + branch=read_command_text(branch_result), + head=read_command_text(head_result), + head_summary=read_command_text(summary_result), + remote_origin=read_command_text(remote_result), + status_short=split_status_lines(read_command_text(status_result)), + upstream=upstream, + ahead_behind=ahead_behind, + fetch_result=fetch_result, + command_errors=tuple(errors), + ) + + +def observe_target_in_environment( + target: RepositoryTarget, + environment: MeshEnvironment, + *, + runner: GitRunner = default_git_runner, + fetch: bool = False, +) -> MirrorObservation: + """Observe one target in one environment.""" + + expected_path = environment.path_for(target.expected_local_name) + if not environment_reachable(environment): + return MirrorObservation( + target_name=target.declared_name, + environment_id=environment.environment_id, + environment_kind=environment.kind, + expected_path=str(expected_path), + matched_path=None, + matched_name=None, + presence=MeshPresence.UNREACHABLE_ENVIRONMENT, + nomenclature_note=f"ambiente nao acessivel a partir desta sessao: {environment.root}", + ) + matched_path, matched_name, note = find_materialized_path(target, environment) + if not matched_path.exists(): + return MirrorObservation( + target_name=target.declared_name, + environment_id=environment.environment_id, + environment_kind=environment.kind, + expected_path=str(expected_path), + matched_path=None, + matched_name=None, + presence=MeshPresence.MISSING, + nomenclature_note=note, + ) + git_dir = matched_path / ".git" + if not git_dir.exists(): + return MirrorObservation( + target_name=target.declared_name, + environment_id=environment.environment_id, + environment_kind=environment.kind, + expected_path=str(expected_path), + matched_path=str(matched_path), + matched_name=matched_name, + presence=MeshPresence.PRESENT_NOT_GIT, + nomenclature_note=note or "diretorio existe, mas .git nao foi encontrado", + ) + state = inspect_git_state(matched_path, runner=runner, fetch=fetch) + return MirrorObservation( + target_name=target.declared_name, + environment_id=environment.environment_id, + environment_kind=environment.kind, + expected_path=str(expected_path), + matched_path=str(matched_path), + matched_name=matched_name, + presence=MeshPresence.PRESENT_GIT, + git_state=state, + nomenclature_note=note, + ) + + +def remote_matches_expected(remote: str | None, target: RepositoryTarget) -> bool: + if not remote: + return False + return normalize_remote_url(remote) == normalize_remote_url(target.expected_remote_url) + + +def normalize_remote_url(value: str) -> str: + cleaned = value.strip().replace("\\", "/") + cleaned = cleaned.removesuffix("/") + if cleaned.endswith(".git"): + cleaned = cleaned[:-4] + return cleaned.lower() + + +def action( + target: RepositoryTarget, + observation: MirrorObservation, + kind: MeshActionKind, + risk: MeshRiskLevel, + reason: str, + *, + command_preview: Iterable[str] = (), + required_before: Iterable[str] = (), + evidence: Iterable[str] = (), + destructive: bool = False, + can_execute_automatically: bool = False, +) -> MeshAction: + seed = { + "target": target.declared_name, + "environment": observation.environment_id, + "kind": kind.value, + "reason": reason, + "commands": list(command_preview), + } + return MeshAction( + action_id=f"mesh-action-{stable_digest(seed, 12)}", + target_name=target.declared_name, + environment_id=observation.environment_id, + kind=kind, + risk=risk, + reason=reason, + command_preview=tuple(command_preview), + required_before=tuple(required_before), + evidence=tuple(evidence), + destructive=destructive, + can_execute_automatically=can_execute_automatically, + ) + + +def actions_for_observation(target: RepositoryTarget, observation: MirrorObservation) -> tuple[MeshAction, ...]: + """Build safe actions for a single observation.""" + + actions: list[MeshAction] = [] + if observation.presence == MeshPresence.UNREACHABLE_ENVIRONMENT: + actions.append( + action( + target, + observation, + MeshActionKind.REQUIRE_ENVIRONMENT_ACCESS, + MeshRiskLevel.BLOCKED, + "ambiente declarado na OS nao esta acessivel nesta sessao", + required_before=("abrir sessao no ambiente indicado", "rodar inventario local com a mesma rotina"), + evidence=(observation.nomenclature_note or observation.expected_path,), + ) + ) + return tuple(actions) + if observation.presence == MeshPresence.MISSING: + actions.append( + action( + target, + observation, + MeshActionKind.CLONE_MISSING, + MeshRiskLevel.ATTENTION, + "espelho ausente; clonar somente se destino continuar vazio e credencial estiver disponivel", + command_preview=( + f"git clone {target.expected_remote_url} {observation.expected_path}", + ), + required_before=("confirmar credencial Git", "confirmar que nao existe diretorio de destino", "executar clone sem sobrescrever"), + evidence=(observation.expected_path,), + can_execute_automatically=False, + ) + ) + return tuple(actions) + if observation.presence == MeshPresence.PRESENT_NOT_GIT: + actions.append( + action( + target, + observation, + MeshActionKind.BLOCK_DESTRUCTIVE_SYNC, + MeshRiskLevel.BLOCKED, + "diretorio existe sem .git; clone ou replace automatico poderia apagar conteudo local", + required_before=("inventariar conteudo do diretorio", "decidir se e backup, alias ou erro de materializacao"), + evidence=(observation.matched_path or observation.expected_path,), + destructive=True, + ) + ) + return tuple(actions) + + state = observation.git_state + if state is None: + actions.append( + action( + target, + observation, + MeshActionKind.REGISTER_EVIDENCE, + MeshRiskLevel.ATTENTION, + "estado Git nao foi coletado", + evidence=(observation.matched_path or observation.expected_path,), + ) + ) + return tuple(actions) + + if observation.nomenclature_note: + kind = MeshActionKind.RENAME_LOCAL_FOLDER if target.requires_nominal_reconciliation else MeshActionKind.CREATE_ALIAS_RECORD + auto = kind == MeshActionKind.RENAME_LOCAL_FOLDER and state.cleanliness == GitCleanliness.CLEAN + actions.append( + action( + target, + observation, + kind, + MeshRiskLevel.ATTENTION, + observation.nomenclature_note, + command_preview=(f"Rename-Item -LiteralPath '{observation.matched_path}' -NewName '{target.expected_local_name}'",) + if kind == MeshActionKind.RENAME_LOCAL_FOLDER + else (), + required_before=("confirmar destino inexistente", "registrar hash HEAD antes do renome"), + evidence=(observation.matched_path or "", observation.expected_path, state.head or ""), + can_execute_automatically=auto, + ) + ) + if not remote_matches_expected(state.remote_origin, target): + actions.append( + action( + target, + observation, + MeshActionKind.FIX_REMOTE_URL, + MeshRiskLevel.ATTENTION, + "remote origin nao corresponde ao Gitea esperado", + command_preview=(f"git remote set-url origin {target.expected_remote_url}",), + required_before=("registrar remote anterior", "executar fetch apos ajuste", "nao alterar branch nem working tree"), + evidence=(state.remote_origin or "sem remote", target.expected_remote_url), + can_execute_automatically=False, + ) + ) + if state.cleanliness == GitCleanliness.DIRTY: + actions.append( + action( + target, + observation, + MeshActionKind.BLOCK_DESTRUCTIVE_SYNC, + MeshRiskLevel.BLOCKED, + "working tree sujo; pull/reset/merge/rebase poderiam sobrescrever alteracao valida", + required_before=("commit ou stash consciente das alteracoes", "registrar diff resumido", "decidir precedencia"), + evidence=state.dirty_preview(), + destructive=True, + ) + ) + if state.ahead_behind.divergent: + actions.append( + action( + target, + observation, + MeshActionKind.BLOCK_DESTRUCTIVE_SYNC, + MeshRiskLevel.BLOCKED, + "branch divergente ahead/behind; reconciliacao automatica poderia escolher versao antiga", + required_before=("comparar commits", "decidir fonte valida mais recente", "fazer merge/rebase apenas com operador"), + evidence=(state.ahead_behind.label(),), + destructive=True, + ) + ) + elif state.ahead_behind.has_local_commits: + actions.append( + action( + target, + observation, + MeshActionKind.REGISTER_EVIDENCE, + MeshRiskLevel.ATTENTION, + "ha commits locais nao enviados; push exige credencial e revisao de precedencia", + command_preview=("git push origin HEAD",), + required_before=("confirmar remoto correto", "confirmar que push nao reverte estado remoto mais recente"), + evidence=(state.ahead_behind.label(), state.head or ""), + can_execute_automatically=False, + ) + ) + elif state.ahead_behind.has_remote_commits: + actions.append( + action( + target, + observation, + MeshActionKind.BLOCK_DESTRUCTIVE_SYNC, + MeshRiskLevel.BLOCKED if state.cleanliness == GitCleanliness.DIRTY else MeshRiskLevel.ATTENTION, + "ha commits remotos nao aplicados; pull automatico so e seguro com working tree limpo e comparacao de hash", + command_preview=("git fetch --all --prune", "git merge --ff-only @{u}"), + required_before=("confirmar working tree limpo", "usar somente fast-forward", "bloquear se nao for fast-forward"), + evidence=(state.ahead_behind.label(),), + destructive=False, + can_execute_automatically=state.cleanliness == GitCleanliness.CLEAN, + ) + ) + if state.has_fetch_error: + kind = ( + MeshActionKind.REQUIRE_CREDENTIAL + if state.fetch_error_kind in {MeshErrorKind.CREDENTIALS_MISSING, MeshErrorKind.AUTHENTICATION} + else MeshActionKind.REGISTER_EVIDENCE + ) + risk = MeshRiskLevel.BLOCKED if kind == MeshActionKind.REQUIRE_CREDENTIAL else MeshRiskLevel.ATTENTION + actions.append( + action( + target, + observation, + kind, + risk, + f"fetch falhou: {state.fetch_error_kind.value}", + required_before=("fornecer credencial Git valida", "reexecutar fetch nao destrutivo"), + evidence=(state.fetch_result.compact() if state.fetch_result else "",), + ) + ) + if not actions: + actions.append( + action( + target, + observation, + MeshActionKind.FETCH, + MeshRiskLevel.OK, + "espelho materializado; fetch nao destrutivo e acao padrao de manutencao", + command_preview=("git fetch --all --prune",), + evidence=(state.head or "", state.remote_origin or ""), + can_execute_automatically=True, + ) + ) + return tuple(actions) + + +def summarize_repository(target: RepositoryTarget, observations: Sequence[MirrorObservation]) -> MeshRepositorySummary: + """Summarize risks and actions for one target.""" + + all_actions: list[MeshAction] = [] + for observation in observations: + all_actions.extend(actions_for_observation(target, observation)) + + hashes = merge_unique(obs.hash_label for obs in observations if obs.hash_label) + aligned_hash = hashes[0] if len(hashes) == 1 and hashes else None + dirty = sum(1 for obs in observations if obs.git_state and obs.git_state.cleanliness == GitCleanliness.DIRTY) + missing = sum(1 for obs in observations if obs.is_missing) + remote_mismatch = sum( + 1 + for obs in observations + if obs.git_state is not None and not remote_matches_expected(obs.git_state.remote_origin, target) + ) + nominal_mismatch = sum(1 for obs in observations if bool(obs.nomenclature_note)) + credential_errors = sum( + 1 + for obs in observations + if obs.git_state is not None + and obs.git_state.fetch_error_kind in {MeshErrorKind.CREDENTIALS_MISSING, MeshErrorKind.AUTHENTICATION} + ) + destructive_blocks = sum(1 for action_item in all_actions if action_item.kind == MeshActionKind.BLOCK_DESTRUCTIVE_SYNC) + if destructive_blocks or credential_errors or any(action_item.risk == MeshRiskLevel.BLOCKED for action_item in all_actions): + risk = MeshRiskLevel.BLOCKED + elif missing or remote_mismatch or nominal_mismatch or len(hashes) > 1: + risk = MeshRiskLevel.ATTENTION + else: + risk = MeshRiskLevel.OK + + summary_parts: list[str] = [] + if aligned_hash: + summary_parts.append(f"hash unico {aligned_hash[:12]}") + elif hashes: + summary_parts.append(f"{len(hashes)} hashes distintos") + else: + summary_parts.append("sem hash HEAD confirmado") + if missing: + summary_parts.append(f"{missing} materializacoes ausentes/inacessiveis") + if dirty: + summary_parts.append(f"{dirty} worktrees sujos") + if remote_mismatch: + summary_parts.append(f"{remote_mismatch} remotes divergentes") + if nominal_mismatch: + summary_parts.append(f"{nominal_mismatch} divergencias nominais") + if credential_errors: + summary_parts.append(f"{credential_errors} falhas de credencial") + if destructive_blocks: + summary_parts.append(f"{destructive_blocks} bloqueios contra sync destrutiva") + + return MeshRepositorySummary( + target=target, + observations=tuple(observations), + actions=tuple(all_actions), + risk=risk, + aligned_hash=aligned_hash, + hash_set=hashes, + dirty_count=dirty, + missing_count=missing, + remote_mismatch_count=remote_mismatch, + nominal_mismatch_count=nominal_mismatch, + credential_error_count=credential_errors, + destructive_block_count=destructive_blocks, + summary="; ".join(summary_parts), + ) + + +def build_mesh_report( + ecosystem_root: Path, + *, + central_root: Path | None = None, + targets: Sequence[RepositoryTarget] | None = None, + environments: Sequence[MeshEnvironment] | None = None, + runner: GitRunner = default_git_runner, + fetch: bool = False, + plugin_auth_attempt: str = "", +) -> MeshReport: + """Build a full report from local observation.""" + + selected_targets = tuple(targets or default_repository_targets()) + selected_environments = tuple(environments or default_mesh_environments(ecosystem_root)) + summaries: list[MeshRepositorySummary] = [] + for target in selected_targets: + observations = tuple( + observe_target_in_environment(target, environment, runner=runner, fetch=fetch) + for environment in selected_environments + ) + summaries.append(summarize_repository(target, observations)) + report_seed = { + "ecosystem": str(ecosystem_root), + "central": str(central_root) if central_root else "", + "targets": [target.declared_name for target in selected_targets], + "generated": utc_now(), + } + return MeshReport( + report_id=f"repository-mesh-{stable_digest(report_seed, 12)}", + generated_at=utc_now(), + ecosystem_root=str(ecosystem_root), + central_root=str(central_root) if central_root else None, + targets=selected_targets, + environments=selected_environments, + summaries=tuple(summaries), + fetch_enabled=fetch, + plugin_auth_attempt=plugin_auth_attempt, + ) + + +def mesh_inventory_rows(report: MeshReport) -> list[list[str]]: + """Rows required by the permanent synchronization order.""" + + rows = [ + [ + "nome_declarado", + "nome_esperado", + "repositorio_gitea", + "ambiente", + "caminho_esperado", + "nome_encontrado", + "caminho_encontrado", + "presenca", + "branch", + "head", + "remote_origin", + "status_worktree", + "ahead_behind", + "fetch", + "observacao_nomenclatura", + ] + ] + for summary in report.summaries: + target = summary.target + for obs in summary.observations: + state = obs.git_state + rows.append( + [ + target.declared_name, + target.expected_local_name, + target.gitea_repo, + obs.environment_id, + obs.expected_path, + obs.matched_name or "", + obs.matched_path or "", + obs.presence.value, + state.branch if state else "", + state.head if state else "", + state.remote_origin if state else "", + state.cleanliness.value if state else obs.presence.value, + state.ahead_behind.label() if state else "", + state.fetch_result.compact() if state and state.fetch_result else ("not-run" if not report.fetch_enabled else ""), + obs.nomenclature_note or "", + ] + ) + return rows + + +def mesh_action_rows(report: MeshReport) -> list[list[str]]: + rows = [ + [ + "action_id", + "nome_declarado", + "ambiente", + "tipo", + "risco", + "automatico", + "destrutivo", + "motivo", + "comandos", + "pre_requisitos", + "evidencias", + ] + ] + for summary in report.summaries: + for item in summary.actions: + rows.append( + [ + item.action_id, + item.target_name, + item.environment_id, + item.kind.value, + item.risk.value, + "sim" if item.can_execute_automatically else "nao", + "sim" if item.destructive else "nao", + item.reason, + " | ".join(item.command_preview), + " | ".join(item.required_before), + " | ".join(item.evidence), + ] + ) + return rows + + +def rows_to_csv(rows: Sequence[Sequence[str]]) -> str: + buffer = io.StringIO() + writer = csv.writer(buffer, lineterminator="\n") + writer.writerows(rows) + return buffer.getvalue() + + +def mesh_inventory_csv(report: MeshReport) -> str: + return rows_to_csv(mesh_inventory_rows(report)) + + +def mesh_actions_csv(report: MeshReport) -> str: + return rows_to_csv(mesh_action_rows(report)) + + +def mesh_summary_payload(report: MeshReport) -> dict[str, Any]: + """Compact JSON for dashboards and SQLite.""" + + return { + "reportId": report.report_id, + "generatedAt": report.generated_at, + "fetchEnabled": report.fetch_enabled, + "pluginAuthAttempt": report.plugin_auth_attempt, + "targets": len(report.targets), + "environments": len(report.environments), + "observations": report.total_observations, + "ok": report.ok_count, + "attention": report.attention_count, + "blocked": report.blocked_count, + "missingMaterializations": report.missing_materializations, + "dirtyRepositories": report.dirty_repositories, + "credentialErrors": report.credential_errors, + "destructiveBlocks": report.destructive_blocks, + "repositories": [ + { + "declaredName": summary.target.declared_name, + "expectedLocalName": summary.target.expected_local_name, + "giteaRepo": summary.target.gitea_repo, + "risk": summary.risk.value, + "alignedHash": summary.aligned_hash, + "hashes": list(summary.hash_set), + "dirty": summary.dirty_count, + "missing": summary.missing_count, + "remoteMismatch": summary.remote_mismatch_count, + "nominalMismatch": summary.nominal_mismatch_count, + "credentialErrors": summary.credential_error_count, + "fetchErrorKinds": merge_unique( + obs.git_state.fetch_error_kind.value + for obs in summary.observations + if obs.git_state is not None and obs.git_state.fetch_error_kind != MeshErrorKind.NONE + ), + "actionKinds": merge_unique(action_item.kind.value for action_item in summary.actions), + "summary": summary.summary, + } + for summary in report.summaries + ], + } + + +def mesh_markdown(report: MeshReport) -> str: + """Human-readable evidence report.""" + + lines = [ + "# Repository Mesh Sync", + "", + f"- report_id: `{report.report_id}`", + f"- generated_at: `{report.generated_at}`", + f"- ecosystem_root: `{report.ecosystem_root}`", + f"- fetch_enabled: `{report.fetch_enabled}`", + f"- plugin_cloudflare_auth_attempt: `{report.plugin_auth_attempt or 'nao informado'}`", + f"- repositorios declarados: `{len(report.targets)}`", + f"- ambientes declarados: `{len(report.environments)}`", + f"- observacoes: `{report.total_observations}`", + f"- ok: `{report.ok_count}`", + f"- attention: `{report.attention_count}`", + f"- blocked: `{report.blocked_count}`", + f"- worktrees sujos: `{report.dirty_repositories}`", + f"- falhas de credencial: `{report.credential_errors}`", + f"- bloqueios contra sync destrutiva: `{report.destructive_blocks}`", + "", + "## Regra de seguranca aplicada", + "", + "- Nenhum reset, checkout, clean, pull, merge ou rebase automatico foi executado por esta rotina.", + "- Fetch e inventario usam `git -c safe.directory=*` para evitar falso negativo de ownership sem alterar config global.", + "- Worktree sujo, divergencia ahead/behind, diretorio sem `.git`, credencial ausente e ambiente inacessivel viram bloqueio ou atencao documentada.", + "- A rotina privilegia preservacao da alteracao valida mais recente e bloqueia qualquer acao que possa reintroduzir estado antigo.", + "", + "## Repositorios", + "", + ] + for summary in report.summaries: + lines.append(f"### {summary.target.declared_name}") + lines.append("") + lines.append(f"- esperado_local: `{summary.target.expected_local_name}`") + lines.append(f"- repositorio_gitea: `{summary.target.gitea_repo}`") + lines.append(f"- remote_esperado: `{summary.target.expected_remote_url}`") + lines.append(f"- risco: `{summary.risk.value}`") + lines.append(f"- resumo: {summary.summary}") + if summary.target.notes: + lines.append("- notas:") + for note in summary.target.notes: + lines.append(f" - {note}") + lines.append("") + lines.append("| ambiente | presenca | branch | head | remote | worktree | observacao |") + lines.append("| --- | --- | --- | --- | --- | --- | --- |") + for obs in summary.observations: + state = obs.git_state + head = (state.head[:12] if state and state.head else "") + remote = state.remote_origin if state and state.remote_origin else "" + branch = state.branch if state and state.branch else "" + worktree = state.cleanliness.value if state else obs.presence.value + note = (obs.nomenclature_note or "").replace("|", "/") + lines.append( + f"| `{obs.environment_id}` | `{obs.presence.value}` | `{branch}` | `{head}` | `{remote}` | `{worktree}` | {note} |" + ) + lines.append("") + if summary.actions: + lines.append("Acoes/decisoes:") + for item in summary.actions[:12]: + auto = "auto" if item.can_execute_automatically else "manual" + lines.append(f"- `{item.kind.value}` `{item.risk.value}` `{auto}`: {item.reason}") + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def automation_markdown(report: MeshReport) -> str: + """Describe the automatic synchronization mechanism required by the OS.""" + + lines = [ + "# Repository Mesh Automation", + "", + "## Objetivo", + "", + "Executar a cada 5 minutos um ciclo nao destrutivo de inventario, fetch, comparacao de hashes e bloqueio de risco.", + "", + "## Contrato operacional", + "", + "- Etapa 1: criar lock por ambiente para evitar duas sincronizacoes simultaneas.", + "- Etapa 2: inventariar caminho, `.git`, branch, HEAD, remote, status e upstream.", + "- Etapa 3: executar somente `git fetch --all --prune` nos repositorios materializados.", + "- Etapa 4: calcular ahead/behind sem modificar working tree.", + "- Etapa 5: permitir fast-forward apenas quando worktree estiver limpo e o merge for comprovadamente `--ff-only`.", + "- Etapa 6: bloquear qualquer dirty tree, divergencia, falta de credencial, ambiente ausente, remote divergente ou renome pendente.", + "- Etapa 7: gravar JSON, CSV e Markdown com hash, timestamp, comando e decisao.", + "- Etapa 8: nunca executar reset, clean, checkout, merge nao fast-forward, rebase ou pull generico.", + "", + "## Scheduled Task Windows sugerida", + "", + "```powershell", + "$python = 'C:\\Users\\Ami\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe'", + "$repo = 'G:\\_codex-git\\tudo-para-ia-mais-humana-plataform'", + "$central = 'G:\\_codex-git\\nucleo-gestao-operacional\\central-de-ordem-de-servico\\projects\\15_repo_tudo-para-ia-mais-humana'", + "$action = New-ScheduledTaskAction -Execute $python -Argument \"-m mais_humana.cli repo-mesh --ecosystem-root G:\\_codex-git --project-root $repo --central-platform-folder $central --fetch\"", + "$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 5)", + "Register-ScheduledTask -TaskName 'TudoParaIA-RepositoryMeshSync' -Action $action -Trigger $trigger", + "```", + "", + "## Cron Linux sugerido", + "", + "```cron", + "*/5 * * * * cd /root/__gpt-codex/tudo-para-ia-mais-humana-plataform && python -m mais_humana.cli repo-mesh --ecosystem-root /root/__gpt-codex --fetch", + "```", + "", + "## Estado desta rodada", + "", + f"- report_id: `{report.report_id}`", + f"- blocked: `{report.blocked_count}`", + f"- attention: `{report.attention_count}`", + f"- credential_errors: `{report.credential_errors}`", + f"- missing_materializations: `{report.missing_materializations}`", + "", + ] + blockers = [ + f"{summary.target.declared_name}: {summary.summary}" + for summary in report.summaries + if summary.risk != MeshRiskLevel.OK + ] + if blockers: + lines.append("## Bloqueios para ativacao plena") + lines.append("") + lines.extend(f"- {item}" for item in blockers[:40]) + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def central_orders_for_target(target: RepositoryTarget, central_projects_root: Path | None) -> tuple[str, ...]: + """Return active service-order files for a target's central folder.""" + + if central_projects_root is None: + return () + folder = central_projects_root / target.central_folder + if not folder.exists(): + return () + orders: list[str] = [] + for sub in ("orders/executivas", "orders/gerenciais"): + order_dir = folder / sub + if not order_dir.exists(): + continue + for path in sorted(order_dir.glob("*.md"), key=lambda item: item.name): + orders.append(str(path)) + return tuple(orders) + + +def mesh_orders_payload(report: MeshReport) -> dict[str, Any]: + """Return repository to service-order mapping for the permanent OS.""" + + central_root = Path(report.central_root) if report.central_root else None + return { + "reportId": report.report_id, + "generatedAt": report.generated_at, + "repositories": [ + { + "declaredName": summary.target.declared_name, + "expectedLocalName": summary.target.expected_local_name, + "centralFolder": summary.target.central_folder, + "risk": summary.risk.value, + "activeOrders": list(central_orders_for_target(summary.target, central_root)), + "actions": [action_item.to_dict() for action_item in summary.actions], + } + for summary in report.summaries + ], + } + + +def mesh_orders_markdown(report: MeshReport) -> str: + payload = mesh_orders_payload(report) + lines = [ + "# Ordens relacionadas por repositorio", + "", + f"- report_id: `{report.report_id}`", + f"- generated_at: `{report.generated_at}`", + "", + ] + for item in payload["repositories"]: + lines.append(f"## {item['declaredName']}") + lines.append("") + lines.append(f"- pasta_central: `{item['centralFolder']}`") + lines.append(f"- risco: `{item['risk']}`") + orders = item["activeOrders"] + if orders: + lines.append("- ordens_ativas:") + for order_path in orders[:30]: + lines.append(f" - `{order_path}`") + else: + lines.append("- ordens_ativas: nenhuma ordem encontrada ou pasta central ausente") + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def write_json(path: Path, payload: object) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(as_plain_data(payload), ensure_ascii=False, indent=2, sort_keys=True), encoding="utf-8") + return path + + +def write_text(path: Path, text: str) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text, encoding="utf-8") + return path + + +def mesh_generated_records(project_root: Path, central_folder: Path | None = None) -> tuple[GeneratedFile, ...]: + relation = "000_sincronizacao-dos-espelhos" + records = [] + for rel, description, function, file_type in ( + ("dados/repository-mesh-inventory.json", "Inventario completo da malha de repositorios.", "repository mesh", "json"), + ("dados/repository-mesh-summary.json", "Resumo executivo da malha de repositorios.", "repository mesh summary", "json"), + ("dados/repository-mesh-orders.json", "Mapa de ordens relacionadas por repositorio.", "repository mesh orders", "json"), + ("matrizes/repository-mesh-inventory.csv", "Inventario tabular por ambiente e repositorio.", "repository mesh inventory", "csv"), + ("matrizes/repository-mesh-actions.csv", "Acoes seguras e bloqueios por repositorio.", "repository mesh actions", "csv"), + ("ecossistema/REPOSITORY-MESH-SYNC.md", "Relatorio humano de sincronizacao segura da malha.", "repository mesh report", "markdown"), + ("ecossistema/REPOSITORY-MESH-AUTOMATION.md", "Especificacao da rotina automatica de 5 minutos.", "repository mesh automation", "markdown"), + ("ecossistema/REPOSITORY-MESH-ORDERS.md", "Ordens relacionadas por repositorio consolidado.", "repository mesh orders", "markdown"), + ): + records.append( + GeneratedFile( + path=rel, + description=description, + function=function, + file_type=file_type, + changed_by="mais_humana.repository_mesh", + change_summary=description, + relation_to_order=relation, + ) + ) + if central_folder is not None: + for rel in ( + "reports/EXECUTADO__repository-mesh-sync.md", + "reports/PENDENCIAS-CODEX__repository-mesh-sync.md", + "audit/AUDITORIA-GPT__repository-mesh-sync.md", + "indexes/repository-mesh-index.md", + ): + records.append( + GeneratedFile( + path=str(central_folder / rel), + description="Registro da execucao da sincronizacao segura na central.", + function="repository mesh central record", + file_type="markdown", + changed_by="mais_humana.repository_mesh", + change_summary="Registro central da OS permanente de sincronizacao.", + relation_to_order=relation, + ) + ) + return tuple(records) + + +def write_mesh_artifacts( + report: MeshReport, + project_root: Path, + *, + central_platform_folder: Path | None = None, +) -> tuple[GeneratedFile, ...]: + """Write JSON, CSV, Markdown, and central records for a mesh report.""" + + write_json(project_root / "dados" / "repository-mesh-inventory.json", report) + write_json(project_root / "dados" / "repository-mesh-summary.json", mesh_summary_payload(report)) + write_json(project_root / "dados" / "repository-mesh-orders.json", mesh_orders_payload(report)) + write_text(project_root / "matrizes" / "repository-mesh-inventory.csv", mesh_inventory_csv(report)) + write_text(project_root / "matrizes" / "repository-mesh-actions.csv", mesh_actions_csv(report)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-SYNC.md", mesh_markdown(report)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-AUTOMATION.md", automation_markdown(report)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-ORDERS.md", mesh_orders_markdown(report)) + if central_platform_folder is not None: + reports = central_platform_folder / "reports" + audit = central_platform_folder / "audit" + indexes = central_platform_folder / "indexes" + for folder in (reports, audit, indexes): + folder.mkdir(parents=True, exist_ok=True) + write_text(reports / "EXECUTADO__repository-mesh-sync.md", mesh_markdown(report)) + write_text(reports / "PENDENCIAS-CODEX__repository-mesh-sync.md", mesh_pending_markdown(report)) + write_text(audit / "AUDITORIA-GPT__repository-mesh-sync.md", mesh_audit_markdown(report)) + write_text(indexes / "repository-mesh-index.md", mesh_orders_markdown(report)) + return mesh_generated_records(project_root, central_platform_folder) + + +def mesh_pending_markdown(report: MeshReport) -> str: + lines = ["# PENDENCIAS-CODEX - Repository Mesh Sync", ""] + pending = [] + for summary in report.summaries: + for item in summary.actions: + if item.risk != MeshRiskLevel.OK: + pending.append(f"{summary.target.declared_name} / {item.environment_id}: {item.reason}") + if pending: + lines.extend(f"- {item}" for item in pending) + else: + lines.append("- Nenhuma pendencia material detectada pela rotina repository mesh.") + lines.append("") + lines.append("## Observacao Cloudflare") + lines.append("") + lines.append("- A tentativa do plugin Cloudflare foi registrada somente como premissa inicial; falha do plugin nao foi tratada como blocker da OS.") + lines.append("- Trabalho operacional Cloudflare permanece por `wrangler`, fora do teste de autenticacao inicial do plugin.") + return "\n".join(lines).strip() + "\n" + + +def mesh_audit_markdown(report: MeshReport) -> str: + lines = [ + "# AUDITORIA-GPT - Repository Mesh Sync", + "", + "## Confirmado", + "", + f"- Repositorios declarados: `{len(report.targets)}`", + f"- Ambientes declarados: `{len(report.environments)}`", + f"- Observacoes geradas: `{report.total_observations}`", + f"- Fetch habilitado: `{report.fetch_enabled}`", + f"- Bloqueios contra sync destrutiva: `{report.destructive_blocks}`", + f"- Falhas de credencial: `{report.credential_errors}`", + f"- Materializacoes ausentes/inacessiveis: `{report.missing_materializations}`", + "", + "## Parcial ou bloqueado", + "", + ] + for summary in report.summaries: + if summary.risk == MeshRiskLevel.OK: + continue + lines.append(f"- `{summary.target.declared_name}` risco `{summary.risk.value}`: {summary.summary}") + lines.extend( + [ + "", + "## Regra de nao reversao", + "", + "- A rotina nao executou reset, checkout, clean, pull, merge ou rebase.", + "- Toda acao que poderia sobrescrever estado local foi convertida em bloqueio ou decisao manual.", + "- Fetch com credencial ausente foi registrado como pendencia material, nao como sucesso presumido.", + ] + ) + return "\n".join(lines).strip() + "\n" + + +DESTRUCTIVE_GIT_PATTERN = re.compile( + r"\b(reset|clean|checkout|restore|merge|rebase|pull)\b", + re.IGNORECASE, +) + + +def command_is_destructive(command: str) -> bool: + """Return True if a command contains a forbidden sync primitive.""" + + lowered = command.lower() + if "merge --ff-only" in lowered: + return False + return bool(DESTRUCTIVE_GIT_PATTERN.search(lowered)) + + +def validate_action_set(actions: Sequence[MeshAction]) -> tuple[str, ...]: + """Validate that auto actions do not carry forbidden commands.""" + + problems: list[str] = [] + for item in actions: + if item.can_execute_automatically: + for command in item.command_preview: + if command_is_destructive(command): + problems.append(f"{item.action_id}: comando automatico destrutivo: {command}") + if item.destructive and item.can_execute_automatically: + problems.append(f"{item.action_id}: acao destrutiva marcada como automatica") + return tuple(problems) + + +def validate_report(report: MeshReport) -> tuple[str, ...]: + """Validate internal safety invariants of a report.""" + + problems: list[str] = [] + for summary in report.summaries: + problems.extend(validate_action_set(summary.actions)) + if summary.dirty_count and summary.risk == MeshRiskLevel.OK: + problems.append(f"{summary.target.declared_name}: worktree sujo classificado como ok") + if summary.credential_error_count and summary.risk == MeshRiskLevel.OK: + problems.append(f"{summary.target.declared_name}: credencial ausente classificada como ok") + if summary.destructive_block_count and summary.risk == MeshRiskLevel.OK: + problems.append(f"{summary.target.declared_name}: bloqueio destrutivo classificado como ok") + return tuple(problems) + + +def run_repository_mesh( + ecosystem_root: Path, + project_root: Path, + *, + central_platform_folder: Path | None = None, + fetch: bool = False, + plugin_auth_attempt: str = "", + runner: GitRunner = default_git_runner, +) -> tuple[MeshReport, tuple[GeneratedFile, ...]]: + """Build, validate, and write repository mesh artifacts.""" + + central_root = central_platform_folder.parent if central_platform_folder is not None else None + report = build_mesh_report( + ecosystem_root, + central_root=central_root, + runner=runner, + fetch=fetch, + plugin_auth_attempt=plugin_auth_attempt, + ) + problems = validate_report(report) + if problems: + problem_text = "\n".join(problems) + raise ValueError(f"repository mesh safety validation failed:\n{problem_text}") + records = write_mesh_artifacts(report, project_root, central_platform_folder=central_platform_folder) + return report, records + + +def repository_mesh_artifact_records(project_root: Path, central_platform_folder: Path | None = None) -> tuple[dict[str, str], ...]: + """Return semantic file records for storage integration.""" + + return tuple( + { + "path": item.path if os.path.isabs(item.path) else str(project_root / item.path), + "description": item.description, + "function": item.function, + "file_type": item.file_type, + } + for item in mesh_generated_records(project_root, central_platform_folder) + ) diff --git a/src/mais_humana/repository_mesh_gitea.py b/src/mais_humana/repository_mesh_gitea.py new file mode 100644 index 0000000..8643806 --- /dev/null +++ b/src/mais_humana/repository_mesh_gitea.py @@ -0,0 +1,440 @@ +"""Gitea planning helpers for repository mesh consolidation. + +The permanent order asks the mesh to be consolidated in Gitea. This module +keeps the Gitea part explicit and safe: it can build API requests, classify +responses, and plan repository creation/rename work, but it does not hide +missing credentials or assume a remote exists just because a local directory +does. +""" + +from __future__ import annotations + +import base64 +import json +import urllib.error +import urllib.parse +import urllib.request +from dataclasses import dataclass +from enum import Enum +from pathlib import Path +from typing import Any, Mapping, Sequence + +from .models import GeneratedFile, as_plain_data, merge_unique, utc_now +from .repository_mesh import MeshReport, RepositoryTarget, rows_to_csv, stable_digest + + +class GiteaRepoStatus(str, Enum): + """Remote repository status.""" + + EXISTS = "exists" + MISSING = "missing" + UNAUTHORIZED = "unauthorized" + FORBIDDEN = "forbidden" + NETWORK_ERROR = "network_error" + UNKNOWN = "unknown" + + +class GiteaPlannedAction(str, Enum): + """Gitea actions that may be required.""" + + NONE = "none" + VERIFY_REPOSITORY = "verify_repository" + CREATE_REPOSITORY = "create_repository" + RENAME_REPOSITORY = "rename_repository" + CONFIGURE_MIRROR = "configure_mirror" + REQUIRE_TOKEN = "require_token" + REQUIRE_OWNER_DECISION = "require_owner_decision" + + +@dataclass(frozen=True, slots=True) +class GiteaEndpoint: + base_url: str + owner: str + repo: str + + @property + def api_repo_path(self) -> str: + owner = urllib.parse.quote(self.owner, safe="") + repo = urllib.parse.quote(self.repo, safe="") + return f"/api/v1/repos/{owner}/{repo}" + + @property + def web_url(self) -> str: + return f"{self.base_url.rstrip('/')}/{self.owner}/{self.repo}" + + @property + def clone_url(self) -> str: + return f"{self.web_url}.git" + + +@dataclass(frozen=True, slots=True) +class GiteaAuth: + token: str | None = None + username: str | None = None + password: str | None = None + + @property + def available(self) -> bool: + return bool(self.token or (self.username and self.password)) + + def headers(self) -> dict[str, str]: + headers = {"Accept": "application/json"} + if self.token: + headers["Authorization"] = f"token {self.token}" + elif self.username and self.password: + raw = f"{self.username}:{self.password}".encode("utf-8") + headers["Authorization"] = "Basic " + base64.b64encode(raw).decode("ascii") + return headers + + def redacted_label(self) -> str: + if self.token: + return "token:" + if self.username and self.password: + return f"basic:{self.username}:" + return "none" + + +@dataclass(frozen=True, slots=True) +class GiteaResponse: + status: GiteaRepoStatus + http_status: int | None + url: str + payload: Mapping[str, Any] + error: str = "" + + @property + def ok(self) -> bool: + return self.status == GiteaRepoStatus.EXISTS + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class GiteaRepositoryPlan: + plan_id: str + declared_name: str + expected_local_name: str + owner: str + repo: str + clone_url: str + status: GiteaRepoStatus + actions: tuple[GiteaPlannedAction, ...] + reason: str + commands: tuple[str, ...] + api_requests: tuple[str, ...] + evidence: tuple[str, ...] + + @property + def blocked(self) -> bool: + return any(action in {GiteaPlannedAction.REQUIRE_TOKEN, GiteaPlannedAction.REQUIRE_OWNER_DECISION} for action in self.actions) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class GiteaMeshPlan: + mesh_plan_id: str + generated_at: str + base_url: str + authenticated_as: str + repositories: tuple[GiteaRepositoryPlan, ...] + + @property + def blocked_count(self) -> int: + return sum(1 for repo in self.repositories if repo.blocked) + + @property + def missing_count(self) -> int: + return sum(1 for repo in self.repositories if repo.status == GiteaRepoStatus.MISSING) + + @property + def exists_count(self) -> int: + return sum(1 for repo in self.repositories if repo.status == GiteaRepoStatus.EXISTS) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +def endpoint_for_target(target: RepositoryTarget, base_url: str = "https://git.ami.app.br") -> GiteaEndpoint: + owner, _, repo = target.gitea_repo.partition("/") + return GiteaEndpoint(base_url=base_url.rstrip("/"), owner=owner or "admin", repo=repo or target.expected_local_name) + + +def classify_http_error(status: int | None, error: str = "") -> GiteaRepoStatus: + if status == 200: + return GiteaRepoStatus.EXISTS + if status == 404: + return GiteaRepoStatus.MISSING + if status == 401: + return GiteaRepoStatus.UNAUTHORIZED + if status == 403: + return GiteaRepoStatus.FORBIDDEN + if status is None and error: + return GiteaRepoStatus.NETWORK_ERROR + return GiteaRepoStatus.UNKNOWN + + +def request_gitea_repo(endpoint: GiteaEndpoint, auth: GiteaAuth, timeout: int = 15) -> GiteaResponse: + url = endpoint.base_url.rstrip("/") + endpoint.api_repo_path + request = urllib.request.Request(url, headers=auth.headers(), method="GET") + try: + with urllib.request.urlopen(request, timeout=timeout) as response: + text = response.read().decode("utf-8", errors="replace") + payload = json.loads(text) if text.strip() else {} + return GiteaResponse(GiteaRepoStatus.EXISTS, response.status, url, payload) + except urllib.error.HTTPError as exc: + text = exc.read().decode("utf-8", errors="replace") + try: + payload = json.loads(text) if text.strip() else {} + except json.JSONDecodeError: + payload = {"raw": text} + return GiteaResponse(classify_http_error(exc.code), exc.code, url, payload, str(exc)) + except (urllib.error.URLError, TimeoutError, OSError) as exc: + return GiteaResponse(GiteaRepoStatus.NETWORK_ERROR, None, url, {}, str(exc)) + + +def infer_status_from_report(target: RepositoryTarget, report: MeshReport) -> GiteaRepoStatus: + for summary in report.summaries: + if summary.target.declared_name != target.declared_name: + continue + if summary.credential_error_count: + return GiteaRepoStatus.UNAUTHORIZED + if any(summary.hash_set): + return GiteaRepoStatus.EXISTS + if summary.missing_count == len(summary.observations): + return GiteaRepoStatus.UNKNOWN + return GiteaRepoStatus.UNKNOWN + + +def plan_for_target( + target: RepositoryTarget, + *, + endpoint: GiteaEndpoint, + status: GiteaRepoStatus, + auth: GiteaAuth, +) -> GiteaRepositoryPlan: + actions: list[GiteaPlannedAction] = [] + commands: list[str] = [] + api_requests: list[str] = [] + evidence: list[str] = [endpoint.clone_url] + reason = "repositorio Gitea verificado" + if not auth.available: + actions.append(GiteaPlannedAction.REQUIRE_TOKEN) + reason = "credencial Gitea ausente; nao e seguro declarar existencia/criacao remota" + if status == GiteaRepoStatus.EXISTS: + actions.append(GiteaPlannedAction.VERIFY_REPOSITORY) + api_requests.append(f"GET {endpoint.api_repo_path}") + elif status == GiteaRepoStatus.MISSING: + actions.append(GiteaPlannedAction.CREATE_REPOSITORY) + api_requests.append(f"POST /api/v1/orgs/{endpoint.owner}/repos") + commands.append(f"curl -X POST {endpoint.base_url}/api/v1/orgs/{endpoint.owner}/repos -d '{{\"name\":\"{endpoint.repo}\"}}'") + reason = "repositorio Gitea nao encontrado; criar somente com token e owner confirmados" + elif status in {GiteaRepoStatus.UNAUTHORIZED, GiteaRepoStatus.FORBIDDEN}: + actions.append(GiteaPlannedAction.REQUIRE_TOKEN) + reason = "Gitea respondeu sem permissao suficiente" + elif status == GiteaRepoStatus.NETWORK_ERROR: + actions.append(GiteaPlannedAction.VERIFY_REPOSITORY) + reason = "erro de rede impede verificar repositório central" + else: + actions.append(GiteaPlannedAction.VERIFY_REPOSITORY) + reason = "estado remoto nao confirmado" + if target.requires_nominal_reconciliation: + actions.append(GiteaPlannedAction.REQUIRE_OWNER_DECISION) + evidence.extend(target.notes) + if target.canonical_name and target.canonical_name != endpoint.repo: + actions.append(GiteaPlannedAction.RENAME_REPOSITORY) + api_requests.append(f"PATCH {endpoint.api_repo_path} name={target.canonical_name}") + reason += "; renome remoto depende de decisao institucional" + actions = list(merge_unique(action.value for action in actions)) + action_enums = tuple(GiteaPlannedAction(value) for value in actions) + seed = { + "target": target.declared_name, + "status": status.value, + "actions": [action.value for action in action_enums], + "endpoint": endpoint.clone_url, + } + return GiteaRepositoryPlan( + plan_id=f"gitea-repo-plan-{stable_digest(seed, 12)}", + declared_name=target.declared_name, + expected_local_name=target.expected_local_name, + owner=endpoint.owner, + repo=endpoint.repo, + clone_url=endpoint.clone_url, + status=status, + actions=action_enums, + reason=reason, + commands=tuple(commands), + api_requests=tuple(api_requests), + evidence=tuple(evidence), + ) + + +def build_gitea_mesh_plan( + report: MeshReport, + *, + base_url: str = "https://git.ami.app.br", + auth: GiteaAuth | None = None, + live_check: bool = False, +) -> GiteaMeshPlan: + auth = auth or GiteaAuth() + plans: list[GiteaRepositoryPlan] = [] + for target in report.targets: + endpoint = endpoint_for_target(target, base_url) + if live_check and auth.available: + response = request_gitea_repo(endpoint, auth) + status = response.status + evidence = (response.url, response.error) + else: + status = infer_status_from_report(target, report) + evidence = () + plan = plan_for_target(target, endpoint=endpoint, status=status, auth=auth) + if evidence: + plan = GiteaRepositoryPlan( + plan_id=plan.plan_id, + declared_name=plan.declared_name, + expected_local_name=plan.expected_local_name, + owner=plan.owner, + repo=plan.repo, + clone_url=plan.clone_url, + status=plan.status, + actions=plan.actions, + reason=plan.reason, + commands=plan.commands, + api_requests=plan.api_requests, + evidence=merge_unique((*plan.evidence, *evidence)), + ) + plans.append(plan) + seed = {"report": report.report_id, "base": base_url, "plans": [plan.plan_id for plan in plans]} + return GiteaMeshPlan( + mesh_plan_id=f"gitea-mesh-plan-{stable_digest(seed, 12)}", + generated_at=utc_now(), + base_url=base_url.rstrip("/"), + authenticated_as=auth.redacted_label(), + repositories=tuple(plans), + ) + + +def gitea_plan_rows(plan: GiteaMeshPlan) -> list[list[str]]: + rows = [["plan_id", "declared_name", "owner", "repo", "status", "blocked", "actions", "reason", "api_requests"]] + for repo in plan.repositories: + rows.append( + [ + repo.plan_id, + repo.declared_name, + repo.owner, + repo.repo, + repo.status.value, + "yes" if repo.blocked else "no", + " | ".join(action.value for action in repo.actions), + repo.reason, + " | ".join(repo.api_requests), + ] + ) + return rows + + +def gitea_plan_csv(plan: GiteaMeshPlan) -> str: + return rows_to_csv(gitea_plan_rows(plan)) + + +def gitea_plan_markdown(plan: GiteaMeshPlan) -> str: + lines = [ + "# Gitea Repository Mesh Plan", + "", + f"- mesh_plan_id: `{plan.mesh_plan_id}`", + f"- generated_at: `{plan.generated_at}`", + f"- base_url: `{plan.base_url}`", + f"- authenticated_as: `{plan.authenticated_as}`", + f"- exists: `{plan.exists_count}`", + f"- missing: `{plan.missing_count}`", + f"- blocked: `{plan.blocked_count}`", + "", + "## Repositorios", + "", + ] + for repo in plan.repositories: + lines.append(f"### {repo.declared_name}") + lines.append("") + lines.append(f"- clone_url: `{repo.clone_url}`") + lines.append(f"- status: `{repo.status.value}`") + lines.append(f"- blocked: `{repo.blocked}`") + lines.append(f"- actions: {', '.join(action.value for action in repo.actions)}") + lines.append(f"- reason: {repo.reason}") + if repo.api_requests: + lines.append("- api_requests:") + for request in repo.api_requests: + lines.append(f" - `{request}`") + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def write_json(path: Path, payload: object) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(as_plain_data(payload), ensure_ascii=False, indent=2, sort_keys=True), encoding="utf-8") + return path + + +def write_text(path: Path, text: str) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text, encoding="utf-8") + return path + + +def write_gitea_plan_artifacts( + plan: GiteaMeshPlan, + project_root: Path, + *, + central_platform_folder: Path | None = None, +) -> tuple[GeneratedFile, ...]: + write_json(project_root / "dados" / "repository-mesh-gitea-plan.json", plan) + write_text(project_root / "matrizes" / "repository-mesh-gitea-plan.csv", gitea_plan_csv(plan)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-GITEA.md", gitea_plan_markdown(plan)) + if central_platform_folder is not None: + reports = central_platform_folder / "reports" + reports.mkdir(parents=True, exist_ok=True) + write_text(reports / "PENDENCIAS-CODEX__repository-mesh-gitea.md", gitea_plan_markdown(plan)) + records = [ + GeneratedFile( + path="dados/repository-mesh-gitea-plan.json", + description="Plano Gitea da malha de repositorios.", + function="repository mesh gitea plan", + file_type="json", + changed_by="mais_humana.repository_mesh_gitea", + change_summary="Criado plano de verificacao/criacao/renome remoto.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="matrizes/repository-mesh-gitea-plan.csv", + description="Matriz do plano Gitea.", + function="repository mesh gitea matrix", + file_type="csv", + changed_by="mais_humana.repository_mesh_gitea", + change_summary="Gerada matriz de acoes Gitea.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="ecossistema/REPOSITORY-MESH-GITEA.md", + description="Relatorio humano do plano Gitea.", + function="repository mesh gitea report", + file_type="markdown", + changed_by="mais_humana.repository_mesh_gitea", + change_summary="Documentado plano Gitea sem credencial bruta.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + ] + if central_platform_folder is not None: + records.append( + GeneratedFile( + path=str(central_platform_folder / "reports" / "PENDENCIAS-CODEX__repository-mesh-gitea.md"), + description="Pendencias Gitea registradas na central.", + function="repository mesh central gitea", + file_type="markdown", + changed_by="mais_humana.repository_mesh_gitea", + change_summary="Registradas pendencias de token/decisao para Gitea.", + relation_to_order="000_sincronizacao-dos-espelhos", + ) + ) + return tuple(records) + diff --git a/src/mais_humana/repository_mesh_naming.py b/src/mais_humana/repository_mesh_naming.py new file mode 100644 index 0000000..88492a2 --- /dev/null +++ b/src/mais_humana/repository_mesh_naming.py @@ -0,0 +1,161 @@ +"""Naming policy for repository mesh reconciliation.""" + +from __future__ import annotations + +from dataclasses import dataclass +from enum import Enum +from pathlib import Path +from typing import Any, Sequence + +from .models import as_plain_data, merge_unique, slugify +from .repository_mesh import RepositoryTarget + + +class NamingStatus(str, Enum): + EXACT = "exact" + ALIAS = "alias" + CANONICAL_RENAME_REQUIRED = "canonical_rename_required" + CENTRAL_FOLDER_ONLY = "central_folder_only" + MISSING = "missing" + CONFLICT = "conflict" + + +@dataclass(frozen=True, slots=True) +class NamingCandidate: + name: str + path: str + exists: bool + is_expected: bool + is_alias: bool + is_canonical: bool + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class NamingDecision: + target_name: str + expected_name: str + selected_name: str | None + status: NamingStatus + reason: str + candidates: tuple[NamingCandidate, ...] + next_action: str + + @property + def needs_action(self) -> bool: + return self.status not in {NamingStatus.EXACT} + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +def platform_to_plataform(name: str) -> str: + if name.endswith("-platform"): + return name[: -len("-platform")] + "-plataform" + return name + + +def plataform_to_platform(name: str) -> str: + if name.endswith("-plataform"): + return name[: -len("-plataform")] + "-platform" + return name + + +def central_folder_for_name(name: str, index: int | None = None, repo: bool = True) -> str: + prefix = f"{index:02d}_" if index is not None else "" + repo_part = "repo_" if repo else "" + return f"{prefix}{repo_part}{slugify(name)}" + + +def candidate_names(target: RepositoryTarget) -> tuple[str, ...]: + names = [target.expected_local_name, target.declared_name] + if target.canonical_name: + names.append(target.canonical_name) + names.extend(target.aliases) + if target.expected_local_name.endswith("-platform"): + names.append(platform_to_plataform(target.expected_local_name)) + if target.expected_local_name.endswith("-plataform"): + names.append(plataform_to_platform(target.expected_local_name)) + return merge_unique(names) + + +def build_candidates(root: Path, target: RepositoryTarget) -> tuple[NamingCandidate, ...]: + candidates = [] + for name in candidate_names(target): + path = root / name + candidates.append( + NamingCandidate( + name=name, + path=str(path), + exists=path.exists(), + is_expected=name == target.expected_local_name, + is_alias=name in target.aliases, + is_canonical=bool(target.canonical_name and name == target.canonical_name), + ) + ) + return tuple(candidates) + + +def decide_naming(root: Path, target: RepositoryTarget) -> NamingDecision: + candidates = build_candidates(root, target) + existing = tuple(item for item in candidates if item.exists) + expected = next((item for item in candidates if item.is_expected), None) + if len(existing) > 1: + return NamingDecision( + target_name=target.declared_name, + expected_name=target.expected_local_name, + selected_name=None, + status=NamingStatus.CONFLICT, + reason="mais de uma variante nominal existe; reconciliacao manual evita duplicar repositorio", + candidates=candidates, + next_action="comparar HEADs e decidir qual pasta permanece", + ) + if expected and expected.exists: + return NamingDecision( + target_name=target.declared_name, + expected_name=target.expected_local_name, + selected_name=expected.name, + status=NamingStatus.EXACT, + reason="nome esperado ja esta materializado", + candidates=candidates, + next_action="manter monitoramento", + ) + if len(existing) == 1: + item = existing[0] + status = NamingStatus.CANONICAL_RENAME_REQUIRED if target.requires_nominal_reconciliation else NamingStatus.ALIAS + return NamingDecision( + target_name=target.declared_name, + expected_name=target.expected_local_name, + selected_name=item.name, + status=status, + reason=f"pasta encontrada como {item.name}, esperado {target.expected_local_name}", + candidates=candidates, + next_action="renomear pasta local com destino inexistente" if status == NamingStatus.CANONICAL_RENAME_REQUIRED else "registrar alias institucional", + ) + return NamingDecision( + target_name=target.declared_name, + expected_name=target.expected_local_name, + selected_name=None, + status=NamingStatus.MISSING, + reason="nenhuma variante nominal foi encontrada", + candidates=candidates, + next_action="clonar ou materializar espelho sem sobrescrever destino", + ) + + +def naming_rows(decisions: Sequence[NamingDecision]) -> list[list[str]]: + rows = [["target_name", "expected_name", "selected_name", "status", "reason", "next_action"]] + for decision in decisions: + rows.append( + [ + decision.target_name, + decision.expected_name, + decision.selected_name or "", + decision.status.value, + decision.reason, + decision.next_action, + ] + ) + return rows diff --git a/src/mais_humana/repository_mesh_readiness.py b/src/mais_humana/repository_mesh_readiness.py new file mode 100644 index 0000000..29f4caa --- /dev/null +++ b/src/mais_humana/repository_mesh_readiness.py @@ -0,0 +1,528 @@ +"""Readiness gates for the repository mesh synchronization order.""" + +from __future__ import annotations + +import json +from dataclasses import dataclass +from enum import Enum +from pathlib import Path +from typing import Any, Iterable, Sequence + +from .models import GeneratedFile, as_plain_data, clamp_score, merge_unique, utc_now +from .repository_mesh import MeshReport, MeshRiskLevel, rows_to_csv, stable_digest +from .repository_mesh_naming import NamingStatus +from .repository_mesh_reconciliation import ReconciliationPlan, ReconciliationStatus +from .repository_mesh_runtime import RuntimeCycle, SchedulerSpec +from .repository_mesh_semantic import MeshSemanticCounts + + +class MeshGateStatus(str, Enum): + """Gate status for readiness evaluation.""" + + PASS = "pass" + WARN = "warn" + FAIL = "fail" + + +class MeshGateSeverity(str, Enum): + """Gate severity.""" + + INFO = "info" + WARNING = "warning" + BLOCKER = "blocker" + + +@dataclass(frozen=True, slots=True) +class MeshReadinessGate: + gate_id: str + title: str + status: MeshGateStatus + severity: MeshGateSeverity + score: int + reason: str + evidence: tuple[str, ...] + next_action: str + + @property + def passed(self) -> bool: + return self.status == MeshGateStatus.PASS + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class MeshReadinessReport: + readiness_id: str + report_id: str + plan_id: str + cycle_id: str + generated_at: str + score: int + status: MeshGateStatus + gates: tuple[MeshReadinessGate, ...] + summary: tuple[str, ...] + + @property + def blocker_count(self) -> int: + return sum(1 for gate in self.gates if gate.status == MeshGateStatus.FAIL and gate.severity == MeshGateSeverity.BLOCKER) + + @property + def warning_count(self) -> int: + return sum(1 for gate in self.gates if gate.status == MeshGateStatus.WARN) + + @property + def passed_count(self) -> int: + return sum(1 for gate in self.gates if gate.passed) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +def gate( + gate_id: str, + title: str, + passed: bool, + reason: str, + next_action: str, + *, + evidence: Iterable[str] = (), + severity: MeshGateSeverity = MeshGateSeverity.WARNING, + warn: bool = False, + score_pass: int = 100, + score_fail: int = 0, +) -> MeshReadinessGate: + if passed: + status = MeshGateStatus.PASS + score = score_pass + actual_severity = MeshGateSeverity.INFO + elif warn: + status = MeshGateStatus.WARN + score = max(1, min(89, score_fail or 55)) + actual_severity = severity + else: + status = MeshGateStatus.FAIL + score = score_fail + actual_severity = severity + return MeshReadinessGate( + gate_id=gate_id, + title=title, + status=status, + severity=actual_severity, + score=score, + reason=reason, + evidence=tuple(str(item) for item in evidence if str(item)), + next_action=next_action, + ) + + +def inventory_gates(report: MeshReport) -> tuple[MeshReadinessGate, ...]: + return ( + gate( + "inventory.targets-declared", + "Todos os repositorios declarados foram carregados", + len(report.targets) >= 15, + f"Repositorios declarados: {len(report.targets)}.", + "atualizar manifesto da OS permanente", + evidence=(str(len(report.targets)),), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "inventory.observations-created", + "Observacoes por ambiente foram criadas", + report.total_observations >= len(report.targets), + f"Observacoes: {report.total_observations}.", + "rodar inventario nos ambientes faltantes", + evidence=(str(report.total_observations),), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "inventory.hashes-present", + "Ao menos um hash HEAD foi observado", + any(summary.hash_set for summary in report.summaries), + "Hashes HEAD foram coletados em ambientes acessiveis." if any(summary.hash_set for summary in report.summaries) else "Nenhum hash HEAD foi coletado.", + "corrigir acesso a repositorios e repetir git rev-parse HEAD", + evidence=[summary.target.declared_name for summary in report.summaries if summary.hash_set][:8], + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "inventory.fetch-attempted", + "Fetch nao destrutivo foi tentado quando solicitado", + report.fetch_enabled, + "Fetch habilitado no ciclo." if report.fetch_enabled else "Inventario foi executado sem fetch.", + "executar repo-mesh --fetch em rodada com credencial Git disponivel", + evidence=(f"fetch_enabled={report.fetch_enabled}",), + severity=MeshGateSeverity.WARNING, + warn=not report.fetch_enabled, + score_fail=60, + ), + ) + + +def safety_gates(report: MeshReport, plan: ReconciliationPlan, cycle: RuntimeCycle) -> tuple[MeshReadinessGate, ...]: + destructive_allowed = [ + result.command.command + for result in cycle.results + if result.status.value in {"allowed", "executed"} and result.command.destructive + ] + dirty = report.dirty_repositories + credential = report.credential_errors + blocker_receipts = plan.blocker_count + return ( + gate( + "safety.no-destructive-auto", + "Nenhum comando destrutivo ficou permitido automaticamente", + not destructive_allowed, + "Runtime nao permitiu comando destrutivo." if not destructive_allowed else "Ha comando destrutivo permitido.", + "corrigir gates do runtime antes de ativar scheduler", + evidence=destructive_allowed[:8], + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "safety.dirty-blocked", + "Working trees sujos viraram bloqueio", + dirty == 0 or any(receipt.status == ReconciliationStatus.DIRTY_BLOCKED for receipt in plan.receipts), + f"Worktrees sujos detectados: {dirty}.", + "commit/stash consciente ou decisao de precedencia", + evidence=(str(dirty),), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "safety.credentials-classified", + "Falhas de credencial foram classificadas", + credential == 0 or plan.credential_blocked_count >= credential, + f"Falhas de credencial: {credential}; recibos credential_blocked: {plan.credential_blocked_count}.", + "configurar credencial Git e repetir fetch", + evidence=(str(credential), str(plan.credential_blocked_count)), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "safety.receipts-created", + "Recibos de reconciliacao foram criados", + len(plan.receipts) == len(report.summaries), + f"Recibos: {len(plan.receipts)}; repositorios: {len(report.summaries)}.", + "regerar plano de reconciliacao", + evidence=(str(len(plan.receipts)), str(len(report.summaries))), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "safety.blockers-visible", + "Bloqueios estao visiveis no plano", + blocker_receipts == 0, + f"Recibos com blocker: {blocker_receipts}.", + "executar ordens de saida para remover bloqueios reais", + evidence=(str(blocker_receipts),), + severity=MeshGateSeverity.WARNING, + warn=blocker_receipts > 0, + score_fail=max(10, 80 - blocker_receipts * 5), + ), + ) + + +def naming_gates(plan: ReconciliationPlan) -> tuple[MeshReadinessGate, ...]: + decisions = [decision for receipt in plan.receipts for decision in receipt.naming_decisions] + conflicts = [decision for decision in decisions if decision.status == NamingStatus.CONFLICT] + pending = [decision for decision in decisions if decision.status not in {NamingStatus.EXACT}] + return ( + gate( + "naming.policy-evaluated", + "Politica de nomenclatura avaliou os repositorios", + bool(decisions), + f"Decisoes nominais: {len(decisions)}.", + "executar reconciliacao com raizes acessiveis", + evidence=(str(len(decisions)),), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "naming.no-conflicts", + "Conflitos de nome foram bloqueados", + not conflicts, + f"Conflitos nominais: {len(conflicts)}.", + "comparar variantes platform/plataform/alias antes de rename ou clone", + evidence=[decision.target_name for decision in conflicts][:8], + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "naming.pending-visible", + "Pendencias nominais estao visiveis", + not pending, + f"Pendencias nominais: {len(pending)}.", + "executar ordens de renome/alias geradas pela reconciliacao", + evidence=[f"{decision.target_name}:{decision.status.value}" for decision in pending][:8], + severity=MeshGateSeverity.WARNING, + warn=bool(pending), + score_fail=max(10, 85 - len(pending) * 5), + ), + ) + + +def automation_gates(cycle: RuntimeCycle, schedulers: Sequence[SchedulerSpec]) -> tuple[MeshReadinessGate, ...]: + kinds = {spec.kind.value for spec in schedulers} + return ( + gate( + "automation.runtime-cycle", + "Ciclo runtime foi gerado", + bool(cycle.cycle_id), + f"Ciclo: {cycle.cycle_id}.", + "gerar runtime cycle com lock e comandos", + evidence=(cycle.cycle_id,), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "automation.lock-held", + "Runtime registrou estado de lock", + bool(cycle.lock.status.value), + f"Lock: {cycle.lock.status.value}.", + "corrigir lock do runtime", + evidence=(cycle.lock.path, cycle.lock.status.value), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "automation.schedulers", + "Schedulers Windows e Linux foram especificados", + {"windows_task", "cron"}.issubset(kinds), + f"Schedulers: {', '.join(sorted(kinds))}.", + "publicar instalacao em cada ambiente", + evidence=sorted(kinds), + severity=MeshGateSeverity.WARNING, + warn=not {"windows_task", "cron"}.issubset(kinds), + score_fail=70, + ), + gate( + "automation.allowed-commands-limited", + "Comandos automaticos permitidos sao minoria controlada", + cycle.allowed_count <= max(1, len(cycle.commands)), + f"Allowed: {cycle.allowed_count}; total: {len(cycle.commands)}.", + "revisar gates se comandos automaticos crescerem sem recibo", + evidence=(str(cycle.allowed_count), str(len(cycle.commands))), + severity=MeshGateSeverity.WARNING, + ), + ) + + +def semantic_gates(counts: MeshSemanticCounts) -> tuple[MeshReadinessGate, ...]: + return ( + gate( + "semantic.report", + "SQL registrou report da malha", + counts.reports > 0, + f"Reports SQL: {counts.reports}.", + "executar write_repository_mesh_semantic_state", + evidence=(str(counts.reports),), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "semantic.receipts", + "SQL registrou recibos de reconciliacao", + counts.receipts > 0, + f"Receipts SQL: {counts.receipts}.", + "persistir plano de reconciliacao no SQLite", + evidence=(str(counts.receipts),), + severity=MeshGateSeverity.BLOCKER, + ), + gate( + "semantic.schedulers", + "SQL registrou schedulers", + counts.schedulers >= 2, + f"Schedulers SQL: {counts.schedulers}.", + "persistir specs de scheduler Windows/Cron", + evidence=(str(counts.schedulers),), + severity=MeshGateSeverity.WARNING, + warn=counts.schedulers < 2, + score_fail=70, + ), + ) + + +def build_mesh_readiness_report( + report: MeshReport, + plan: ReconciliationPlan, + cycle: RuntimeCycle, + schedulers: Sequence[SchedulerSpec], + counts: MeshSemanticCounts, +) -> MeshReadinessReport: + gates = ( + inventory_gates(report) + + safety_gates(report, plan, cycle) + + naming_gates(plan) + + automation_gates(cycle, schedulers) + + semantic_gates(counts) + ) + score = clamp_score(sum(gate.score for gate in gates) / len(gates)) if gates else 0 + blocker_count = sum(1 for gate in gates if gate.status == MeshGateStatus.FAIL and gate.severity == MeshGateSeverity.BLOCKER) + warning_count = sum(1 for gate in gates if gate.status == MeshGateStatus.WARN) + if blocker_count: + status = MeshGateStatus.FAIL + elif warning_count: + status = MeshGateStatus.WARN + else: + status = MeshGateStatus.PASS + summary = ( + f"score: {score}", + f"status: {status.value}", + f"gates: {len(gates)}", + f"blockers: {blocker_count}", + f"warnings: {warning_count}", + f"passed: {sum(1 for item in gates if item.passed)}", + ) + seed = {"report": report.report_id, "plan": plan.plan_id, "cycle": cycle.cycle_id, "score": score} + return MeshReadinessReport( + readiness_id=f"mesh-readiness-{stable_digest(seed, 12)}", + report_id=report.report_id, + plan_id=plan.plan_id, + cycle_id=cycle.cycle_id, + generated_at=utc_now(), + score=score, + status=status, + gates=gates, + summary=summary, + ) + + +def readiness_rows(readiness: MeshReadinessReport) -> list[list[str]]: + rows = [["gate_id", "status", "severity", "score", "title", "reason", "next_action", "evidence"]] + for gate in readiness.gates: + rows.append( + [ + gate.gate_id, + gate.status.value, + gate.severity.value, + str(gate.score), + gate.title, + gate.reason, + gate.next_action, + " | ".join(gate.evidence), + ] + ) + return rows + + +def readiness_csv(readiness: MeshReadinessReport) -> str: + return rows_to_csv(readiness_rows(readiness)) + + +def readiness_markdown(readiness: MeshReadinessReport) -> str: + lines = [ + "# Repository Mesh Readiness", + "", + f"- readiness_id: `{readiness.readiness_id}`", + f"- report_id: `{readiness.report_id}`", + f"- plan_id: `{readiness.plan_id}`", + f"- cycle_id: `{readiness.cycle_id}`", + f"- generated_at: `{readiness.generated_at}`", + f"- status: `{readiness.status.value}`", + f"- score: `{readiness.score}`", + f"- blockers: `{readiness.blocker_count}`", + f"- warnings: `{readiness.warning_count}`", + "", + "## Sumario", + "", + ] + lines.extend(f"- {item}" for item in readiness.summary) + lines.extend(["", "## Gates", ""]) + for gate in readiness.gates: + lines.append(f"### {gate.gate_id}") + lines.append("") + lines.append(f"- status: `{gate.status.value}`") + lines.append(f"- severity: `{gate.severity.value}`") + lines.append(f"- score: `{gate.score}`") + lines.append(f"- title: {gate.title}") + lines.append(f"- reason: {gate.reason}") + lines.append(f"- next_action: {gate.next_action}") + if gate.evidence: + lines.append("- evidence:") + for item in gate.evidence[:10]: + lines.append(f" - `{item}`") + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def readiness_pending_items(readiness: MeshReadinessReport) -> tuple[str, ...]: + return merge_unique( + f"{gate.gate_id}: {gate.next_action}" + for gate in readiness.gates + if gate.status in {MeshGateStatus.FAIL, MeshGateStatus.WARN} + ) + + +def write_json(path: Path, payload: object) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(as_plain_data(payload), ensure_ascii=False, indent=2, sort_keys=True), encoding="utf-8") + return path + + +def write_text(path: Path, text: str) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text, encoding="utf-8") + return path + + +def write_readiness_artifacts( + readiness: MeshReadinessReport, + project_root: Path, + *, + central_platform_folder: Path | None = None, +) -> tuple[GeneratedFile, ...]: + write_json(project_root / "dados" / "repository-mesh-readiness.json", readiness) + write_text(project_root / "matrizes" / "repository-mesh-readiness.csv", readiness_csv(readiness)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-READINESS.md", readiness_markdown(readiness)) + if central_platform_folder is not None: + reports = central_platform_folder / "reports" + indexes = central_platform_folder / "indexes" + reports.mkdir(parents=True, exist_ok=True) + indexes.mkdir(parents=True, exist_ok=True) + write_text(reports / "EXECUTADO__repository-mesh-readiness.md", readiness_markdown(readiness)) + write_text(indexes / "repository-mesh-readiness-index.md", readiness_markdown(readiness)) + records = [ + GeneratedFile( + path="dados/repository-mesh-readiness.json", + description="Readiness JSON da malha de repositorios.", + function="repository mesh readiness", + file_type="json", + changed_by="mais_humana.repository_mesh_readiness", + change_summary="Gerados gates de aceite da sincronizacao segura.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="matrizes/repository-mesh-readiness.csv", + description="Matriz de gates da malha de repositorios.", + function="repository mesh readiness matrix", + file_type="csv", + changed_by="mais_humana.repository_mesh_readiness", + change_summary="Gerada matriz de readiness da malha.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="ecossistema/REPOSITORY-MESH-READINESS.md", + description="Relatorio humano de readiness da malha.", + function="repository mesh readiness report", + file_type="markdown", + changed_by="mais_humana.repository_mesh_readiness", + change_summary="Documentados gates de aceite da OS permanente.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + ] + if central_platform_folder is not None: + records.extend( + [ + GeneratedFile( + path=str(central_platform_folder / "reports" / "EXECUTADO__repository-mesh-readiness.md"), + description="Readiness da malha registrada na central.", + function="repository mesh central readiness", + file_type="markdown", + changed_by="mais_humana.repository_mesh_readiness", + change_summary="Registrado readiness da malha na central.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path=str(central_platform_folder / "indexes" / "repository-mesh-readiness-index.md"), + description="Indice de readiness da malha na central.", + function="repository mesh central readiness index", + file_type="markdown", + changed_by="mais_humana.repository_mesh_readiness", + change_summary="Registrado indice de readiness da malha.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + ] + ) + return tuple(records) diff --git a/src/mais_humana/repository_mesh_reconciliation.py b/src/mais_humana/repository_mesh_reconciliation.py new file mode 100644 index 0000000..b35f5d0 --- /dev/null +++ b/src/mais_humana/repository_mesh_reconciliation.py @@ -0,0 +1,1060 @@ +"""Reconciliation logic for repository mesh reports. + +Inventory is only the first half of the permanent order. The harder part is +deciding what to do when mirrors disagree without accidentally giving priority +to an old checkout just because a synchronizer ran later. This module keeps +that decision explicit and reviewable. + +The reconciler accepts a :class:`~mais_humana.repository_mesh.MeshReport` and +builds: + +* a latest-valid-state analysis per repository; +* safe fast-forward eligibility; +* local rename transaction plans; +* credential and environment follow-up receipts; +* service-order suggestions tied to real blockers. + +It does not execute the plan. Execution belongs to a controlled runner after +the receipt is reviewed. +""" + +from __future__ import annotations + +import json +from dataclasses import dataclass, field +from enum import Enum +from pathlib import Path +from typing import Any, Iterable, Mapping, Sequence + +from .models import GeneratedFile, OrderStatus, OrderType, ServiceOrder, as_plain_data, incrementing_id, merge_unique, utc_now +from .repository_mesh import ( + MeshAction, + MeshActionKind, + MeshEnvironmentKind, + MeshErrorKind, + MeshPresence, + MeshReport, + MeshRepositorySummary, + MeshRiskLevel, + MirrorObservation, + RepositoryTarget, + rows_to_csv, + stable_digest, +) +from .repository_mesh_naming import NamingDecision, NamingStatus, decide_naming + + +class ReconciliationStatus(str, Enum): + """Result of reconciliation for one repository.""" + + ALIGNED = "aligned" + FAST_FORWARD_READY = "fast_forward_ready" + NOMINAL_RENAME_READY = "nominal_rename_ready" + CREDENTIAL_BLOCKED = "credential_blocked" + DIRTY_BLOCKED = "dirty_blocked" + ENVIRONMENT_BLOCKED = "environment_blocked" + MANUAL_DECISION_REQUIRED = "manual_decision_required" + MISSING_MATERIALIZATION = "missing_materialization" + REMOTE_MISMATCH = "remote_mismatch" + UNKNOWN = "unknown" + + +class StatePrecedence(str, Enum): + """Why one state can or cannot be considered latest valid state.""" + + SINGLE_HASH = "single_hash" + LOCAL_AHEAD = "local_ahead" + REMOTE_AHEAD = "remote_ahead" + DIVERGENT = "divergent" + DIRTY_TREE = "dirty_tree" + MISSING_HASH = "missing_hash" + ENVIRONMENT_MISSING = "environment_missing" + MANUAL_ONLY = "manual_only" + + +class ReceiptSeverity(str, Enum): + """Severity for reconciliation receipts.""" + + INFO = "info" + WARNING = "warning" + BLOCKER = "blocker" + + +@dataclass(frozen=True, slots=True) +class CandidateState: + """One commit/state candidate observed in the mesh.""" + + target_name: str + environment_id: str + environment_kind: MeshEnvironmentKind + path: str + branch: str + head: str + remote: str + cleanliness: str + ahead: int + behind: int + upstream: str + status_preview: tuple[str, ...] = () + observed_at: str = "" + + @property + def short_head(self) -> str: + return self.head[:12] + + @property + def can_be_source(self) -> bool: + return bool(self.head) and self.cleanliness == "clean" and self.ahead >= 0 and self.behind >= 0 + + @property + def has_local_only_commits(self) -> bool: + return self.ahead > 0 and self.behind == 0 + + @property + def has_remote_only_commits(self) -> bool: + return self.behind > 0 and self.ahead == 0 + + @property + def divergent(self) -> bool: + return self.ahead > 0 and self.behind > 0 + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class LatestStateDecision: + """Decision about the latest valid state for one repository.""" + + target_name: str + precedence: StatePrecedence + selected_head: str | None + selected_environment: str | None + selected_path: str | None + candidates: tuple[CandidateState, ...] + rejected_heads: tuple[str, ...] + reason: str + confidence: float + blockers: tuple[str, ...] = () + + @property + def has_blocker(self) -> bool: + return bool(self.blockers) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class PlannedOperation: + """A controlled operation produced by reconciliation.""" + + operation_id: str + target_name: str + status: ReconciliationStatus + severity: ReceiptSeverity + title: str + reason: str + commands: tuple[str, ...] = () + preconditions: tuple[str, ...] = () + rollback: tuple[str, ...] = () + evidence: tuple[str, ...] = () + automatic: bool = False + destructive: bool = False + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class ReconciliationReceipt: + """Auditable reconciliation receipt for one repository.""" + + receipt_id: str + target_name: str + expected_local_name: str + gitea_repo: str + status: ReconciliationStatus + risk: MeshRiskLevel + latest_state: LatestStateDecision + naming_decisions: tuple[NamingDecision, ...] + operations: tuple[PlannedOperation, ...] + pending_items: tuple[str, ...] + safe_to_auto_sync: bool + generated_at: str = field(default_factory=utc_now) + + @property + def blockers(self) -> tuple[str, ...]: + return tuple(item.reason for item in self.operations if item.severity == ReceiptSeverity.BLOCKER) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class ReconciliationPlan: + """Full reconciliation plan for a mesh report.""" + + plan_id: str + report_id: str + generated_at: str + receipts: tuple[ReconciliationReceipt, ...] + summary: tuple[str, ...] + + @property + def blocker_count(self) -> int: + return sum(1 for receipt in self.receipts if receipt.blockers) + + @property + def auto_sync_ready_count(self) -> int: + return sum(1 for receipt in self.receipts if receipt.safe_to_auto_sync) + + @property + def rename_ready_count(self) -> int: + return sum(1 for receipt in self.receipts if receipt.status == ReconciliationStatus.NOMINAL_RENAME_READY) + + @property + def credential_blocked_count(self) -> int: + return sum(1 for receipt in self.receipts if receipt.status == ReconciliationStatus.CREDENTIAL_BLOCKED) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +def candidate_from_observation(observation: MirrorObservation) -> CandidateState | None: + """Create a candidate state from a Git observation.""" + + state = observation.git_state + if state is None or not state.head: + return None + ahead = state.ahead_behind.ahead if state.ahead_behind.ahead is not None else -1 + behind = state.ahead_behind.behind if state.ahead_behind.behind is not None else -1 + return CandidateState( + target_name=observation.target_name, + environment_id=observation.environment_id, + environment_kind=observation.environment_kind, + path=observation.matched_path or observation.expected_path, + branch=state.branch or "", + head=state.head, + remote=state.remote_origin or "", + cleanliness=state.cleanliness.value, + ahead=ahead, + behind=behind, + upstream=state.upstream or "", + status_preview=state.dirty_preview(), + observed_at=observation.observed_at, + ) + + +def candidate_states(summary: MeshRepositorySummary) -> tuple[CandidateState, ...]: + """Return all commit candidates for a repository summary.""" + + return tuple( + candidate + for candidate in (candidate_from_observation(obs) for obs in summary.observations) + if candidate is not None + ) + + +def dirty_observations(summary: MeshRepositorySummary) -> tuple[MirrorObservation, ...]: + return tuple( + obs + for obs in summary.observations + if obs.git_state is not None and obs.git_state.cleanliness.value == "dirty" + ) + + +def credential_observations(summary: MeshRepositorySummary) -> tuple[MirrorObservation, ...]: + return tuple( + obs + for obs in summary.observations + if obs.git_state is not None + and obs.git_state.fetch_error_kind in {MeshErrorKind.CREDENTIALS_MISSING, MeshErrorKind.AUTHENTICATION} + ) + + +def environment_blocked_observations(summary: MeshRepositorySummary) -> tuple[MirrorObservation, ...]: + return tuple(obs for obs in summary.observations if obs.presence == MeshPresence.UNREACHABLE_ENVIRONMENT) + + +def missing_observations(summary: MeshRepositorySummary) -> tuple[MirrorObservation, ...]: + return tuple(obs for obs in summary.observations if obs.presence == MeshPresence.MISSING) + + +def nominal_actions(summary: MeshRepositorySummary) -> tuple[MeshAction, ...]: + return tuple( + item + for item in summary.actions + if item.kind in {MeshActionKind.RENAME_LOCAL_FOLDER, MeshActionKind.CREATE_ALIAS_RECORD} + ) + + +def remote_mismatch_actions(summary: MeshRepositorySummary) -> tuple[MeshAction, ...]: + return tuple(item for item in summary.actions if item.kind == MeshActionKind.FIX_REMOTE_URL) + + +def naming_decisions(summary: MeshRepositorySummary) -> tuple[NamingDecision, ...]: + """Evaluate expected, alias, canonical, platform, and plataform names per reachable root.""" + + decisions: list[NamingDecision] = [] + seen_roots: set[str] = set() + for observation in summary.observations: + if observation.presence == MeshPresence.UNREACHABLE_ENVIRONMENT: + continue + root = str(Path(observation.expected_path).parent) + if root in seen_roots: + continue + seen_roots.add(root) + decisions.append(decide_naming(Path(root), summary.target)) + return tuple(decisions) + + +def select_latest_state(summary: MeshRepositorySummary) -> LatestStateDecision: + """Select latest valid state or explain why manual decision is required.""" + + candidates = candidate_states(summary) + blockers: list[str] = [] + if not candidates: + return LatestStateDecision( + target_name=summary.target.declared_name, + precedence=StatePrecedence.MISSING_HASH, + selected_head=None, + selected_environment=None, + selected_path=None, + candidates=(), + rejected_heads=(), + reason="nenhum HEAD foi confirmado nos ambientes acessiveis", + confidence=0.0, + blockers=("sem hash HEAD confirmado",), + ) + dirty = tuple(item for item in candidates if item.cleanliness == "dirty") + if dirty: + blockers.extend(f"{item.environment_id} possui working tree sujo" for item in dirty) + return LatestStateDecision( + target_name=summary.target.declared_name, + precedence=StatePrecedence.DIRTY_TREE, + selected_head=None, + selected_environment=None, + selected_path=None, + candidates=candidates, + rejected_heads=merge_unique(item.head for item in candidates), + reason="estado sujo impede declarar commit como fonte unica de verdade", + confidence=0.25, + blockers=tuple(blockers), + ) + divergent = tuple(item for item in candidates if item.divergent) + if divergent: + blockers.extend(f"{item.environment_id} esta ahead={item.ahead} behind={item.behind}" for item in divergent) + return LatestStateDecision( + target_name=summary.target.declared_name, + precedence=StatePrecedence.DIVERGENT, + selected_head=None, + selected_environment=None, + selected_path=None, + candidates=candidates, + rejected_heads=merge_unique(item.head for item in candidates), + reason="divergencia ahead/behind exige decisao humana de precedencia", + confidence=0.2, + blockers=tuple(blockers), + ) + unique_heads = merge_unique(item.head for item in candidates if item.head) + if len(unique_heads) == 1: + selected = candidates[0] + return LatestStateDecision( + target_name=summary.target.declared_name, + precedence=StatePrecedence.SINGLE_HASH, + selected_head=unique_heads[0], + selected_environment=selected.environment_id, + selected_path=selected.path, + candidates=candidates, + rejected_heads=(), + reason="todos os ambientes com HEAD confirmado apontam para o mesmo commit", + confidence=0.95 if len(candidates) > 1 else 0.75, + ) + local_ahead = tuple(item for item in candidates if item.has_local_only_commits) + if len(local_ahead) == 1: + selected = local_ahead[0] + return LatestStateDecision( + target_name=summary.target.declared_name, + precedence=StatePrecedence.LOCAL_AHEAD, + selected_head=selected.head, + selected_environment=selected.environment_id, + selected_path=selected.path, + candidates=candidates, + rejected_heads=tuple(head for head in unique_heads if head != selected.head), + reason="um ambiente possui commits locais a frente e nao ha behind registrado", + confidence=0.72, + blockers=("push exige credencial e validacao de remoto antes de convergir",), + ) + remote_ahead = tuple(item for item in candidates if item.has_remote_only_commits) + if remote_ahead and len(unique_heads) > 1: + selected = sorted(remote_ahead, key=lambda item: (item.behind, item.environment_id), reverse=True)[0] + return LatestStateDecision( + target_name=summary.target.declared_name, + precedence=StatePrecedence.REMOTE_AHEAD, + selected_head=selected.head, + selected_environment=selected.environment_id, + selected_path=selected.path, + candidates=candidates, + rejected_heads=tuple(head for head in unique_heads if head != selected.head), + reason="ha indicio de commits remotos nao materializados localmente", + confidence=0.6, + blockers=("aplicar somente fast-forward comprovado em working tree limpo",), + ) + return LatestStateDecision( + target_name=summary.target.declared_name, + precedence=StatePrecedence.MANUAL_ONLY, + selected_head=None, + selected_environment=None, + selected_path=None, + candidates=candidates, + rejected_heads=unique_heads, + reason="hashes distintos sem regra objetiva suficiente para eleger fonte mais recente", + confidence=0.1, + blockers=("comparacao manual de commits necessaria",), + ) + + +def operation_id(target: RepositoryTarget, title: str, evidence: Iterable[str] = ()) -> str: + return f"mesh-op-{stable_digest({'target': target.declared_name, 'title': title, 'evidence': list(evidence)}, 12)}" + + +def planned_operation( + target: RepositoryTarget, + status: ReconciliationStatus, + severity: ReceiptSeverity, + title: str, + reason: str, + *, + commands: Iterable[str] = (), + preconditions: Iterable[str] = (), + rollback: Iterable[str] = (), + evidence: Iterable[str] = (), + automatic: bool = False, + destructive: bool = False, +) -> PlannedOperation: + evidence_tuple = tuple(evidence) + return PlannedOperation( + operation_id=operation_id(target, title, evidence_tuple), + target_name=target.declared_name, + status=status, + severity=severity, + title=title, + reason=reason, + commands=tuple(commands), + preconditions=tuple(preconditions), + rollback=tuple(rollback), + evidence=evidence_tuple, + automatic=automatic, + destructive=destructive, + ) + + +def operations_from_summary( + summary: MeshRepositorySummary, + latest: LatestStateDecision, + naming: Sequence[NamingDecision] = (), +) -> tuple[PlannedOperation, ...]: + """Translate low-level actions into high-level reconciliation operations.""" + + target = summary.target + operations: list[PlannedOperation] = [] + for obs in dirty_observations(summary): + preview = obs.git_state.dirty_preview() if obs.git_state else () + operations.append( + planned_operation( + target, + ReconciliationStatus.DIRTY_BLOCKED, + ReceiptSeverity.BLOCKER, + "Bloquear sincronizacao destrutiva por working tree sujo", + "alteracoes locais nao commitadas podem ser a versao valida mais recente", + preconditions=("registrar diff", "commit ou stash consciente", "decidir precedencia antes de pull/merge"), + evidence=(obs.environment_id, obs.matched_path or "", *preview), + destructive=False, + ) + ) + for obs in credential_observations(summary): + fetch = obs.git_state.fetch_result.compact() if obs.git_state and obs.git_state.fetch_result else "" + operations.append( + planned_operation( + target, + ReconciliationStatus.CREDENTIAL_BLOCKED, + ReceiptSeverity.BLOCKER, + "Obter credencial Git para fetch/push seguro", + "fetch falhou por credencial/autenticacao; nao ha como provar estado remoto atual", + preconditions=("configurar credencial HTTPS/SSH do Gitea", "reexecutar fetch nao destrutivo"), + evidence=(obs.environment_id, fetch), + ) + ) + for obs in environment_blocked_observations(summary): + operations.append( + planned_operation( + target, + ReconciliationStatus.ENVIRONMENT_BLOCKED, + ReceiptSeverity.BLOCKER, + "Executar inventario no ambiente inacessivel", + "ambiente declarado pela OS nao esta acessivel a partir desta sessao", + preconditions=("abrir sessao no host correspondente", "rodar mais_humana.cli repo-mesh localmente"), + evidence=(obs.environment_id, obs.expected_path, obs.nomenclature_note or ""), + ) + ) + for obs in missing_observations(summary): + operations.append( + planned_operation( + target, + ReconciliationStatus.MISSING_MATERIALIZATION, + ReceiptSeverity.WARNING, + "Materializar espelho ausente sem sobrescrever destino", + "repositorio declarado nao existe no ambiente observado", + commands=(f"git clone {target.expected_remote_url} {obs.expected_path}",), + preconditions=("confirmar que o destino ainda nao existe", "confirmar credencial Git", "registrar hash remoto antes do clone"), + rollback=(f"remover clone recem-criado somente se vazio e sem alteracao local: {obs.expected_path}",), + evidence=(obs.environment_id, obs.expected_path), + ) + ) + for item in remote_mismatch_actions(summary): + operations.append( + planned_operation( + target, + ReconciliationStatus.REMOTE_MISMATCH, + ReceiptSeverity.WARNING, + "Corrigir remote origin divergente", + item.reason, + commands=item.command_preview, + preconditions=item.required_before, + rollback=("git remote set-url origin ",), + evidence=item.evidence, + ) + ) + for item in nominal_actions(summary): + status = ReconciliationStatus.NOMINAL_RENAME_READY if item.can_execute_automatically else ReconciliationStatus.MANUAL_DECISION_REQUIRED + severity = ReceiptSeverity.WARNING if item.can_execute_automatically else ReceiptSeverity.BLOCKER + operations.append( + planned_operation( + target, + status, + severity, + "Reconciliar nomenclatura local/canonica", + item.reason, + commands=item.command_preview, + preconditions=item.required_before, + rollback=(f"renomear de volta para alias anterior se validacao falhar: {target.aliases[0] if target.aliases else target.declared_name}",), + evidence=item.evidence, + automatic=item.can_execute_automatically, + ) + ) + for decision in naming: + if decision.status != NamingStatus.CONFLICT: + continue + operations.append( + planned_operation( + target, + ReconciliationStatus.MANUAL_DECISION_REQUIRED, + ReceiptSeverity.BLOCKER, + "Resolver conflito nominal antes de sincronizar", + decision.reason, + preconditions=("comparar HEAD de cada variante nominal", "decidir pasta canonica", "bloquear clone/rename automatico"), + evidence=tuple( + f"{candidate.name}:{candidate.path}:{'exists' if candidate.exists else 'missing'}" + for candidate in decision.candidates + ), + ) + ) + if latest.precedence == StatePrecedence.SINGLE_HASH and not operations: + operations.append( + planned_operation( + target, + ReconciliationStatus.ALIGNED, + ReceiptSeverity.INFO, + "Manter fetch periodico nao destrutivo", + "todos os ambientes com HEAD confirmado usam o mesmo commit", + commands=("git fetch --all --prune",), + preconditions=("manter worktree limpo", "bloquear se aparecer ahead/behind ou dirty tree"), + evidence=(latest.selected_head or "", latest.selected_environment or ""), + automatic=True, + ) + ) + elif latest.precedence == StatePrecedence.REMOTE_AHEAD: + operations.append( + planned_operation( + target, + ReconciliationStatus.FAST_FORWARD_READY, + ReceiptSeverity.WARNING, + "Aplicar apenas fast-forward comprovado", + latest.reason, + commands=("git fetch --all --prune", "git merge --ff-only @{u}"), + preconditions=("working tree limpo", "upstream configurado", "merge-base confirma fast-forward"), + rollback=("nao ha rollback automatico; criar tag/recibo antes do ff-only se necessario",), + evidence=(latest.selected_head or "", latest.selected_environment or ""), + automatic=False, + ) + ) + elif latest.has_blocker and not any(op.severity == ReceiptSeverity.BLOCKER for op in operations): + operations.append( + planned_operation( + target, + ReconciliationStatus.MANUAL_DECISION_REQUIRED, + ReceiptSeverity.BLOCKER, + "Decidir precedencia manualmente", + latest.reason, + preconditions=("comparar commits e timestamps", "validar qual alteracao e mais recente e valida"), + evidence=latest.blockers, + ) + ) + return tuple(operations) + + +def receipt_status(summary: MeshRepositorySummary, latest: LatestStateDecision, operations: Sequence[PlannedOperation]) -> ReconciliationStatus: + if any(op.status == ReconciliationStatus.DIRTY_BLOCKED for op in operations): + return ReconciliationStatus.DIRTY_BLOCKED + if any(op.status == ReconciliationStatus.CREDENTIAL_BLOCKED for op in operations): + return ReconciliationStatus.CREDENTIAL_BLOCKED + if any(op.status == ReconciliationStatus.ENVIRONMENT_BLOCKED for op in operations): + return ReconciliationStatus.ENVIRONMENT_BLOCKED + if any(op.status == ReconciliationStatus.MANUAL_DECISION_REQUIRED and "nominal" in op.title.lower() for op in operations): + return ReconciliationStatus.MANUAL_DECISION_REQUIRED + if any(op.status == ReconciliationStatus.REMOTE_MISMATCH for op in operations): + return ReconciliationStatus.REMOTE_MISMATCH + if any(op.status == ReconciliationStatus.NOMINAL_RENAME_READY for op in operations): + return ReconciliationStatus.NOMINAL_RENAME_READY + if any(op.status == ReconciliationStatus.MISSING_MATERIALIZATION for op in operations): + return ReconciliationStatus.MISSING_MATERIALIZATION + if any(op.status == ReconciliationStatus.MANUAL_DECISION_REQUIRED for op in operations): + return ReconciliationStatus.MANUAL_DECISION_REQUIRED + if latest.precedence == StatePrecedence.SINGLE_HASH and summary.risk == MeshRiskLevel.OK: + return ReconciliationStatus.ALIGNED + if latest.precedence == StatePrecedence.REMOTE_AHEAD: + return ReconciliationStatus.FAST_FORWARD_READY + if latest.has_blocker: + return ReconciliationStatus.MANUAL_DECISION_REQUIRED + return ReconciliationStatus.UNKNOWN + + +def build_receipt(summary: MeshRepositorySummary) -> ReconciliationReceipt: + latest = select_latest_state(summary) + naming = naming_decisions(summary) + operations = operations_from_summary(summary, latest, naming) + status = receipt_status(summary, latest, operations) + blockers = tuple(op.reason for op in operations if op.severity == ReceiptSeverity.BLOCKER) + pending = merge_unique( + list(blockers) + + [op.reason for op in operations if op.severity == ReceiptSeverity.WARNING] + + list(latest.blockers) + ) + safe = ( + status == ReconciliationStatus.ALIGNED + and summary.risk == MeshRiskLevel.OK + and not blockers + and latest.precedence == StatePrecedence.SINGLE_HASH + ) + seed = { + "target": summary.target.declared_name, + "status": status.value, + "head": latest.selected_head, + "naming": [decision.status.value for decision in naming], + "operations": [op.operation_id for op in operations], + } + return ReconciliationReceipt( + receipt_id=f"mesh-receipt-{stable_digest(seed, 12)}", + target_name=summary.target.declared_name, + expected_local_name=summary.target.expected_local_name, + gitea_repo=summary.target.gitea_repo, + status=status, + risk=summary.risk, + latest_state=latest, + naming_decisions=naming, + operations=operations, + pending_items=pending, + safe_to_auto_sync=safe, + ) + + +def build_reconciliation_plan(report: MeshReport) -> ReconciliationPlan: + receipts = tuple(build_receipt(summary) for summary in report.summaries) + summary = ( + f"recibos: {len(receipts)}", + f"auto_sync_ready: {sum(1 for item in receipts if item.safe_to_auto_sync)}", + f"bloqueados: {sum(1 for item in receipts if item.blockers)}", + f"renomes_prontos: {sum(1 for item in receipts if item.status == ReconciliationStatus.NOMINAL_RENAME_READY)}", + f"credenciais_pendentes: {sum(1 for item in receipts if item.status == ReconciliationStatus.CREDENTIAL_BLOCKED)}", + ) + seed = {"report": report.report_id, "receipts": [receipt.receipt_id for receipt in receipts]} + return ReconciliationPlan( + plan_id=f"mesh-plan-{stable_digest(seed, 12)}", + report_id=report.report_id, + generated_at=utc_now(), + receipts=receipts, + summary=summary, + ) + + +def reconciliation_rows(plan: ReconciliationPlan) -> list[list[str]]: + rows = [ + [ + "receipt_id", + "target_name", + "expected_local_name", + "status", + "risk", + "safe_to_auto_sync", + "selected_head", + "selected_environment", + "precedence", + "naming_status", + "pending_count", + "operation_count", + ] + ] + for receipt in plan.receipts: + rows.append( + [ + receipt.receipt_id, + receipt.target_name, + receipt.expected_local_name, + receipt.status.value, + receipt.risk.value, + "yes" if receipt.safe_to_auto_sync else "no", + receipt.latest_state.selected_head or "", + receipt.latest_state.selected_environment or "", + receipt.latest_state.precedence.value, + " | ".join(decision.status.value for decision in receipt.naming_decisions), + str(len(receipt.pending_items)), + str(len(receipt.operations)), + ] + ) + return rows + + +def operation_rows(plan: ReconciliationPlan) -> list[list[str]]: + rows = [ + [ + "operation_id", + "target_name", + "status", + "severity", + "automatic", + "destructive", + "title", + "reason", + "commands", + "preconditions", + "rollback", + "evidence", + ] + ] + for receipt in plan.receipts: + for operation in receipt.operations: + rows.append( + [ + operation.operation_id, + operation.target_name, + operation.status.value, + operation.severity.value, + "yes" if operation.automatic else "no", + "yes" if operation.destructive else "no", + operation.title, + operation.reason, + " | ".join(operation.commands), + " | ".join(operation.preconditions), + " | ".join(operation.rollback), + " | ".join(operation.evidence), + ] + ) + return rows + + +def reconciliation_csv(plan: ReconciliationPlan) -> str: + return rows_to_csv(reconciliation_rows(plan)) + + +def operations_csv(plan: ReconciliationPlan) -> str: + return rows_to_csv(operation_rows(plan)) + + +def reconciliation_markdown(plan: ReconciliationPlan) -> str: + lines = [ + "# Repository Mesh Reconciliation Plan", + "", + f"- plan_id: `{plan.plan_id}`", + f"- report_id: `{plan.report_id}`", + f"- generated_at: `{plan.generated_at}`", + f"- blockers: `{plan.blocker_count}`", + f"- auto_sync_ready: `{plan.auto_sync_ready_count}`", + f"- rename_ready: `{plan.rename_ready_count}`", + f"- credential_blocked: `{plan.credential_blocked_count}`", + "", + "## Sumario", + "", + ] + lines.extend(f"- {item}" for item in plan.summary) + lines.extend(["", "## Recibos", ""]) + for receipt in plan.receipts: + latest = receipt.latest_state + lines.append(f"### {receipt.target_name}") + lines.append("") + lines.append(f"- receipt_id: `{receipt.receipt_id}`") + lines.append(f"- status: `{receipt.status.value}`") + lines.append(f"- risk: `{receipt.risk.value}`") + lines.append(f"- safe_to_auto_sync: `{receipt.safe_to_auto_sync}`") + lines.append(f"- selected_head: `{latest.selected_head or ''}`") + lines.append(f"- selected_environment: `{latest.selected_environment or ''}`") + lines.append(f"- precedence: `{latest.precedence.value}`") + lines.append(f"- reason: {latest.reason}") + if receipt.naming_decisions: + lines.append("- nomenclatura:") + for decision in receipt.naming_decisions: + lines.append( + f" - `{decision.status.value}` selected=`{decision.selected_name or ''}` " + f"expected=`{decision.expected_name}` reason={decision.reason}" + ) + if receipt.pending_items: + lines.append("- pendencias:") + for item in receipt.pending_items[:12]: + lines.append(f" - {item}") + if receipt.operations: + lines.append("- operacoes:") + for operation in receipt.operations[:12]: + auto = "auto" if operation.automatic else "manual" + lines.append(f" - `{operation.status.value}` `{operation.severity.value}` `{auto}`: {operation.title}") + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def reconciliation_payload(plan: ReconciliationPlan) -> dict[str, Any]: + return { + "planId": plan.plan_id, + "reportId": plan.report_id, + "generatedAt": plan.generated_at, + "blockerCount": plan.blocker_count, + "autoSyncReadyCount": plan.auto_sync_ready_count, + "renameReadyCount": plan.rename_ready_count, + "credentialBlockedCount": plan.credential_blocked_count, + "receipts": [receipt.to_dict() for receipt in plan.receipts], + } + + +def receipt_to_service_order(receipt: ReconciliationReceipt, index: int, order_type: OrderType) -> ServiceOrder: + """Convert a receipt into a concrete service-order object.""" + + pending = "; ".join(receipt.pending_items[:6]) or "manter sincronizacao segura sem pendencia material" + title = { + OrderType.EXECUTIVE: f"Reconciliar espelho {receipt.expected_local_name}", + OrderType.MANAGERIAL: f"Governar sincronizacao de {receipt.expected_local_name}", + }[order_type] + prefix = "EXECUTIVA" if order_type == OrderType.EXECUTIVE else "GERENCIAL" + return ServiceOrder( + order_id=incrementing_id(prefix, index, title), + order_type=order_type, + project_id="tudo-para-ia-mais-humana", + title=title, + purpose="Garantir que a malha de repositorios preserve a alteracao valida mais recente sem sobrescrever estado local ou remoto.", + object_scope=( + f"Repositorio `{receipt.gitea_repo}`, espelho local `{receipt.expected_local_name}`, " + f"recibo `{receipt.receipt_id}` e plano `{receipt.status.value}`." + ), + reason=pending, + expected_result=( + "Espelho inventariado, bloqueios resolvidos ou formalizados, hashes comparados, " + "e sincronizacao automatica mantida apenas quando segura." + ), + affected_paths=( + f"G:/_codex-git/{receipt.expected_local_name}", + "G:/codex_vm/_codex-git", + "/root/__gpt-codex", + "/root/_codex-git", + ), + validations=( + "python -m mais_humana.cli repo-mesh --fetch", + "validar que nao houve reset/checkout/clean/pull destrutivo", + "comparar HEAD e status --short", + "registrar pendencias no SQLite semantico", + ), + ready_criteria=( + "hashes comparados", + "working trees limpos ou pendencia registrada", + "remote origin validado", + "ambientes inacessiveis formalizados", + ), + status=OrderStatus.PLANNED, + priority="alta" if receipt.blockers else "media", + ) + + +def service_orders_from_plan(plan: ReconciliationPlan, *, start_executive: int = 100, start_managerial: int = 100) -> tuple[ServiceOrder, ...]: + """Create focused service orders from the highest-risk receipts.""" + + receipts = sorted( + plan.receipts, + key=lambda item: ( + 0 if item.blockers else 1, + item.status.value, + item.target_name, + ), + ) + executive: list[ServiceOrder] = [] + managerial: list[ServiceOrder] = [] + for receipt in receipts: + if len(executive) < 5: + executive.append(receipt_to_service_order(receipt, start_executive + len(executive), OrderType.EXECUTIVE)) + if len(managerial) < 5: + managerial.append(receipt_to_service_order(receipt, start_managerial + len(managerial), OrderType.MANAGERIAL)) + if len(executive) >= 5 and len(managerial) >= 5: + break + return tuple(executive + managerial) + + +def service_orders_markdown(orders: Sequence[ServiceOrder]) -> str: + lines = ["# Ordens de saida derivadas do Repository Mesh", ""] + for order in orders: + lines.append(f"## {order.order_id}") + lines.append("") + lines.append(f"- tipo: `{order.order_type.value}`") + lines.append(f"- prioridade: `{order.priority}`") + lines.append(f"- titulo: {order.title}") + lines.append(f"- finalidade: {order.purpose}") + lines.append(f"- objeto: {order.object_scope}") + lines.append(f"- motivo: {order.reason}") + lines.append("- validacoes:") + for validation in order.validations: + lines.append(f" - `{validation}`") + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def write_json(path: Path, payload: object) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(as_plain_data(payload), ensure_ascii=False, indent=2, sort_keys=True), encoding="utf-8") + return path + + +def write_text(path: Path, text: str) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text, encoding="utf-8") + return path + + +def write_reconciliation_artifacts( + plan: ReconciliationPlan, + project_root: Path, + *, + central_platform_folder: Path | None = None, +) -> tuple[GeneratedFile, ...]: + """Write reconciliation artifacts and return semantic file records.""" + + write_json(project_root / "dados" / "repository-mesh-reconciliation.json", plan) + write_json(project_root / "dados" / "repository-mesh-reconciliation-summary.json", reconciliation_payload(plan)) + write_text(project_root / "matrizes" / "repository-mesh-reconciliation.csv", reconciliation_csv(plan)) + write_text(project_root / "matrizes" / "repository-mesh-operations.csv", operations_csv(plan)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-RECONCILIATION.md", reconciliation_markdown(plan)) + orders = service_orders_from_plan(plan) + write_json(project_root / "dados" / "repository-mesh-derived-orders.json", orders) + write_text(project_root / "os-orientadoras" / "repository-mesh-derived-orders.md", service_orders_markdown(orders)) + if central_platform_folder is not None: + reports = central_platform_folder / "reports" + indexes = central_platform_folder / "indexes" + reports.mkdir(parents=True, exist_ok=True) + indexes.mkdir(parents=True, exist_ok=True) + write_text(reports / "EXECUTADO__repository-mesh-reconciliation.md", reconciliation_markdown(plan)) + write_text(indexes / "repository-mesh-reconciliation-index.md", service_orders_markdown(orders)) + records = [ + GeneratedFile( + path="dados/repository-mesh-reconciliation.json", + description="Plano completo de reconciliacao segura da malha.", + function="repository mesh reconciliation", + file_type="json", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Gerado plano de precedencia, recibos e operacoes seguras.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="dados/repository-mesh-reconciliation-summary.json", + description="Resumo compacto de reconciliacao da malha.", + function="repository mesh reconciliation summary", + file_type="json", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Gerado resumo de blockers, renomes e credenciais.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="matrizes/repository-mesh-reconciliation.csv", + description="Tabela de recibos de reconciliacao.", + function="repository mesh reconciliation matrix", + file_type="csv", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Gerada matriz de recibos por repositorio.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="matrizes/repository-mesh-operations.csv", + description="Tabela de operacoes planejadas e bloqueios.", + function="repository mesh operations matrix", + file_type="csv", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Gerada matriz de operacoes seguras.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="ecossistema/REPOSITORY-MESH-RECONCILIATION.md", + description="Relatorio humano do plano de reconciliacao.", + function="repository mesh reconciliation report", + file_type="markdown", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Documentado plano de reconciliacao segura.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="dados/repository-mesh-derived-orders.json", + description="Ordens derivadas dos recibos de reconciliacao.", + function="repository mesh derived orders", + file_type="json", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Criadas ordens de saida executivas e gerenciais derivadas.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="os-orientadoras/repository-mesh-derived-orders.md", + description="Ordens derivadas em Markdown.", + function="repository mesh derived orders", + file_type="markdown", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Criado resumo humano das ordens derivadas.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + ] + if central_platform_folder is not None: + records.extend( + [ + GeneratedFile( + path=str(central_platform_folder / "reports" / "EXECUTADO__repository-mesh-reconciliation.md"), + description="Execucao de reconciliacao registrada na central.", + function="repository mesh central reconciliation", + file_type="markdown", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Registrado EXECUTADO da reconciliacao.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path=str(central_platform_folder / "indexes" / "repository-mesh-reconciliation-index.md"), + description="Indice de ordens derivadas de reconciliacao.", + function="repository mesh central reconciliation index", + file_type="markdown", + changed_by="mais_humana.repository_mesh_reconciliation", + change_summary="Registrado indice de ordens derivadas.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + ] + ) + return tuple(records) + + +def apply_reconciliation_to_report( + report: MeshReport, + project_root: Path, + *, + central_platform_folder: Path | None = None, +) -> tuple[ReconciliationPlan, tuple[GeneratedFile, ...]]: + """Build and write reconciliation artifacts for a mesh report.""" + + plan = build_reconciliation_plan(report) + records = write_reconciliation_artifacts(plan, project_root, central_platform_folder=central_platform_folder) + return plan, records diff --git a/src/mais_humana/repository_mesh_runtime.py b/src/mais_humana/repository_mesh_runtime.py new file mode 100644 index 0000000..42d45f4 --- /dev/null +++ b/src/mais_humana/repository_mesh_runtime.py @@ -0,0 +1,716 @@ +"""Runtime helpers for the repository mesh synchronization cycle. + +This module does not replace Git, Gitea, or the operating-system scheduler. It +provides a deterministic runtime contract for the five-minute synchronization +cycle required by the permanent order: + +* acquire a lock before touching mirrors; +* execute only commands that passed repository-mesh safety gates; +* write JSONL receipts for every allowed or blocked command; +* publish scheduler definitions for Windows and Linux; +* keep enough retention metadata for the central service-order database. + +The runtime is intentionally conservative. It is valid for the runtime to +refuse work; it is never valid for it to run an unsafe command silently. +""" + +from __future__ import annotations + +import json +import os +import subprocess +import time +from dataclasses import dataclass, field +from enum import Enum +from pathlib import Path +from typing import Any, Iterable, Mapping, Sequence + +from .models import GeneratedFile, as_plain_data, merge_unique, utc_now +from .repository_mesh import MeshAction, MeshActionKind, MeshReport, command_is_destructive, rows_to_csv, stable_digest +from .repository_mesh_reconciliation import PlannedOperation, ReconciliationPlan, ReceiptSeverity + + +class RuntimeCommandStatus(str, Enum): + """Execution status for one runtime command.""" + + ALLOWED = "allowed" + BLOCKED = "blocked" + SKIPPED = "skipped" + EXECUTED = "executed" + FAILED = "failed" + + +class RuntimeLockStatus(str, Enum): + """Lock acquisition status.""" + + ACQUIRED = "acquired" + BUSY = "busy" + STALE_REPLACED = "stale_replaced" + RELEASED = "released" + NOT_HELD = "not_held" + + +class SchedulerKind(str, Enum): + """Supported scheduler families.""" + + WINDOWS_TASK = "windows_task" + CRON = "cron" + SYSTEMD_TIMER = "systemd_timer" + MANUAL = "manual" + + +class RuntimeGate(str, Enum): + """Safety gate names for automatic execution.""" + + COMMAND_NOT_DESTRUCTIVE = "command_not_destructive" + ACTION_MARKED_AUTOMATIC = "action_marked_automatic" + OPERATION_NOT_DESTRUCTIVE = "operation_not_destructive" + WORKTREE_POLICY = "worktree_policy" + CREDENTIAL_POLICY = "credential_policy" + LOCK_HELD = "lock_held" + + +@dataclass(frozen=True, slots=True) +class RuntimeLock: + """Lock metadata for a sync cycle.""" + + lock_id: str + path: str + status: RuntimeLockStatus + owner: str + acquired_at: str | None + expires_after_seconds: int + message: str = "" + + @property + def acquired(self) -> bool: + return self.status in {RuntimeLockStatus.ACQUIRED, RuntimeLockStatus.STALE_REPLACED} + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class RuntimeCommand: + """One command the runtime may execute or block.""" + + command_id: str + source_id: str + target_name: str + command: str + automatic: bool + destructive: bool + gates: tuple[RuntimeGate, ...] + blocked_reasons: tuple[str, ...] + + @property + def status(self) -> RuntimeCommandStatus: + if self.blocked_reasons: + return RuntimeCommandStatus.BLOCKED + if not self.automatic: + return RuntimeCommandStatus.SKIPPED + return RuntimeCommandStatus.ALLOWED + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class RuntimeCommandResult: + """Result of a runtime command.""" + + command: RuntimeCommand + status: RuntimeCommandStatus + returncode: int | None = None + stdout: str = "" + stderr: str = "" + started_at: str = field(default_factory=utc_now) + finished_at: str | None = None + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class RuntimeCycle: + """One repository-mesh runtime cycle.""" + + cycle_id: str + report_id: str + plan_id: str + generated_at: str + lock: RuntimeLock + commands: tuple[RuntimeCommand, ...] + results: tuple[RuntimeCommandResult, ...] + summary: tuple[str, ...] + + @property + def allowed_count(self) -> int: + return sum(1 for item in self.commands if item.status == RuntimeCommandStatus.ALLOWED) + + @property + def blocked_count(self) -> int: + return sum(1 for item in self.commands if item.status == RuntimeCommandStatus.BLOCKED) + + @property + def skipped_count(self) -> int: + return sum(1 for item in self.commands if item.status == RuntimeCommandStatus.SKIPPED) + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +@dataclass(frozen=True, slots=True) +class SchedulerSpec: + """Scheduler installation plan.""" + + scheduler_id: str + kind: SchedulerKind + name: str + interval_minutes: int + command: str + working_directory: str + environment: tuple[str, ...] + install_commands: tuple[str, ...] + uninstall_commands: tuple[str, ...] + log_path: str + notes: tuple[str, ...] = () + + def to_dict(self) -> dict[str, Any]: + return as_plain_data(self) + + +def lock_payload(owner: str, expires_after_seconds: int) -> dict[str, Any]: + return { + "owner": owner, + "createdAt": utc_now(), + "expiresAfterSeconds": expires_after_seconds, + "pid": os.getpid(), + } + + +def read_lock(path: Path) -> Mapping[str, Any] | None: + try: + return json.loads(path.read_text(encoding="utf-8")) + except (OSError, json.JSONDecodeError): + return None + + +def lock_is_stale(payload: Mapping[str, Any], now_monotonic: float | None = None) -> bool: + """Return True when a lock payload should be considered stale. + + The payload uses wall-clock timestamps for auditability. In tests and in + degraded environments, malformed timestamps are treated as stale so the + operator can recover by replacing the lock. + """ + + del now_monotonic + created = str(payload.get("createdAt", "")) + expires = int(payload.get("expiresAfterSeconds", 0) or 0) + if expires <= 0: + return True + pid = payload.get("pid") + if isinstance(pid, int) and pid > 0 and pid != os.getpid() and not process_is_alive(pid): + return True + try: + from datetime import datetime + + created_dt = datetime.fromisoformat(created.replace("Z", "+00:00")) + age = time.time() - created_dt.timestamp() + return age > expires + except (ValueError, TypeError, OSError): + return True + + +def process_is_alive(pid: int) -> bool: + """Return whether a local process id is still alive without killing it.""" + + if pid <= 0: + return False + if os.name == "nt": + try: + result = subprocess.run( + ["tasklist", "/FI", f"PID eq {pid}", "/FO", "CSV", "/NH"], + check=False, + capture_output=True, + text=True, + timeout=5, + ) + except (OSError, subprocess.SubprocessError): + return True + return str(pid) in result.stdout + try: + os.kill(pid, 0) + return True + except ProcessLookupError: + return False + except PermissionError: + return True + except OSError: + return False + + +def acquire_lock(path: Path, *, owner: str, expires_after_seconds: int = 600) -> RuntimeLock: + """Acquire a JSON lock file without deleting non-stale locks.""" + + path.parent.mkdir(parents=True, exist_ok=True) + payload = lock_payload(owner, expires_after_seconds) + if path.exists(): + current = read_lock(path) + if current and not lock_is_stale(current): + return RuntimeLock( + lock_id=f"mesh-lock-{stable_digest(current, 12)}", + path=str(path), + status=RuntimeLockStatus.BUSY, + owner=str(current.get("owner", "unknown")), + acquired_at=str(current.get("createdAt", "")), + expires_after_seconds=int(current.get("expiresAfterSeconds", expires_after_seconds) or expires_after_seconds), + message="lock existente ainda valido", + ) + path.write_text(json.dumps(payload, ensure_ascii=False, indent=2, sort_keys=True), encoding="utf-8") + return RuntimeLock( + lock_id=f"mesh-lock-{stable_digest(payload, 12)}", + path=str(path), + status=RuntimeLockStatus.STALE_REPLACED, + owner=owner, + acquired_at=str(payload["createdAt"]), + expires_after_seconds=expires_after_seconds, + message="lock antigo estava ausente, invalido ou expirado", + ) + try: + with path.open("x", encoding="utf-8") as handle: + json.dump(payload, handle, ensure_ascii=False, indent=2, sort_keys=True) + return RuntimeLock( + lock_id=f"mesh-lock-{stable_digest(payload, 12)}", + path=str(path), + status=RuntimeLockStatus.ACQUIRED, + owner=owner, + acquired_at=str(payload["createdAt"]), + expires_after_seconds=expires_after_seconds, + message="lock adquirido", + ) + except FileExistsError: + return RuntimeLock( + lock_id=f"mesh-lock-{stable_digest({'path': str(path), 'owner': owner}, 12)}", + path=str(path), + status=RuntimeLockStatus.BUSY, + owner=owner, + acquired_at=None, + expires_after_seconds=expires_after_seconds, + message="lock criado por outro processo durante aquisicao", + ) + + +def release_lock(lock: RuntimeLock) -> RuntimeLock: + path = Path(lock.path) + if not lock.acquired: + return RuntimeLock( + lock_id=lock.lock_id, + path=lock.path, + status=RuntimeLockStatus.NOT_HELD, + owner=lock.owner, + acquired_at=lock.acquired_at, + expires_after_seconds=lock.expires_after_seconds, + message="lock nao estava em posse deste ciclo", + ) + try: + path.unlink(missing_ok=True) + return RuntimeLock( + lock_id=lock.lock_id, + path=lock.path, + status=RuntimeLockStatus.RELEASED, + owner=lock.owner, + acquired_at=lock.acquired_at, + expires_after_seconds=lock.expires_after_seconds, + message="lock liberado", + ) + except OSError as exc: + return RuntimeLock( + lock_id=lock.lock_id, + path=lock.path, + status=RuntimeLockStatus.BUSY, + owner=lock.owner, + acquired_at=lock.acquired_at, + expires_after_seconds=lock.expires_after_seconds, + message=f"falha ao liberar lock: {exc}", + ) + + +def runtime_command_id(source_id: str, target_name: str, command: str) -> str: + return f"mesh-cmd-{stable_digest({'source': source_id, 'target': target_name, 'command': command}, 12)}" + + +def command_from_action(action: MeshAction) -> tuple[RuntimeCommand, ...]: + commands: list[RuntimeCommand] = [] + previews = action.command_preview or (f"NOOP action:{action.kind.value}",) + for command in previews: + blocked: list[str] = [] + gates = [RuntimeGate.COMMAND_NOT_DESTRUCTIVE] + destructive = command_is_destructive(command) or action.destructive + if destructive: + blocked.append("comando ou acao marcado como destrutivo") + if not action.can_execute_automatically: + blocked.append("acao nao marcada como automatica") + else: + gates.append(RuntimeGate.ACTION_MARKED_AUTOMATIC) + commands.append( + RuntimeCommand( + command_id=runtime_command_id(action.action_id, action.target_name, command), + source_id=action.action_id, + target_name=action.target_name, + command=command, + automatic=action.can_execute_automatically, + destructive=destructive, + gates=tuple(gates), + blocked_reasons=tuple(blocked), + ) + ) + return tuple(commands) + + +def command_from_operation(operation: PlannedOperation) -> tuple[RuntimeCommand, ...]: + commands: list[RuntimeCommand] = [] + previews = operation.commands or (f"NOOP operation:{operation.status.value}",) + for command in previews: + blocked: list[str] = [] + gates = [RuntimeGate.COMMAND_NOT_DESTRUCTIVE] + destructive = command_is_destructive(command) or operation.destructive + if destructive: + blocked.append("comando ou operacao marcado como destrutivo") + if operation.severity == ReceiptSeverity.BLOCKER: + blocked.append("operacao possui severidade blocker") + if not operation.automatic: + blocked.append("operacao requer execucao manual") + else: + gates.append(RuntimeGate.OPERATION_NOT_DESTRUCTIVE) + commands.append( + RuntimeCommand( + command_id=runtime_command_id(operation.operation_id, operation.target_name, command), + source_id=operation.operation_id, + target_name=operation.target_name, + command=command, + automatic=operation.automatic, + destructive=destructive, + gates=tuple(gates), + blocked_reasons=tuple(blocked), + ) + ) + return tuple(commands) + + +def commands_from_report_and_plan(report: MeshReport, plan: ReconciliationPlan) -> tuple[RuntimeCommand, ...]: + commands: list[RuntimeCommand] = [] + for summary in report.summaries: + for action in summary.actions: + commands.extend(command_from_action(action)) + for receipt in plan.receipts: + for operation in receipt.operations: + commands.extend(command_from_operation(operation)) + dedup: dict[str, RuntimeCommand] = {} + for command in commands: + dedup.setdefault(command.command_id, command) + return tuple(dedup.values()) + + +def build_runtime_cycle( + report: MeshReport, + plan: ReconciliationPlan, + *, + lock: RuntimeLock, + execute: bool = False, +) -> RuntimeCycle: + """Build a runtime cycle receipt. + + ``execute`` is intentionally present but not used to shell out in this + module. A future runner can replace the result construction with an actual + subprocess layer after preserving the same gates. + """ + + commands = commands_from_report_and_plan(report, plan) + results: list[RuntimeCommandResult] = [] + for command in commands: + status = command.status + if not lock.acquired: + status = RuntimeCommandStatus.BLOCKED + command = RuntimeCommand( + command_id=command.command_id, + source_id=command.source_id, + target_name=command.target_name, + command=command.command, + automatic=command.automatic, + destructive=command.destructive, + gates=command.gates, + blocked_reasons=merge_unique((*command.blocked_reasons, "lock nao adquirido")), + ) + elif execute and command.status == RuntimeCommandStatus.ALLOWED: + status = RuntimeCommandStatus.SKIPPED + results.append(RuntimeCommandResult(command=command, status=status, finished_at=utc_now())) + summary = ( + f"commands: {len(commands)}", + f"allowed: {sum(1 for item in commands if item.status == RuntimeCommandStatus.ALLOWED)}", + f"blocked: {sum(1 for item in commands if item.status == RuntimeCommandStatus.BLOCKED)}", + f"skipped: {sum(1 for item in commands if item.status == RuntimeCommandStatus.SKIPPED)}", + f"lock: {lock.status.value}", + ) + seed = {"report": report.report_id, "plan": plan.plan_id, "lock": lock.lock_id, "commands": [cmd.command_id for cmd in commands]} + return RuntimeCycle( + cycle_id=f"mesh-cycle-{stable_digest(seed, 12)}", + report_id=report.report_id, + plan_id=plan.plan_id, + generated_at=utc_now(), + lock=lock, + commands=commands, + results=tuple(results), + summary=summary, + ) + + +def runtime_rows(cycle: RuntimeCycle) -> list[list[str]]: + rows = [["command_id", "target_name", "status", "automatic", "destructive", "command", "blocked_reasons"]] + for result in cycle.results: + command = result.command + rows.append( + [ + command.command_id, + command.target_name, + result.status.value, + "yes" if command.automatic else "no", + "yes" if command.destructive else "no", + command.command, + " | ".join(command.blocked_reasons), + ] + ) + return rows + + +def runtime_csv(cycle: RuntimeCycle) -> str: + return rows_to_csv(runtime_rows(cycle)) + + +def runtime_jsonl(cycle: RuntimeCycle) -> str: + lines = [json.dumps(as_plain_data(result), ensure_ascii=False, sort_keys=True) for result in cycle.results] + return "\n".join(lines) + ("\n" if lines else "") + + +def runtime_markdown(cycle: RuntimeCycle) -> str: + lines = [ + "# Repository Mesh Runtime Cycle", + "", + f"- cycle_id: `{cycle.cycle_id}`", + f"- report_id: `{cycle.report_id}`", + f"- plan_id: `{cycle.plan_id}`", + f"- generated_at: `{cycle.generated_at}`", + f"- lock_status: `{cycle.lock.status.value}`", + f"- allowed: `{cycle.allowed_count}`", + f"- blocked: `{cycle.blocked_count}`", + f"- skipped: `{cycle.skipped_count}`", + "", + "## Sumario", + "", + ] + lines.extend(f"- {item}" for item in cycle.summary) + lines.extend(["", "## Comandos", ""]) + for result in cycle.results[:160]: + command = result.command + lines.append(f"- `{result.status.value}` `{command.target_name}` `{command.command}`") + if command.blocked_reasons: + lines.append(f" - bloqueios: {'; '.join(command.blocked_reasons)}") + return "\n".join(lines).strip() + "\n" + + +def windows_scheduler_spec( + *, + python_exe: str, + project_root: Path, + ecosystem_root: Path, + central_platform_folder: Path | None, + interval_minutes: int = 5, +) -> SchedulerSpec: + central_arg = f" --central-platform-folder '{central_platform_folder}'" if central_platform_folder else "" + command = ( + f"'{python_exe}' -m mais_humana.cli repo-mesh --ecosystem-root '{ecosystem_root}' " + f"--project-root '{project_root}'{central_arg} --fetch" + ) + task_name = "TudoParaIA-RepositoryMeshSync" + install = ( + f"$Action = New-ScheduledTaskAction -Execute '{python_exe}' -Argument \"-m mais_humana.cli repo-mesh --ecosystem-root '{ecosystem_root}' --project-root '{project_root}'{central_arg} --fetch\"", + f"$Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes {interval_minutes})", + f"Register-ScheduledTask -TaskName '{task_name}' -Action $Action -Trigger $Trigger", + ) + return SchedulerSpec( + scheduler_id=f"scheduler-{stable_digest({'kind': 'windows', 'project': str(project_root)}, 10)}", + kind=SchedulerKind.WINDOWS_TASK, + name=task_name, + interval_minutes=interval_minutes, + command=command, + working_directory=str(project_root), + environment=(f"PYTHONPATH={project_root / 'src'}",), + install_commands=install, + uninstall_commands=(f"Unregister-ScheduledTask -TaskName '{task_name}' -Confirm:$false",), + log_path=str(project_root / "dados" / "repository-mesh-runtime.jsonl"), + notes=("usar credencial Git do usuario operacional", "nao usar plugin Cloudflare como via de sincronizacao"), + ) + + +def cron_scheduler_spec( + *, + python_exe: str, + project_root: Path, + ecosystem_root: Path, + central_platform_folder: Path | None = None, + interval_minutes: int = 5, +) -> SchedulerSpec: + central_arg = f" --central-platform-folder '{central_platform_folder}'" if central_platform_folder else "" + command = ( + f"cd '{project_root}' && PYTHONPATH='{project_root / 'src'}' '{python_exe}' " + f"-m mais_humana.cli repo-mesh --ecosystem-root '{ecosystem_root}' --project-root '{project_root}'{central_arg} --fetch" + ) + cron_line = f"*/{interval_minutes} * * * * {command} >> '{project_root / 'dados' / 'repository-mesh-cron.log'}' 2>&1" + return SchedulerSpec( + scheduler_id=f"scheduler-{stable_digest({'kind': 'cron', 'project': str(project_root)}, 10)}", + kind=SchedulerKind.CRON, + name="tudo-para-ia-repository-mesh-sync", + interval_minutes=interval_minutes, + command=command, + working_directory=str(project_root), + environment=(f"PYTHONPATH={project_root / 'src'}",), + install_commands=(f"(crontab -l; echo \"{cron_line}\") | crontab -",), + uninstall_commands=("crontab -l | grep -v 'repository-mesh' | crontab -",), + log_path=str(project_root / "dados" / "repository-mesh-cron.log"), + notes=("executar em cada host Linux da malha", "bloquear se houver dirty tree ou divergencia"), + ) + + +def scheduler_payload(specs: Sequence[SchedulerSpec]) -> dict[str, Any]: + return { + "generatedAt": utc_now(), + "schedulers": [spec.to_dict() for spec in specs], + "intervalMinutes": merge_unique(str(spec.interval_minutes) for spec in specs), + "kinds": merge_unique(spec.kind.value for spec in specs), + } + + +def scheduler_markdown(specs: Sequence[SchedulerSpec]) -> str: + lines = ["# Repository Mesh Scheduler Specs", ""] + for spec in specs: + lines.append(f"## {spec.name}") + lines.append("") + lines.append(f"- kind: `{spec.kind.value}`") + lines.append(f"- interval_minutes: `{spec.interval_minutes}`") + lines.append(f"- working_directory: `{spec.working_directory}`") + lines.append(f"- log_path: `{spec.log_path}`") + lines.append("") + lines.append("Install:") + for command in spec.install_commands: + lines.append(f"- `{command}`") + lines.append("") + lines.append("Uninstall:") + for command in spec.uninstall_commands: + lines.append(f"- `{command}`") + if spec.notes: + lines.append("") + lines.append("Notas:") + for note in spec.notes: + lines.append(f"- {note}") + lines.append("") + return "\n".join(lines).strip() + "\n" + + +def write_json(path: Path, payload: object) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(as_plain_data(payload), ensure_ascii=False, indent=2, sort_keys=True), encoding="utf-8") + return path + + +def write_text(path: Path, text: str) -> Path: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text, encoding="utf-8") + return path + + +def write_runtime_artifacts( + cycle: RuntimeCycle, + specs: Sequence[SchedulerSpec], + project_root: Path, + *, + central_platform_folder: Path | None = None, +) -> tuple[GeneratedFile, ...]: + write_json(project_root / "dados" / "repository-mesh-runtime-cycle.json", cycle) + write_text(project_root / "dados" / "repository-mesh-runtime.jsonl", runtime_jsonl(cycle)) + write_text(project_root / "matrizes" / "repository-mesh-runtime.csv", runtime_csv(cycle)) + write_json(project_root / "dados" / "repository-mesh-schedulers.json", scheduler_payload(specs)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-RUNTIME.md", runtime_markdown(cycle)) + write_text(project_root / "ecossistema" / "REPOSITORY-MESH-SCHEDULERS.md", scheduler_markdown(specs)) + if central_platform_folder is not None: + reports = central_platform_folder / "reports" + reports.mkdir(parents=True, exist_ok=True) + write_text(reports / "EXECUTADO__repository-mesh-runtime.md", runtime_markdown(cycle)) + records = [ + GeneratedFile( + path="dados/repository-mesh-runtime-cycle.json", + description="Recibo JSON do ciclo runtime da malha.", + function="repository mesh runtime", + file_type="json", + changed_by="mais_humana.repository_mesh_runtime", + change_summary="Criado recibo de comandos permitidos/bloqueados.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="dados/repository-mesh-runtime.jsonl", + description="Log JSONL dos comandos do ciclo runtime.", + function="repository mesh runtime log", + file_type="jsonl", + changed_by="mais_humana.repository_mesh_runtime", + change_summary="Criado log JSONL auditavel.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="matrizes/repository-mesh-runtime.csv", + description="Matriz dos comandos do runtime.", + function="repository mesh runtime matrix", + file_type="csv", + changed_by="mais_humana.repository_mesh_runtime", + change_summary="Criada matriz de comandos permitidos/bloqueados.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="dados/repository-mesh-schedulers.json", + description="Especificacoes de agendamento da malha.", + function="repository mesh scheduler", + file_type="json", + changed_by="mais_humana.repository_mesh_runtime", + change_summary="Criadas especificacoes Windows/Cron.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="ecossistema/REPOSITORY-MESH-RUNTIME.md", + description="Relatorio humano do ciclo runtime.", + function="repository mesh runtime report", + file_type="markdown", + changed_by="mais_humana.repository_mesh_runtime", + change_summary="Documentado ciclo runtime seguro.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + GeneratedFile( + path="ecossistema/REPOSITORY-MESH-SCHEDULERS.md", + description="Instalacao sugerida dos schedulers da malha.", + function="repository mesh scheduler report", + file_type="markdown", + changed_by="mais_humana.repository_mesh_runtime", + change_summary="Documentado scheduler de 5 minutos.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + ] + if central_platform_folder is not None: + records.append( + GeneratedFile( + path=str(central_platform_folder / "reports" / "EXECUTADO__repository-mesh-runtime.md"), + description="Runtime registrado na central.", + function="repository mesh central runtime", + file_type="markdown", + changed_by="mais_humana.repository_mesh_runtime", + change_summary="Registrado runtime da sincronizacao na central.", + relation_to_order="000_sincronizacao-dos-espelhos", + ) + ) + return tuple(records) diff --git a/src/mais_humana/repository_mesh_semantic.py b/src/mais_humana/repository_mesh_semantic.py new file mode 100644 index 0000000..0f605c9 --- /dev/null +++ b/src/mais_humana/repository_mesh_semantic.py @@ -0,0 +1,545 @@ +"""SQLite persistence for repository mesh control artifacts.""" + +from __future__ import annotations + +import json +import sqlite3 +from dataclasses import dataclass +from pathlib import Path +from typing import Any, Mapping, Sequence + +from .models import GeneratedFile, ServiceOrder, as_plain_data, utc_now +from .repository_mesh import MeshReport, MeshRiskLevel +from .repository_mesh_reconciliation import ReconciliationPlan, ReconciliationStatus +from .repository_mesh_runtime import RuntimeCycle, SchedulerSpec + + +SCHEMA = """ +CREATE TABLE IF NOT EXISTS repository_mesh_reports ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + report_id TEXT UNIQUE NOT NULL, + generated_at TEXT NOT NULL, + fetch_enabled INTEGER NOT NULL, + targets_count INTEGER NOT NULL, + observations_count INTEGER NOT NULL, + ok_count INTEGER NOT NULL, + attention_count INTEGER NOT NULL, + blocked_count INTEGER NOT NULL, + dirty_repositories INTEGER NOT NULL, + credential_errors INTEGER NOT NULL, + destructive_blocks INTEGER NOT NULL, + plugin_auth_attempt TEXT NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE TABLE IF NOT EXISTS repository_mesh_targets ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + report_id TEXT NOT NULL, + declared_name TEXT NOT NULL, + expected_local_name TEXT NOT NULL, + gitea_repo TEXT NOT NULL, + risk TEXT NOT NULL, + aligned_hash TEXT, + hash_count INTEGER NOT NULL, + dirty_count INTEGER NOT NULL, + missing_count INTEGER NOT NULL, + remote_mismatch_count INTEGER NOT NULL, + nominal_mismatch_count INTEGER NOT NULL, + credential_error_count INTEGER NOT NULL, + destructive_block_count INTEGER NOT NULL, + summary TEXT NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL, + UNIQUE(report_id, declared_name) +); + +CREATE TABLE IF NOT EXISTS repository_mesh_observations ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + report_id TEXT NOT NULL, + declared_name TEXT NOT NULL, + environment_id TEXT NOT NULL, + presence TEXT NOT NULL, + matched_path TEXT, + branch TEXT, + head TEXT, + remote_origin TEXT, + cleanliness TEXT, + ahead INTEGER, + behind INTEGER, + fetch_error_kind TEXT, + nomenclature_note TEXT, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL, + UNIQUE(report_id, declared_name, environment_id) +); + +CREATE TABLE IF NOT EXISTS repository_mesh_actions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + report_id TEXT NOT NULL, + action_id TEXT UNIQUE NOT NULL, + declared_name TEXT NOT NULL, + environment_id TEXT NOT NULL, + kind TEXT NOT NULL, + risk TEXT NOT NULL, + automatic INTEGER NOT NULL, + destructive INTEGER NOT NULL, + reason TEXT NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE TABLE IF NOT EXISTS repository_mesh_reconciliation_plans ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + plan_id TEXT UNIQUE NOT NULL, + report_id TEXT NOT NULL, + generated_at TEXT NOT NULL, + blocker_count INTEGER NOT NULL, + auto_sync_ready_count INTEGER NOT NULL, + rename_ready_count INTEGER NOT NULL, + credential_blocked_count INTEGER NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE TABLE IF NOT EXISTS repository_mesh_receipts ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + plan_id TEXT NOT NULL, + receipt_id TEXT UNIQUE NOT NULL, + target_name TEXT NOT NULL, + expected_local_name TEXT NOT NULL, + gitea_repo TEXT NOT NULL, + status TEXT NOT NULL, + risk TEXT NOT NULL, + safe_to_auto_sync INTEGER NOT NULL, + selected_head TEXT, + precedence TEXT NOT NULL, + pending_count INTEGER NOT NULL, + blocker_count INTEGER NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE TABLE IF NOT EXISTS repository_mesh_runtime_cycles ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + cycle_id TEXT UNIQUE NOT NULL, + report_id TEXT NOT NULL, + plan_id TEXT NOT NULL, + generated_at TEXT NOT NULL, + lock_status TEXT NOT NULL, + allowed_count INTEGER NOT NULL, + blocked_count INTEGER NOT NULL, + skipped_count INTEGER NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE TABLE IF NOT EXISTS repository_mesh_schedulers ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + scheduler_id TEXT UNIQUE NOT NULL, + kind TEXT NOT NULL, + name TEXT NOT NULL, + interval_minutes INTEGER NOT NULL, + command TEXT NOT NULL, + working_directory TEXT NOT NULL, + log_path TEXT NOT NULL, + payload_json TEXT NOT NULL, + updated_at TEXT NOT NULL +); +""" + + +@dataclass(frozen=True, slots=True) +class MeshSemanticCounts: + reports: int + targets: int + observations: int + actions: int + plans: int + receipts: int + cycles: int + schedulers: int + + def to_dict(self) -> dict[str, int]: + return as_plain_data(self) + + +def connect(path: Path) -> sqlite3.Connection: + path.parent.mkdir(parents=True, exist_ok=True) + conn = sqlite3.connect(path) + conn.execute("PRAGMA journal_mode=WAL") + conn.execute("PRAGMA synchronous=NORMAL") + conn.executescript(SCHEMA) + return conn + + +def payload(value: object) -> str: + return json.dumps(as_plain_data(value), ensure_ascii=False, sort_keys=True) + + +def upsert_report(conn: sqlite3.Connection, report: MeshReport) -> None: + now = utc_now() + conn.execute( + """ + INSERT INTO repository_mesh_reports ( + report_id, generated_at, fetch_enabled, targets_count, observations_count, + ok_count, attention_count, blocked_count, dirty_repositories, + credential_errors, destructive_blocks, plugin_auth_attempt, + payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(report_id) DO UPDATE SET + generated_at=excluded.generated_at, + fetch_enabled=excluded.fetch_enabled, + targets_count=excluded.targets_count, + observations_count=excluded.observations_count, + ok_count=excluded.ok_count, + attention_count=excluded.attention_count, + blocked_count=excluded.blocked_count, + dirty_repositories=excluded.dirty_repositories, + credential_errors=excluded.credential_errors, + destructive_blocks=excluded.destructive_blocks, + plugin_auth_attempt=excluded.plugin_auth_attempt, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + report.report_id, + report.generated_at, + 1 if report.fetch_enabled else 0, + len(report.targets), + report.total_observations, + report.ok_count, + report.attention_count, + report.blocked_count, + report.dirty_repositories, + report.credential_errors, + report.destructive_blocks, + report.plugin_auth_attempt, + payload(report), + now, + ), + ) + for summary in report.summaries: + conn.execute( + """ + INSERT INTO repository_mesh_targets ( + report_id, declared_name, expected_local_name, gitea_repo, risk, + aligned_hash, hash_count, dirty_count, missing_count, + remote_mismatch_count, nominal_mismatch_count, credential_error_count, + destructive_block_count, summary, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(report_id, declared_name) DO UPDATE SET + expected_local_name=excluded.expected_local_name, + gitea_repo=excluded.gitea_repo, + risk=excluded.risk, + aligned_hash=excluded.aligned_hash, + hash_count=excluded.hash_count, + dirty_count=excluded.dirty_count, + missing_count=excluded.missing_count, + remote_mismatch_count=excluded.remote_mismatch_count, + nominal_mismatch_count=excluded.nominal_mismatch_count, + credential_error_count=excluded.credential_error_count, + destructive_block_count=excluded.destructive_block_count, + summary=excluded.summary, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + report.report_id, + summary.target.declared_name, + summary.target.expected_local_name, + summary.target.gitea_repo, + summary.risk.value, + summary.aligned_hash, + len(summary.hash_set), + summary.dirty_count, + summary.missing_count, + summary.remote_mismatch_count, + summary.nominal_mismatch_count, + summary.credential_error_count, + summary.destructive_block_count, + summary.summary, + payload(summary), + now, + ), + ) + for obs in summary.observations: + state = obs.git_state + conn.execute( + """ + INSERT INTO repository_mesh_observations ( + report_id, declared_name, environment_id, presence, matched_path, + branch, head, remote_origin, cleanliness, ahead, behind, + fetch_error_kind, nomenclature_note, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(report_id, declared_name, environment_id) DO UPDATE SET + presence=excluded.presence, + matched_path=excluded.matched_path, + branch=excluded.branch, + head=excluded.head, + remote_origin=excluded.remote_origin, + cleanliness=excluded.cleanliness, + ahead=excluded.ahead, + behind=excluded.behind, + fetch_error_kind=excluded.fetch_error_kind, + nomenclature_note=excluded.nomenclature_note, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + report.report_id, + summary.target.declared_name, + obs.environment_id, + obs.presence.value, + obs.matched_path, + state.branch if state else None, + state.head if state else None, + state.remote_origin if state else None, + state.cleanliness.value if state else None, + state.ahead_behind.ahead if state else None, + state.ahead_behind.behind if state else None, + state.fetch_error_kind.value if state else None, + obs.nomenclature_note, + payload(obs), + now, + ), + ) + for action in summary.actions: + conn.execute( + """ + INSERT INTO repository_mesh_actions ( + report_id, action_id, declared_name, environment_id, kind, + risk, automatic, destructive, reason, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(action_id) DO UPDATE SET + report_id=excluded.report_id, + declared_name=excluded.declared_name, + environment_id=excluded.environment_id, + kind=excluded.kind, + risk=excluded.risk, + automatic=excluded.automatic, + destructive=excluded.destructive, + reason=excluded.reason, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + report.report_id, + action.action_id, + action.target_name, + action.environment_id, + action.kind.value, + action.risk.value, + 1 if action.can_execute_automatically else 0, + 1 if action.destructive else 0, + action.reason, + payload(action), + now, + ), + ) + + +def upsert_plan(conn: sqlite3.Connection, plan: ReconciliationPlan) -> None: + now = utc_now() + conn.execute( + """ + INSERT INTO repository_mesh_reconciliation_plans ( + plan_id, report_id, generated_at, blocker_count, auto_sync_ready_count, + rename_ready_count, credential_blocked_count, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(plan_id) DO UPDATE SET + report_id=excluded.report_id, + generated_at=excluded.generated_at, + blocker_count=excluded.blocker_count, + auto_sync_ready_count=excluded.auto_sync_ready_count, + rename_ready_count=excluded.rename_ready_count, + credential_blocked_count=excluded.credential_blocked_count, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + plan.plan_id, + plan.report_id, + plan.generated_at, + plan.blocker_count, + plan.auto_sync_ready_count, + plan.rename_ready_count, + plan.credential_blocked_count, + payload(plan), + now, + ), + ) + for receipt in plan.receipts: + conn.execute( + """ + INSERT INTO repository_mesh_receipts ( + plan_id, receipt_id, target_name, expected_local_name, gitea_repo, + status, risk, safe_to_auto_sync, selected_head, precedence, + pending_count, blocker_count, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(receipt_id) DO UPDATE SET + plan_id=excluded.plan_id, + target_name=excluded.target_name, + expected_local_name=excluded.expected_local_name, + gitea_repo=excluded.gitea_repo, + status=excluded.status, + risk=excluded.risk, + safe_to_auto_sync=excluded.safe_to_auto_sync, + selected_head=excluded.selected_head, + precedence=excluded.precedence, + pending_count=excluded.pending_count, + blocker_count=excluded.blocker_count, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + plan.plan_id, + receipt.receipt_id, + receipt.target_name, + receipt.expected_local_name, + receipt.gitea_repo, + receipt.status.value, + receipt.risk.value, + 1 if receipt.safe_to_auto_sync else 0, + receipt.latest_state.selected_head, + receipt.latest_state.precedence.value, + len(receipt.pending_items), + len(receipt.blockers), + payload(receipt), + now, + ), + ) + + +def upsert_runtime(conn: sqlite3.Connection, cycle: RuntimeCycle, schedulers: Sequence[SchedulerSpec]) -> None: + now = utc_now() + conn.execute( + """ + INSERT INTO repository_mesh_runtime_cycles ( + cycle_id, report_id, plan_id, generated_at, lock_status, + allowed_count, blocked_count, skipped_count, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(cycle_id) DO UPDATE SET + report_id=excluded.report_id, + plan_id=excluded.plan_id, + generated_at=excluded.generated_at, + lock_status=excluded.lock_status, + allowed_count=excluded.allowed_count, + blocked_count=excluded.blocked_count, + skipped_count=excluded.skipped_count, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + cycle.cycle_id, + cycle.report_id, + cycle.plan_id, + cycle.generated_at, + cycle.lock.status.value, + cycle.allowed_count, + cycle.blocked_count, + cycle.skipped_count, + payload(cycle), + now, + ), + ) + for spec in schedulers: + conn.execute( + """ + INSERT INTO repository_mesh_schedulers ( + scheduler_id, kind, name, interval_minutes, command, + working_directory, log_path, payload_json, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(scheduler_id) DO UPDATE SET + kind=excluded.kind, + name=excluded.name, + interval_minutes=excluded.interval_minutes, + command=excluded.command, + working_directory=excluded.working_directory, + log_path=excluded.log_path, + payload_json=excluded.payload_json, + updated_at=excluded.updated_at + """, + ( + spec.scheduler_id, + spec.kind.value, + spec.name, + spec.interval_minutes, + spec.command, + spec.working_directory, + spec.log_path, + payload(spec), + now, + ), + ) + + +def write_repository_mesh_semantic_state( + sqlite_path: Path, + *, + report: MeshReport, + plan: ReconciliationPlan, + cycle: RuntimeCycle, + schedulers: Sequence[SchedulerSpec], +) -> MeshSemanticCounts: + with connect(sqlite_path) as conn: + upsert_report(conn, report) + upsert_plan(conn, plan) + upsert_runtime(conn, cycle, schedulers) + conn.commit() + return table_counts(sqlite_path) + + +def table_counts(sqlite_path: Path) -> MeshSemanticCounts: + if not sqlite_path.exists(): + return MeshSemanticCounts(0, 0, 0, 0, 0, 0, 0, 0) + with sqlite3.connect(sqlite_path) as conn: + def count(table: str) -> int: + try: + return int(conn.execute(f"SELECT COUNT(*) FROM {table}").fetchone()[0]) + except sqlite3.DatabaseError: + return -1 + + return MeshSemanticCounts( + reports=count("repository_mesh_reports"), + targets=count("repository_mesh_targets"), + observations=count("repository_mesh_observations"), + actions=count("repository_mesh_actions"), + plans=count("repository_mesh_reconciliation_plans"), + receipts=count("repository_mesh_receipts"), + cycles=count("repository_mesh_runtime_cycles"), + schedulers=count("repository_mesh_schedulers"), + ) + + +def semantic_generated_records(sqlite_path: Path) -> tuple[GeneratedFile, ...]: + return ( + GeneratedFile( + path=str(sqlite_path), + description="SQLite semantico atualizado com inventario, reconciliacao e runtime da malha de repositorios.", + function="repository mesh semantic state", + file_type="sqlite", + changed_by="mais_humana.repository_mesh_semantic", + change_summary="Registradas tabelas compactas da OS permanente de sincronizacao.", + relation_to_order="000_sincronizacao-dos-espelhos", + ), + ) + + +def counts_markdown(counts: MeshSemanticCounts, sqlite_path: Path) -> str: + lines = [ + "# Repository Mesh Semantic Counts", + "", + f"- sqlite: `{sqlite_path}`", + f"- reports: `{counts.reports}`", + f"- targets: `{counts.targets}`", + f"- observations: `{counts.observations}`", + f"- actions: `{counts.actions}`", + f"- plans: `{counts.plans}`", + f"- receipts: `{counts.receipts}`", + f"- cycles: `{counts.cycles}`", + f"- schedulers: `{counts.schedulers}`", + "", + ] + return "\n".join(lines) + diff --git a/tests/test_full_generation.py b/tests/test_full_generation.py index ac09b8c..6a1239a 100644 --- a/tests/test_full_generation.py +++ b/tests/test_full_generation.py @@ -35,6 +35,9 @@ class FullGenerationTests(unittest.TestCase): self.assertTrue((project / "dados" / "snapshot-ecossistema.json").exists()) self.assertTrue((project / "relatorios-docx" / "RELATORIO-GERAL-DO-ECOSSISTEMA-humana.docx").exists()) self.assertTrue((project / "graficos" / "matriz-plataforma-perfil.svg").exists()) + self.assertTrue((project / "dados" / "mcp-provider-mais-humana.json").exists()) + self.assertTrue((project / "matrizes" / "mcp-contratos-humanos.csv").exists()) + self.assertTrue((project / "ecossistema" / "UI-RENDERER-SAME-SOURCE-POLICY.md").exists()) self.assertTrue((central / "controle-semantico.sqlite").exists()) counts = table_counts(central / "controle-semantico.sqlite") self.assertGreater(counts["files"], 0) diff --git a/tests/test_mcp_provider_contract.py b/tests/test_mcp_provider_contract.py new file mode 100644 index 0000000..419d6b0 --- /dev/null +++ b/tests/test_mcp_provider_contract.py @@ -0,0 +1,115 @@ +from __future__ import annotations + +import json +import unittest +from pathlib import Path + +from mais_humana.catalog import get_platform +from mais_humana.cli import main +from mais_humana.human_rulebook import MCP_TRANSIT_FIELDS, evaluate_rulebook +from mais_humana.matrix import build_matrix, build_platform_reports +from mais_humana.mcp_contract import ( + CANONICAL_PROJECT_ID, + MCP_CONTROL_PLANE_ID, + McpContractKind, + build_mcp_contract_report, + contracts_for_kind, + iter_contracts, + mcp_contract_csv, + mcp_contract_markdown, + mcp_provider_payload, + same_source_validation_payload, +) +from mais_humana.scanner import scan_platform +from tests.helpers import make_tmp + + +class McpProviderContractTests(unittest.TestCase): + def make_repo(self, root: Path, platform_id: str, text: str) -> None: + platform = get_platform(platform_id) + repo = root / platform.repo_name + repo.mkdir(parents=True) + (repo / "README.md").write_text(text, encoding="utf-8") + (repo / "src").mkdir() + (repo / "src" / "index.ts").write_text( + "\n".join( + [ + "export const panel = 'admin_ui panelReady sameSource sourcePayloadHash sourceRecordsHash';", + "export const trace = 'traceId auditId actor permission result timestamp';", + "export const docs = 'responseReady readiness health evidence';", + ] + ) + + "\n", + encoding="utf-8", + ) + + def make_report(self, root: Path): + self.make_repo( + root, + "business", + "business checkout billing entitlements sameSource panelReady responseReady traceId auditId", + ) + self.make_repo( + root, + "docs", + "docs catalogOnly formal exception contract canonical sourcePayloadHash sourceRecordsHash", + ) + scans = tuple(scan_platform(root, get_platform(pid)) for pid in ("business", "docs")) + cells = build_matrix(scans) + reports = build_platform_reports(scans, cells) + rulebook = evaluate_rulebook(reports, limit=60) + return build_mcp_contract_report(rulebook) + + def test_generated_contract_registry_is_large_and_mcp_bound(self) -> None: + contracts = iter_contracts() + self.assertGreaterEqual(len(contracts), 500) + self.assertTrue(any(contract.contract_id == "docs.formal-exception.docs-catalogonly" for contract in contracts)) + self.assertTrue(any(contract.control_plane_id == MCP_CONTROL_PLANE_ID for contract in contracts)) + self.assertTrue(all(tuple(MCP_TRANSIT_FIELDS) == contract.required_transit_fields for contract in contracts)) + + def test_contract_report_exports_provider_envelope(self) -> None: + report = self.make_report(make_tmp()) + envelope = mcp_provider_payload(report, limit=5) + self.assertEqual(envelope["origin"], "tudo-para-ia-mais-humana") + self.assertEqual(envelope["destination"], MCP_CONTROL_PLANE_ID) + self.assertIn("traceId", envelope) + self.assertIn("auditId", envelope) + self.assertEqual(envelope["payload"]["canonicalProjectId"], CANONICAL_PROJECT_ID) + self.assertLessEqual(len(envelope["payload"]["contracts"]), 5) + + def test_contract_markdown_csv_and_same_source_payload_are_stable(self) -> None: + report = self.make_report(make_tmp()) + markdown = mcp_contract_markdown(report) + csv_text = mcp_contract_csv(report) + same_source = same_source_validation_payload(report, limit=8) + self.assertIn("MCP Provider Mais Humana", markdown) + self.assertIn("contract_id,kind,platform_id", csv_text) + self.assertTrue(same_source["allSameSource"]) + self.assertGreater(same_source["validatedCount"], 0) + + def test_report_model_and_ui_contracts_exist(self) -> None: + report_models = contracts_for_kind(McpContractKind.REPORT_MODEL) + ui_screens = contracts_for_kind(McpContractKind.UI_SCREEN) + self.assertGreater(len(report_models), 100) + self.assertGreater(len(ui_screens), 20) + self.assertTrue(all(contract.report_model_id for contract in report_models)) + + def test_cli_mcp_provider_returns_json(self) -> None: + root = make_tmp() + self.make_repo( + root, + "business", + "business checkout billing entitlements sameSource panelReady responseReady traceId auditId", + ) + code = main(["mcp-provider", "--ecosystem-root", str(root), "--limit", "3"]) + self.assertEqual(code, 0) + + def test_provider_payload_is_serializable(self) -> None: + report = self.make_report(make_tmp()) + payload = mcp_provider_payload(report, limit=3) + text = json.dumps(payload, ensure_ascii=False) + self.assertIn("sourcePayloadHash", text) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_redaction_acceptance.py b/tests/test_redaction_acceptance.py index dcc406c..ab2a331 100644 --- a/tests/test_redaction_acceptance.py +++ b/tests/test_redaction_acceptance.py @@ -61,6 +61,15 @@ Bearer abcdefghijklmnopqrstuvwxyz1234567890 self.assertEqual(len(findings), 1) self.assertEqual(findings[0].pattern_id, "cloudflare_token_assignment") + def test_redaction_flags_cfat_even_when_named_as_reference(self) -> None: + findings = scan_text_for_secrets("route.md", "tokenRef=cfat_abcdefghijklmnopqrstuvwxyz1234567890") + self.assertEqual(len(findings), 1) + self.assertEqual(findings[0].pattern_id, "cloudflare_cfat_token") + + def test_redaction_allows_single_opaque_reference_line(self) -> None: + findings = scan_text_for_secrets("route.md", "credentialRef: cf-token-prod-readonly") + self.assertEqual(findings, ()) + def test_acceptance_report_handles_missing_artifacts(self) -> None: root = make_tmp() bundle = ReportBundle( diff --git a/tests/test_repository_mesh.py b/tests/test_repository_mesh.py new file mode 100644 index 0000000..4b0dbef --- /dev/null +++ b/tests/test_repository_mesh.py @@ -0,0 +1,389 @@ +from __future__ import annotations + +import json +import unittest +from pathlib import Path +from typing import Sequence + +from mais_humana.cli import main +from mais_humana.repository_mesh import ( + CommandResult, + MeshActionKind, + MeshEnvironment, + MeshEnvironmentKind, + MeshErrorKind, + MeshPresence, + MeshRiskLevel, + RepositoryTarget, + automation_markdown, + build_mesh_report, + classify_command_error, + command_is_destructive, + default_repository_targets, + mesh_actions_csv, + mesh_inventory_csv, + mesh_markdown, + mesh_orders_payload, + mesh_summary_payload, + normalize_remote_url, + repository_mesh_artifact_records, + run_repository_mesh, + validate_report, +) +from tests.helpers import make_tmp + + +def make_repo(root: Path, name: str) -> Path: + repo = root / name + (repo / ".git").mkdir(parents=True) + return repo + + +class FakeGit: + def __init__(self) -> None: + self.calls: list[tuple[str, ...]] = [] + self.status_by_repo: dict[str, tuple[str, ...]] = {} + self.remote_by_repo: dict[str, str] = {} + self.head_by_repo: dict[str, str] = {} + self.branch_by_repo: dict[str, str] = {} + self.upstream_by_repo: dict[str, str] = {} + self.ahead_behind_by_repo: dict[str, str] = {} + self.fetch_error_by_repo: dict[str, str] = {} + + def set_repo( + self, + repo: Path, + *, + branch: str = "main", + head: str = "abc1230000000000000000000000000000000000", + remote: str = "https://git.ami.app.br/admin/repo.git", + status: Sequence[str] = (), + upstream: str = "origin/main", + ahead_behind: str = "0 0", + fetch_error: str = "", + ) -> None: + key = str(repo) + self.branch_by_repo[key] = branch + self.head_by_repo[key] = head + self.remote_by_repo[key] = remote + self.status_by_repo[key] = tuple(status) + self.upstream_by_repo[key] = upstream + self.ahead_behind_by_repo[key] = ahead_behind + if fetch_error: + self.fetch_error_by_repo[key] = fetch_error + + def __call__(self, argv: Sequence[str], cwd: Path | None = None, timeout: int = 60) -> CommandResult: + del cwd, timeout + args = tuple(str(item) for item in argv) + self.calls.append(args) + try: + repo = args[args.index("-C") + 1] + except ValueError: + repo = "" + command = args[args.index(repo) + 1 :] if repo else args + if command[:3] == ("fetch", "--all", "--prune"): + if repo in self.fetch_error_by_repo: + stderr = self.fetch_error_by_repo[repo] + return CommandResult(args, 1, "", stderr, error_kind=classify_command_error(stderr, 1)) + return CommandResult(args, 0, "", "") + if command[:2] == ("branch", "--show-current"): + return CommandResult(args, 0, self.branch_by_repo.get(repo, "main") + "\n", "") + if command[:2] == ("rev-parse", "HEAD"): + return CommandResult(args, 0, self.head_by_repo.get(repo, "abc123") + "\n", "") + if command[:3] == ("remote", "get-url", "origin"): + return CommandResult(args, 0, self.remote_by_repo.get(repo, "https://git.ami.app.br/admin/repo.git") + "\n", "") + if command[:2] == ("status", "--short"): + return CommandResult(args, 0, "\n".join(self.status_by_repo.get(repo, ())) + "\n", "") + if command[:3] == ("log", "-1", "--oneline"): + return CommandResult(args, 0, self.head_by_repo.get(repo, "abc123")[:7] + " test\n", "") + if command[:4] == ("rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"): + upstream = self.upstream_by_repo.get(repo, "origin/main") + if upstream: + return CommandResult(args, 0, upstream + "\n", "") + return CommandResult(args, 1, "", "fatal: no upstream configured", error_kind=MeshErrorKind.UNKNOWN) + if command[:3] == ("rev-list", "--left-right", "--count"): + return CommandResult(args, 0, self.ahead_behind_by_repo.get(repo, "0 0") + "\n", "") + return CommandResult(args, 1, "", "unexpected command", error_kind=MeshErrorKind.UNKNOWN) + + +class RepositoryMeshTests(unittest.TestCase): + def test_default_targets_include_nominal_reconciliation_cases(self) -> None: + targets = default_repository_targets() + names = {item.declared_name: item for item in targets} + self.assertIn("tudo-para-ia-mais-humana-plataform", names) + self.assertIn("tudo-para-ia-mais-humana", names["tudo-para-ia-mais-humana-plataform"].aliases) + self.assertTrue(names["tudo-para-ia-mais-humana-plataform"].requires_nominal_reconciliation) + self.assertIn("tudo-para-ia-integracoes-platform", names) + self.assertEqual(names["tudo-para-ia-integracoes-platform"].canonical_name, "tudo-para-ia-integracoes-plataform") + + def test_remote_normalization_ignores_git_suffix_and_slash(self) -> None: + self.assertEqual( + normalize_remote_url("https://git.ami.app.br/admin/repo.git/"), + normalize_remote_url("https://git.ami.app.br/admin/repo"), + ) + + def test_error_classifier_handles_dubious_credentials_auth_network_and_repo(self) -> None: + self.assertEqual(classify_command_error("fatal: detected dubious ownership", 1), MeshErrorKind.DUBIOUS_OWNERSHIP) + self.assertEqual(classify_command_error("SEC_E_NO_CREDENTIALS credenciais nao disponiveis", 1), MeshErrorKind.CREDENTIALS_MISSING) + self.assertEqual(classify_command_error("Authentication failed for https://x", 1), MeshErrorKind.AUTHENTICATION) + self.assertEqual(classify_command_error("Could not resolve host: git.ami.app.br", 1), MeshErrorKind.NETWORK) + self.assertEqual(classify_command_error("fatal: not a git repository", 1), MeshErrorKind.NOT_A_REPOSITORY) + self.assertEqual(classify_command_error("", 0), MeshErrorKind.NONE) + + def test_command_destructive_guard_allows_fetch_and_ff_only_but_blocks_reset_pull_clean(self) -> None: + self.assertFalse(command_is_destructive("git fetch --all --prune")) + self.assertFalse(command_is_destructive("git merge --ff-only @{u}")) + self.assertTrue(command_is_destructive("git reset --hard HEAD")) + self.assertTrue(command_is_destructive("git clean -fdx")) + self.assertTrue(command_is_destructive("git pull origin main")) + self.assertTrue(command_is_destructive("git checkout main")) + self.assertTrue(command_is_destructive("git restore .")) + + def test_clean_repository_gets_safe_fetch_action(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo( + repo, + remote="https://git.ami.app.br/admin/alpha.git", + head="1111111111111111111111111111111111111111", + ) + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=fake, fetch=True) + self.assertEqual(report.ok_count, 1) + self.assertEqual(report.blocked_count, 0) + self.assertEqual(report.summaries[0].risk, MeshRiskLevel.OK) + self.assertTrue(any(action.kind == MeshActionKind.FETCH for action in report.summaries[0].actions)) + self.assertTrue(any("--prune" in " ".join(call) for call in fake.calls)) + self.assertFalse(validate_report(report)) + + def test_dirty_repository_blocks_destructive_sync(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo( + repo, + remote="https://git.ami.app.br/admin/alpha.git", + status=(" M README.md", "?? src/new.py"), + ) + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=fake, fetch=False) + summary = report.summaries[0] + self.assertEqual(summary.risk, MeshRiskLevel.BLOCKED) + self.assertEqual(summary.dirty_count, 1) + self.assertTrue(any(action.kind == MeshActionKind.BLOCK_DESTRUCTIVE_SYNC for action in summary.actions)) + self.assertIn("working tree sujo", mesh_markdown(report)) + + def test_divergent_branch_blocks_automatic_reconciliation(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo( + repo, + remote="https://git.ami.app.br/admin/alpha.git", + ahead_behind="2 3", + ) + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=fake, fetch=False) + self.assertEqual(report.summaries[0].risk, MeshRiskLevel.BLOCKED) + reasons = " ".join(action.reason for action in report.summaries[0].actions) + self.assertIn("ahead/behind", reasons) + self.assertIn("bloqueios contra sync destrutiva", mesh_markdown(report)) + + def test_remote_mismatch_creates_fix_remote_action_without_auto_execution(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/wrong.git") + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=fake, fetch=False) + actions = report.summaries[0].actions + self.assertEqual(report.summaries[0].remote_mismatch_count, 1) + fix_actions = [item for item in actions if item.kind == MeshActionKind.FIX_REMOTE_URL] + self.assertEqual(len(fix_actions), 1) + self.assertFalse(fix_actions[0].can_execute_automatically) + self.assertIn("git remote set-url origin", " ".join(fix_actions[0].command_preview)) + + def test_missing_repository_creates_clone_plan_but_not_success(self) -> None: + root = make_tmp() + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=FakeGit(), fetch=False) + summary = report.summaries[0] + self.assertEqual(summary.risk, MeshRiskLevel.ATTENTION) + self.assertEqual(summary.missing_count, 1) + self.assertTrue(any(action.kind == MeshActionKind.CLONE_MISSING for action in summary.actions)) + self.assertIn("espelho ausente", mesh_markdown(report)) + + def test_unreachable_environment_is_blocked_as_external_access(self) -> None: + root = make_tmp() + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("server", MeshEnvironmentKind.CODEX_SERVER, str(root / "missing-root"), "remote", local=False) + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=FakeGit(), fetch=False) + summary = report.summaries[0] + self.assertEqual(summary.risk, MeshRiskLevel.BLOCKED) + self.assertEqual(summary.observations[0].presence, MeshPresence.UNREACHABLE_ENVIRONMENT) + self.assertTrue(any(action.kind == MeshActionKind.REQUIRE_ENVIRONMENT_ACCESS for action in summary.actions)) + + def test_present_non_git_directory_blocks_replace_or_clone(self) -> None: + root = make_tmp() + (root / "alpha").mkdir() + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=FakeGit(), fetch=False) + summary = report.summaries[0] + self.assertEqual(summary.risk, MeshRiskLevel.BLOCKED) + self.assertEqual(summary.observations[0].presence, MeshPresence.PRESENT_NOT_GIT) + self.assertTrue(any(action.destructive for action in summary.actions)) + + def test_alias_materialization_creates_nominal_rename_action(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha-old") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget( + "alpha-new", + "admin/alpha", + "alpha-new", + "01_alpha", + aliases=("alpha-old",), + canonical_name="alpha-new", + requires_nominal_reconciliation=True, + ) + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=fake, fetch=False) + summary = report.summaries[0] + self.assertEqual(summary.nominal_mismatch_count, 1) + self.assertTrue(any(action.kind == MeshActionKind.RENAME_LOCAL_FOLDER for action in summary.actions)) + self.assertIn("materializado como alias", mesh_markdown(report)) + + def test_fetch_credential_error_is_reported_as_blocker_not_plugin_blocker(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo( + repo, + remote="https://git.ami.app.br/admin/alpha.git", + fetch_error="fatal: unable to access url: SEC_E_NO_CREDENTIALS", + ) + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report( + root, + targets=(target,), + environments=(env,), + runner=fake, + fetch=True, + plugin_auth_attempt="user rejected MCP tool call", + ) + self.assertEqual(report.credential_errors, 1) + self.assertEqual(report.summaries[0].risk, MeshRiskLevel.BLOCKED) + md = mesh_markdown(report) + self.assertIn("user rejected MCP tool call", md) + self.assertIn("credentials_missing", json.dumps(mesh_summary_payload(report), ensure_ascii=False)) + + def test_inventory_and_actions_csv_include_required_columns(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=fake, fetch=False) + inventory = mesh_inventory_csv(report) + actions = mesh_actions_csv(report) + self.assertIn("nome_declarado,nome_esperado,repositorio_gitea", inventory) + self.assertIn("ahead_behind", inventory) + self.assertIn("action_id,nome_declarado,ambiente,tipo", actions) + + def test_automation_markdown_documents_five_minute_safe_cycle(self) -> None: + root = make_tmp() + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=FakeGit(), fetch=False) + text = automation_markdown(report) + self.assertIn("5 minutos", text) + self.assertIn("New-ScheduledTaskAction", text) + self.assertIn("*/5 * * * *", text) + self.assertIn("nunca executar reset", text.lower()) + + def test_orders_payload_maps_central_active_orders(self) -> None: + root = make_tmp() + central_root = root / "central" / "projects" + order_dir = central_root / "01_alpha" / "orders" / "executivas" + order_dir.mkdir(parents=True) + (order_dir / "0001_EXECUTIVA__teste.md").write_text("# teste\n", encoding="utf-8") + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, central_root=central_root, targets=(target,), environments=(env,), runner=fake) + payload = mesh_orders_payload(report) + self.assertEqual(payload["repositories"][0]["centralFolder"], "01_alpha") + self.assertEqual(len(payload["repositories"][0]["activeOrders"]), 1) + + def test_run_repository_mesh_writes_all_artifacts(self) -> None: + tmp = make_tmp() + ecosystem = tmp / "eco" + project = tmp / "human" + central = tmp / "central" / "projects" / "15_repo_tudo-para-ia-mais-humana" + ecosystem.mkdir() + project.mkdir() + central.mkdir(parents=True) + repo = make_repo(ecosystem, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(ecosystem), "test") + report = build_mesh_report(ecosystem, targets=(target,), environments=(env,), runner=fake) + self.assertFalse(validate_report(report)) + records = repository_mesh_artifact_records(project, central) + self.assertTrue(any("repository-mesh-inventory.json" in item["path"] for item in records)) + report, written = run_repository_mesh( + ecosystem, + project, + central_platform_folder=central, + fetch=False, + plugin_auth_attempt="user rejected MCP tool call", + runner=fake, + ) + self.assertTrue((project / "dados" / "repository-mesh-inventory.json").exists()) + self.assertTrue((project / "matrizes" / "repository-mesh-actions.csv").exists()) + self.assertTrue((project / "ecossistema" / "REPOSITORY-MESH-SYNC.md").exists()) + self.assertTrue((central / "reports" / "EXECUTADO__repository-mesh-sync.md").exists()) + self.assertGreaterEqual(len(written), 8) + + def test_cli_repo_mesh_writes_payload(self) -> None: + tmp = make_tmp() + ecosystem = tmp / "eco" + project = tmp / "human" + central = tmp / "central" / "projects" / "15_repo_tudo-para-ia-mais-humana" + ecosystem.mkdir() + project.mkdir() + central.mkdir(parents=True) + code = main( + [ + "repo-mesh", + "--ecosystem-root", + str(ecosystem), + "--project-root", + str(project), + "--central-platform-folder", + str(central), + "--plugin-auth-attempt", + "user rejected MCP tool call", + ] + ) + self.assertEqual(code, 0) + summary = json.loads((project / "dados" / "repository-mesh-summary.json").read_text(encoding="utf-8")) + self.assertEqual(summary["pluginAuthAttempt"], "user rejected MCP tool call") + self.assertEqual(summary["targets"], len(default_repository_targets())) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_repository_mesh_gitea.py b/tests/test_repository_mesh_gitea.py new file mode 100644 index 0000000..3d83329 --- /dev/null +++ b/tests/test_repository_mesh_gitea.py @@ -0,0 +1,102 @@ +from __future__ import annotations + +import unittest + +from mais_humana.repository_mesh import MeshEnvironment, MeshEnvironmentKind, RepositoryTarget, build_mesh_report +from mais_humana.repository_mesh_gitea import ( + GiteaAuth, + GiteaPlannedAction, + GiteaRepoStatus, + build_gitea_mesh_plan, + classify_http_error, + endpoint_for_target, + gitea_plan_csv, + gitea_plan_markdown, + plan_for_target, + write_gitea_plan_artifacts, +) +from tests.helpers import make_tmp +from tests.test_repository_mesh import FakeGit, make_repo + + +class RepositoryMeshGiteaTests(unittest.TestCase): + def test_endpoint_for_target_builds_api_and_clone_urls(self) -> None: + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + endpoint = endpoint_for_target(target) + self.assertEqual(endpoint.api_repo_path, "/api/v1/repos/admin/alpha") + self.assertEqual(endpoint.clone_url, "https://git.ami.app.br/admin/alpha.git") + + def test_auth_headers_are_redacted_and_support_token_or_basic(self) -> None: + token = GiteaAuth(token="secret") + self.assertIn("Authorization", token.headers()) + self.assertEqual(token.redacted_label(), "token:") + basic = GiteaAuth(username="ami", password="pw") + self.assertIn("Authorization", basic.headers()) + self.assertEqual(basic.redacted_label(), "basic:ami:") + + def test_http_error_classifier_maps_common_statuses(self) -> None: + self.assertEqual(classify_http_error(200), GiteaRepoStatus.EXISTS) + self.assertEqual(classify_http_error(404), GiteaRepoStatus.MISSING) + self.assertEqual(classify_http_error(401), GiteaRepoStatus.UNAUTHORIZED) + self.assertEqual(classify_http_error(403), GiteaRepoStatus.FORBIDDEN) + self.assertEqual(classify_http_error(None, "network"), GiteaRepoStatus.NETWORK_ERROR) + + def test_plan_for_missing_repo_requires_token_and_create_action(self) -> None: + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + endpoint = endpoint_for_target(target) + plan = plan_for_target(target, endpoint=endpoint, status=GiteaRepoStatus.MISSING, auth=GiteaAuth()) + self.assertTrue(plan.blocked) + self.assertIn(GiteaPlannedAction.REQUIRE_TOKEN, plan.actions) + self.assertIn(GiteaPlannedAction.CREATE_REPOSITORY, plan.actions) + self.assertTrue(plan.api_requests) + + def test_nominal_reconciliation_target_requires_owner_decision(self) -> None: + target = RepositoryTarget( + "alpha-plataform", + "admin/alpha", + "alpha-plataform", + "01_alpha", + aliases=("alpha",), + canonical_name="alpha-plataform", + requires_nominal_reconciliation=True, + ) + plan = plan_for_target(target, endpoint=endpoint_for_target(target), status=GiteaRepoStatus.EXISTS, auth=GiteaAuth(token="x")) + self.assertIn(GiteaPlannedAction.REQUIRE_OWNER_DECISION, plan.actions) + self.assertIn(GiteaPlannedAction.RENAME_REPOSITORY, plan.actions) + + def test_build_gitea_mesh_plan_infers_status_from_mesh_report(self) -> None: + tmp = make_tmp() + repo = make_repo(tmp, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(tmp), "test") + report = build_mesh_report(tmp, targets=(target,), environments=(env,), runner=fake) + plan = build_gitea_mesh_plan(report) + self.assertEqual(plan.exists_count, 1) + self.assertEqual(plan.blocked_count, 1) + self.assertEqual(plan.repositories[0].status, GiteaRepoStatus.EXISTS) + + def test_gitea_renderers_and_artifacts_are_written(self) -> None: + tmp = make_tmp() + project = tmp / "project" + central = tmp / "central" + project.mkdir() + central.mkdir() + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + endpoint = endpoint_for_target(target) + repo_plan = plan_for_target(target, endpoint=endpoint, status=GiteaRepoStatus.MISSING, auth=GiteaAuth()) + from mais_humana.repository_mesh_gitea import GiteaMeshPlan + + plan = GiteaMeshPlan("plan-1", "2026-01-01T00:00:00+00:00", "https://git.ami.app.br", "none", (repo_plan,)) + self.assertIn("plan_id,declared_name", gitea_plan_csv(plan)) + self.assertIn("Gitea Repository Mesh Plan", gitea_plan_markdown(plan)) + records = write_gitea_plan_artifacts(plan, project, central_platform_folder=central) + self.assertTrue((project / "dados" / "repository-mesh-gitea-plan.json").exists()) + self.assertTrue((project / "ecossistema" / "REPOSITORY-MESH-GITEA.md").exists()) + self.assertTrue((central / "reports" / "PENDENCIAS-CODEX__repository-mesh-gitea.md").exists()) + self.assertGreaterEqual(len(records), 4) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_repository_mesh_naming.py b/tests/test_repository_mesh_naming.py new file mode 100644 index 0000000..4db4daf --- /dev/null +++ b/tests/test_repository_mesh_naming.py @@ -0,0 +1,97 @@ +from __future__ import annotations + +import unittest + +from mais_humana.repository_mesh import MeshEnvironment, MeshEnvironmentKind, RepositoryTarget, build_mesh_report +from mais_humana.repository_mesh_naming import ( + NamingStatus, + candidate_names, + central_folder_for_name, + decide_naming, + naming_rows, + plataform_to_platform, + platform_to_plataform, +) +from mais_humana.repository_mesh_reconciliation import ReconciliationStatus, build_reconciliation_plan +from tests.helpers import make_tmp +from tests.test_repository_mesh import FakeGit, make_repo + + +class RepositoryMeshNamingTests(unittest.TestCase): + def test_platform_and_plataform_helpers_are_reversible_for_suffixes(self) -> None: + self.assertEqual(platform_to_plataform("tudo-para-ia-ui-platform"), "tudo-para-ia-ui-plataform") + self.assertEqual(plataform_to_platform("tudo-para-ia-docs-plataform"), "tudo-para-ia-docs-platform") + self.assertEqual(platform_to_plataform("sem-sufixo"), "sem-sufixo") + self.assertEqual(central_folder_for_name("Tudo Para IA UI Platform", index=14), "14_repo_tudo-para-ia-ui-platform") + + def test_candidate_names_include_expected_alias_canonical_and_suffix_variant(self) -> None: + target = RepositoryTarget( + "alpha-platform", + "admin/alpha-platform", + "alpha-platform", + "01_alpha", + aliases=("alpha",), + canonical_name="alpha-plataform", + requires_nominal_reconciliation=True, + ) + self.assertEqual( + candidate_names(target), + ("alpha-platform", "alpha-plataform", "alpha",), + ) + + def test_decide_naming_marks_exact_alias_missing_and_conflict(self) -> None: + root = make_tmp() + target = RepositoryTarget("alpha-new", "admin/alpha", "alpha-new", "01_alpha", aliases=("alpha-old",)) + + self.assertEqual(decide_naming(root, target).status, NamingStatus.MISSING) + + (root / "alpha-old").mkdir() + alias = decide_naming(root, target) + self.assertEqual(alias.status, NamingStatus.ALIAS) + self.assertEqual(alias.selected_name, "alpha-old") + + (root / "alpha-new").mkdir() + conflict = decide_naming(root, target) + self.assertEqual(conflict.status, NamingStatus.CONFLICT) + + target = RepositoryTarget( + "beta-new", + "admin/beta", + "beta-new", + "01_beta", + aliases=("beta-old",), + canonical_name="beta-canonical", + ) + (root / "beta-old").mkdir() + (root / "beta-canonical").mkdir() + conflict = decide_naming(root, target) + self.assertEqual(conflict.status, NamingStatus.CONFLICT) + self.assertIn("CONFLICT", "\n".join(",".join(row) for row in naming_rows((conflict,))).upper()) + + def test_reconciliation_blocks_when_two_alias_variants_exist(self) -> None: + root = make_tmp() + repo_a = make_repo(root, "alpha-old") + repo_b = make_repo(root, "alpha-canonical") + fake = FakeGit() + fake.set_repo(repo_a, remote="https://git.ami.app.br/admin/alpha.git") + fake.set_repo(repo_b, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget( + "alpha-new", + "admin/alpha", + "alpha-new", + "01_alpha", + aliases=("alpha-old",), + canonical_name="alpha-canonical", + requires_nominal_reconciliation=True, + ) + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + report = build_mesh_report(root, targets=(target,), environments=(env,), runner=fake) + plan = build_reconciliation_plan(report) + receipt = plan.receipts[0] + self.assertEqual(receipt.status, ReconciliationStatus.MANUAL_DECISION_REQUIRED) + self.assertEqual(receipt.naming_decisions[0].status, NamingStatus.CONFLICT) + self.assertTrue(any("conflito nominal" in operation.title.lower() for operation in receipt.operations)) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_repository_mesh_readiness.py b/tests/test_repository_mesh_readiness.py new file mode 100644 index 0000000..124b3ef --- /dev/null +++ b/tests/test_repository_mesh_readiness.py @@ -0,0 +1,84 @@ +from __future__ import annotations + +import unittest + +from mais_humana.repository_mesh import MeshEnvironment, MeshEnvironmentKind, RepositoryTarget, build_mesh_report +from mais_humana.repository_mesh_reconciliation import build_reconciliation_plan +from mais_humana.repository_mesh_runtime import acquire_lock, build_runtime_cycle, cron_scheduler_spec, release_lock, windows_scheduler_spec +from mais_humana.repository_mesh_semantic import write_repository_mesh_semantic_state +from mais_humana.repository_mesh_readiness import ( + MeshGateStatus, + build_mesh_readiness_report, + readiness_csv, + readiness_markdown, + readiness_pending_items, + write_readiness_artifacts, +) +from tests.helpers import make_tmp +from tests.test_repository_mesh import FakeGit, make_repo + + +class RepositoryMeshReadinessTests(unittest.TestCase): + def build_bundle(self, *, fetch: bool = False, dirty: bool = False): + tmp = make_tmp() + eco = tmp / "eco" + project = tmp / "project" + central = tmp / "central" + eco.mkdir() + project.mkdir() + central.mkdir() + repo = make_repo(eco, "alpha") + fake = FakeGit() + status = (" M README.md",) if dirty else () + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git", status=status) + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(eco), "test") + report = build_mesh_report(eco, targets=(target,), environments=(env,), runner=fake, fetch=fetch) + plan = build_reconciliation_plan(report) + lock = acquire_lock(project / "dados" / "lock.json", owner="readiness-test") + cycle = build_runtime_cycle(report, plan, lock=lock) + specs = ( + windows_scheduler_spec(python_exe="python.exe", project_root=project, ecosystem_root=eco, central_platform_folder=central), + cron_scheduler_spec(python_exe="python", project_root=project, ecosystem_root=eco, central_platform_folder=central), + ) + counts = write_repository_mesh_semantic_state(central / "controle-semantico.sqlite", report=report, plan=plan, cycle=cycle, schedulers=specs) + return tmp, project, central, report, plan, cycle, specs, counts, lock + + def test_readiness_report_warns_when_fetch_not_attempted(self) -> None: + tmp, project, central, report, plan, cycle, specs, counts, lock = self.build_bundle(fetch=False) + readiness = build_mesh_readiness_report(report, plan, cycle, specs, counts) + self.assertIn(readiness.status, {MeshGateStatus.WARN, MeshGateStatus.FAIL}) + self.assertTrue(any(gate.gate_id == "inventory.fetch-attempted" and gate.status == MeshGateStatus.WARN for gate in readiness.gates)) + release_lock(lock) + + def test_readiness_report_classifies_dirty_tree_as_blocked(self) -> None: + tmp, project, central, report, plan, cycle, specs, counts, lock = self.build_bundle(fetch=True, dirty=True) + readiness = build_mesh_readiness_report(report, plan, cycle, specs, counts) + self.assertEqual(readiness.status, MeshGateStatus.FAIL) + self.assertTrue(any(gate.gate_id == "safety.dirty-blocked" for gate in readiness.gates)) + self.assertTrue(readiness_pending_items(readiness)) + release_lock(lock) + + def test_readiness_csv_and_markdown_include_gate_details(self) -> None: + tmp, project, central, report, plan, cycle, specs, counts, lock = self.build_bundle(fetch=True) + readiness = build_mesh_readiness_report(report, plan, cycle, specs, counts) + self.assertIn("gate_id,status,severity", readiness_csv(readiness)) + md = readiness_markdown(readiness) + self.assertIn("Repository Mesh Readiness", md) + self.assertIn("inventory.targets-declared", md) + release_lock(lock) + + def test_write_readiness_artifacts_creates_project_and_central_records(self) -> None: + tmp, project, central, report, plan, cycle, specs, counts, lock = self.build_bundle(fetch=True) + readiness = build_mesh_readiness_report(report, plan, cycle, specs, counts) + records = write_readiness_artifacts(readiness, project, central_platform_folder=central) + self.assertTrue((project / "dados" / "repository-mesh-readiness.json").exists()) + self.assertTrue((project / "matrizes" / "repository-mesh-readiness.csv").exists()) + self.assertTrue((project / "ecossistema" / "REPOSITORY-MESH-READINESS.md").exists()) + self.assertTrue((central / "reports" / "EXECUTADO__repository-mesh-readiness.md").exists()) + self.assertGreaterEqual(len(records), 5) + release_lock(lock) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_repository_mesh_reconciliation.py b/tests/test_repository_mesh_reconciliation.py new file mode 100644 index 0000000..278199d --- /dev/null +++ b/tests/test_repository_mesh_reconciliation.py @@ -0,0 +1,205 @@ +from __future__ import annotations + +import unittest +from pathlib import Path + +from mais_humana.models import OrderType +from mais_humana.repository_mesh import MeshEnvironment, MeshEnvironmentKind, RepositoryTarget, build_mesh_report +from mais_humana.repository_mesh_reconciliation import ( + ReconciliationStatus, + StatePrecedence, + apply_reconciliation_to_report, + build_reconciliation_plan, + candidate_states, + operations_csv, + reconciliation_csv, + reconciliation_markdown, + receipt_to_service_order, + select_latest_state, + service_orders_from_plan, +) +from tests.helpers import make_tmp +from tests.test_repository_mesh import FakeGit, make_repo + + +def one_env(root: Path) -> MeshEnvironment: + return MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + + +def one_target(name: str = "alpha") -> RepositoryTarget: + return RepositoryTarget(name, f"admin/{name}", name, f"01_{name}") + + +class RepositoryMeshReconciliationTests(unittest.TestCase): + def test_single_hash_is_selected_as_latest_valid_state(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git", head="a" * 40) + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake) + latest = select_latest_state(report.summaries[0]) + self.assertEqual(latest.precedence, StatePrecedence.SINGLE_HASH) + self.assertEqual(latest.selected_head, "a" * 40) + self.assertFalse(latest.blockers) + + def test_dirty_tree_prevents_latest_state_selection(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git", status=(" M README.md",)) + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake) + latest = select_latest_state(report.summaries[0]) + self.assertEqual(latest.precedence, StatePrecedence.DIRTY_TREE) + self.assertIsNone(latest.selected_head) + self.assertTrue(latest.blockers) + + def test_divergent_ahead_behind_requires_manual_precedence(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git", ahead_behind="2 2") + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake) + latest = select_latest_state(report.summaries[0]) + self.assertEqual(latest.precedence, StatePrecedence.DIVERGENT) + self.assertIn("ahead=2 behind=2", " ".join(latest.blockers)) + + def test_local_ahead_is_candidate_but_still_needs_push_review(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git", ahead_behind="3 0") + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake) + latest = select_latest_state(report.summaries[0]) + self.assertEqual(latest.precedence, StatePrecedence.SINGLE_HASH) + plan = build_reconciliation_plan(report) + self.assertEqual(plan.receipts[0].status, ReconciliationStatus.ALIGNED) + + def test_missing_hash_creates_missing_materialization_receipt(self) -> None: + root = make_tmp() + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=FakeGit()) + plan = build_reconciliation_plan(report) + receipt = plan.receipts[0] + self.assertEqual(receipt.status, ReconciliationStatus.MISSING_MATERIALIZATION) + self.assertFalse(receipt.safe_to_auto_sync) + self.assertTrue(receipt.pending_items) + + def test_environment_blocked_receipt_has_blocker_operation(self) -> None: + root = make_tmp() + env = MeshEnvironment("server", MeshEnvironmentKind.CODEX_SERVER, str(root / "missing"), "remote", local=False) + report = build_mesh_report(root, targets=(one_target(),), environments=(env,), runner=FakeGit()) + plan = build_reconciliation_plan(report) + receipt = plan.receipts[0] + self.assertEqual(receipt.status, ReconciliationStatus.ENVIRONMENT_BLOCKED) + self.assertTrue(receipt.blockers) + self.assertIn("ambiente declarado", receipt.blockers[0]) + + def test_credential_blocked_receipt_has_credential_operation(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo( + repo, + remote="https://git.ami.app.br/admin/alpha.git", + fetch_error="fatal: SEC_E_NO_CREDENTIALS", + ) + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake, fetch=True) + plan = build_reconciliation_plan(report) + receipt = plan.receipts[0] + self.assertEqual(receipt.status, ReconciliationStatus.CREDENTIAL_BLOCKED) + self.assertTrue(any("credencial" in item.lower() for item in receipt.pending_items)) + + def test_nominal_rename_ready_receipt_is_created_for_clean_alias(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha-old") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget( + "alpha-new", + "admin/alpha", + "alpha-new", + "01_alpha", + aliases=("alpha-old",), + canonical_name="alpha-new", + requires_nominal_reconciliation=True, + ) + report = build_mesh_report(root, targets=(target,), environments=(one_env(root),), runner=fake) + plan = build_reconciliation_plan(report) + receipt = plan.receipts[0] + self.assertEqual(receipt.status, ReconciliationStatus.NOMINAL_RENAME_READY) + self.assertTrue(any("Rename-Item" in " ".join(operation.commands) for operation in receipt.operations)) + + def test_remote_mismatch_receipt_prioritizes_remote_operation(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/wrong.git") + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake) + plan = build_reconciliation_plan(report) + receipt = plan.receipts[0] + self.assertEqual(receipt.status, ReconciliationStatus.REMOTE_MISMATCH) + self.assertTrue(any("remote origin" in operation.title.lower() for operation in receipt.operations)) + + def test_candidate_states_extract_clean_commit_details(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git", head="b" * 40, ahead_behind="1 0") + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake) + candidates = candidate_states(report.summaries[0]) + self.assertEqual(len(candidates), 1) + self.assertEqual(candidates[0].short_head, "b" * 12) + self.assertTrue(candidates[0].has_local_only_commits) + + def test_reconciliation_markdown_and_csv_are_rendered(self) -> None: + root = make_tmp() + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=fake) + plan = build_reconciliation_plan(report) + md = reconciliation_markdown(plan) + receipts_csv = reconciliation_csv(plan) + ops_csv = operations_csv(plan) + self.assertIn("Repository Mesh Reconciliation Plan", md) + self.assertIn("receipt_id,target_name", receipts_csv) + self.assertIn("operation_id,target_name", ops_csv) + + def test_service_orders_from_plan_builds_executive_and_managerial_orders(self) -> None: + root = make_tmp() + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=FakeGit()) + plan = build_reconciliation_plan(report) + orders = service_orders_from_plan(plan, start_executive=200, start_managerial=300) + self.assertEqual(len(orders), 2) + self.assertEqual(orders[0].order_type, OrderType.EXECUTIVE) + self.assertEqual(orders[1].order_type, OrderType.MANAGERIAL) + self.assertIn("repo-mesh", " ".join(orders[0].validations)) + + def test_receipt_to_service_order_preserves_paths_and_ready_criteria(self) -> None: + root = make_tmp() + report = build_mesh_report(root, targets=(one_target(),), environments=(one_env(root),), runner=FakeGit()) + plan = build_reconciliation_plan(report) + order = receipt_to_service_order(plan.receipts[0], 222, OrderType.EXECUTIVE) + self.assertIn("G:/_codex-git/alpha", order.affected_paths) + self.assertTrue(order.ready_criteria) + self.assertEqual(order.status.value, "planejada") + + def test_apply_reconciliation_writes_project_and_central_artifacts(self) -> None: + tmp = make_tmp() + ecosystem = tmp / "eco" + project = tmp / "human" + central = tmp / "central" / "projects" / "15_repo_tudo-para-ia-mais-humana" + ecosystem.mkdir() + project.mkdir() + central.mkdir(parents=True) + report = build_mesh_report(ecosystem, targets=(one_target(),), environments=(one_env(ecosystem),), runner=FakeGit()) + plan, records = apply_reconciliation_to_report(report, project, central_platform_folder=central) + self.assertTrue((project / "dados" / "repository-mesh-reconciliation.json").exists()) + self.assertTrue((project / "matrizes" / "repository-mesh-operations.csv").exists()) + self.assertTrue((project / "ecossistema" / "REPOSITORY-MESH-RECONCILIATION.md").exists()) + self.assertTrue((central / "reports" / "EXECUTADO__repository-mesh-reconciliation.md").exists()) + self.assertGreaterEqual(len(records), 7) + self.assertEqual(plan.report_id, report.report_id) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_repository_mesh_runtime.py b/tests/test_repository_mesh_runtime.py new file mode 100644 index 0000000..6d30cee --- /dev/null +++ b/tests/test_repository_mesh_runtime.py @@ -0,0 +1,162 @@ +from __future__ import annotations + +import json +import os +import unittest +from datetime import datetime, timezone +from pathlib import Path + +from mais_humana.repository_mesh import MeshEnvironment, MeshEnvironmentKind, RepositoryTarget, build_mesh_report +from mais_humana.repository_mesh_reconciliation import build_reconciliation_plan +from mais_humana.repository_mesh_runtime import ( + RuntimeCommandStatus, + RuntimeLockStatus, + acquire_lock, + build_runtime_cycle, + commands_from_report_and_plan, + cron_scheduler_spec, + lock_is_stale, + release_lock, + runtime_csv, + runtime_jsonl, + runtime_markdown, + scheduler_markdown, + scheduler_payload, + windows_scheduler_spec, + write_runtime_artifacts, +) +from tests.helpers import make_tmp +from tests.test_repository_mesh import FakeGit, make_repo + + +def target() -> RepositoryTarget: + return RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + + +def env(root: Path) -> MeshEnvironment: + return MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(root), "test") + + +def clean_report(root: Path): + repo = make_repo(root, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + return build_mesh_report(root, targets=(target(),), environments=(env(root),), runner=fake) + + +class RepositoryMeshRuntimeTests(unittest.TestCase): + def test_lock_acquire_busy_release_cycle(self) -> None: + tmp = make_tmp() + lock_path = tmp / "mesh.lock.json" + first = acquire_lock(lock_path, owner="one", expires_after_seconds=600) + self.assertEqual(first.status, RuntimeLockStatus.ACQUIRED) + second = acquire_lock(lock_path, owner="two", expires_after_seconds=600) + self.assertEqual(second.status, RuntimeLockStatus.BUSY) + released = release_lock(first) + self.assertEqual(released.status, RuntimeLockStatus.RELEASED) + third = acquire_lock(lock_path, owner="three", expires_after_seconds=600) + self.assertEqual(third.status, RuntimeLockStatus.ACQUIRED) + release_lock(third) + + def test_lock_stale_detection_accepts_malformed_payload_as_recoverable(self) -> None: + self.assertTrue(lock_is_stale({"createdAt": "bad", "expiresAfterSeconds": 600})) + self.assertTrue(lock_is_stale({"createdAt": "2026-01-01T00:00:00+00:00", "expiresAfterSeconds": 0})) + self.assertTrue( + lock_is_stale( + { + "createdAt": datetime.now(timezone.utc).isoformat(), + "expiresAfterSeconds": 600, + "pid": 99999999 if os.name == "nt" else 999999, + } + ) + ) + + def test_commands_from_clean_report_allow_only_safe_fetch_like_commands(self) -> None: + tmp = make_tmp() + report = clean_report(tmp) + plan = build_reconciliation_plan(report) + commands = commands_from_report_and_plan(report, plan) + self.assertTrue(commands) + self.assertTrue(any(command.status == RuntimeCommandStatus.ALLOWED for command in commands)) + self.assertFalse(any("reset" in command.command for command in commands)) + + def test_dirty_report_blocks_runtime_commands(self) -> None: + tmp = make_tmp() + repo = make_repo(tmp, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git", status=(" M README.md",)) + report = build_mesh_report(tmp, targets=(target(),), environments=(env(tmp),), runner=fake) + plan = build_reconciliation_plan(report) + commands = commands_from_report_and_plan(report, plan) + self.assertTrue(any(command.status == RuntimeCommandStatus.BLOCKED for command in commands)) + self.assertTrue(any("destrutivo" in " ".join(command.blocked_reasons) or "manual" in " ".join(command.blocked_reasons) for command in commands)) + + def test_runtime_cycle_blocks_everything_when_lock_not_acquired(self) -> None: + tmp = make_tmp() + report = clean_report(tmp) + plan = build_reconciliation_plan(report) + first = acquire_lock(tmp / "lock.json", owner="one") + busy = acquire_lock(tmp / "lock.json", owner="two") + cycle = build_runtime_cycle(report, plan, lock=busy) + self.assertEqual(cycle.lock.status, RuntimeLockStatus.BUSY) + self.assertTrue(all(result.status == RuntimeCommandStatus.BLOCKED for result in cycle.results)) + release_lock(first) + + def test_runtime_outputs_csv_jsonl_and_markdown(self) -> None: + tmp = make_tmp() + report = clean_report(tmp) + plan = build_reconciliation_plan(report) + lock = acquire_lock(tmp / "lock.json", owner="one") + cycle = build_runtime_cycle(report, plan, lock=lock) + self.assertIn("command_id,target_name,status", runtime_csv(cycle)) + self.assertIn("Repository Mesh Runtime Cycle", runtime_markdown(cycle)) + first_line = runtime_jsonl(cycle).splitlines()[0] + self.assertIn("command", json.loads(first_line)) + release_lock(lock) + + def test_scheduler_specs_include_five_minute_commands(self) -> None: + tmp = make_tmp() + win = windows_scheduler_spec( + python_exe="python.exe", + project_root=tmp, + ecosystem_root=tmp / "eco", + central_platform_folder=tmp / "central", + ) + cron = cron_scheduler_spec( + python_exe="python", + project_root=tmp, + ecosystem_root=tmp / "eco", + central_platform_folder=tmp / "central", + ) + payload = scheduler_payload((win, cron)) + md = scheduler_markdown((win, cron)) + self.assertIn("windows_task", payload["kinds"]) + self.assertIn("cron", payload["kinds"]) + self.assertIn("New-ScheduledTaskAction", md) + self.assertIn("crontab", md) + + def test_write_runtime_artifacts_records_project_and_central_files(self) -> None: + tmp = make_tmp() + project = tmp / "project" + central = tmp / "central" + project.mkdir() + central.mkdir() + report = clean_report(tmp / "eco") + plan = build_reconciliation_plan(report) + lock = acquire_lock(project / "dados" / "lock.json", owner="one") + cycle = build_runtime_cycle(report, plan, lock=lock) + specs = ( + windows_scheduler_spec(python_exe="python.exe", project_root=project, ecosystem_root=tmp / "eco", central_platform_folder=central), + cron_scheduler_spec(python_exe="python", project_root=project, ecosystem_root=tmp / "eco", central_platform_folder=central), + ) + records = write_runtime_artifacts(cycle, specs, project, central_platform_folder=central) + self.assertTrue((project / "dados" / "repository-mesh-runtime-cycle.json").exists()) + self.assertTrue((project / "dados" / "repository-mesh-runtime.jsonl").exists()) + self.assertTrue((project / "ecossistema" / "REPOSITORY-MESH-SCHEDULERS.md").exists()) + self.assertTrue((central / "reports" / "EXECUTADO__repository-mesh-runtime.md").exists()) + self.assertGreaterEqual(len(records), 6) + release_lock(lock) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_repository_mesh_semantic.py b/tests/test_repository_mesh_semantic.py new file mode 100644 index 0000000..3d4c99d --- /dev/null +++ b/tests/test_repository_mesh_semantic.py @@ -0,0 +1,78 @@ +from __future__ import annotations + +import sqlite3 +import unittest + +from mais_humana.repository_mesh import MeshEnvironment, MeshEnvironmentKind, RepositoryTarget, build_mesh_report +from mais_humana.repository_mesh_reconciliation import build_reconciliation_plan +from mais_humana.repository_mesh_runtime import acquire_lock, build_runtime_cycle, cron_scheduler_spec, release_lock, windows_scheduler_spec +from mais_humana.repository_mesh_semantic import counts_markdown, semantic_generated_records, table_counts, write_repository_mesh_semantic_state +from tests.helpers import make_tmp +from tests.test_repository_mesh import FakeGit, make_repo + + +class RepositoryMeshSemanticTests(unittest.TestCase): + def build_objects(self): + tmp = make_tmp() + eco = tmp / "eco" + project = tmp / "project" + eco.mkdir() + project.mkdir() + repo = make_repo(eco, "alpha") + fake = FakeGit() + fake.set_repo(repo, remote="https://git.ami.app.br/admin/alpha.git") + target = RepositoryTarget("alpha", "admin/alpha", "alpha", "01_alpha") + env = MeshEnvironment("primary", MeshEnvironmentKind.WINDOWS_PRIMARY, str(eco), "test") + report = build_mesh_report(eco, targets=(target,), environments=(env,), runner=fake) + plan = build_reconciliation_plan(report) + lock = acquire_lock(project / "dados" / "lock.json", owner="semantic-test") + cycle = build_runtime_cycle(report, plan, lock=lock) + specs = ( + windows_scheduler_spec(python_exe="python.exe", project_root=project, ecosystem_root=eco, central_platform_folder=None), + cron_scheduler_spec(python_exe="python", project_root=project, ecosystem_root=eco, central_platform_folder=None), + ) + return tmp, report, plan, cycle, specs, lock + + def test_write_repository_mesh_semantic_state_populates_tables(self) -> None: + tmp, report, plan, cycle, specs, lock = self.build_objects() + sqlite_path = tmp / "central" / "controle-semantico.sqlite" + counts = write_repository_mesh_semantic_state(sqlite_path, report=report, plan=plan, cycle=cycle, schedulers=specs) + self.assertEqual(counts.reports, 1) + self.assertEqual(counts.targets, 1) + self.assertEqual(counts.observations, 1) + self.assertGreaterEqual(counts.actions, 1) + self.assertEqual(counts.plans, 1) + self.assertEqual(counts.receipts, 1) + self.assertEqual(counts.cycles, 1) + self.assertEqual(counts.schedulers, 2) + release_lock(lock) + + def test_semantic_state_is_idempotent_for_same_report_and_plan(self) -> None: + tmp, report, plan, cycle, specs, lock = self.build_objects() + sqlite_path = tmp / "central" / "controle-semantico.sqlite" + first = write_repository_mesh_semantic_state(sqlite_path, report=report, plan=plan, cycle=cycle, schedulers=specs) + second = write_repository_mesh_semantic_state(sqlite_path, report=report, plan=plan, cycle=cycle, schedulers=specs) + self.assertEqual(first.to_dict(), second.to_dict()) + with sqlite3.connect(sqlite_path) as conn: + rows = conn.execute("SELECT report_id, blocked_count FROM repository_mesh_reports").fetchall() + self.assertEqual(len(rows), 1) + self.assertEqual(rows[0][0], report.report_id) + release_lock(lock) + + def test_table_counts_for_missing_database_returns_zeroes(self) -> None: + counts = table_counts(make_tmp() / "missing.sqlite") + self.assertEqual(counts.reports, 0) + self.assertEqual(counts.schedulers, 0) + + def test_semantic_generated_records_and_markdown_are_human_readable(self) -> None: + sqlite_path = make_tmp() / "central" / "controle-semantico.sqlite" + records = semantic_generated_records(sqlite_path) + self.assertEqual(len(records), 1) + self.assertIn("repository mesh semantic", records[0].function) + text = counts_markdown(table_counts(sqlite_path), sqlite_path) + self.assertIn("Repository Mesh Semantic Counts", text) + self.assertIn("reports", text) + + +if __name__ == "__main__": + unittest.main() diff --git a/tools/generate_mcp_control_contracts.py b/tools/generate_mcp_control_contracts.py new file mode 100644 index 0000000..9cbaf1c --- /dev/null +++ b/tools/generate_mcp_control_contracts.py @@ -0,0 +1,531 @@ +"""Generate the MCP control contract registry for Mais Humana. + +The generated module is source code on purpose. It is the compact, +importable registry that proves which platform/profile/surface/report contracts +Mais Humana can expose through the MCP control plane without reading Markdown +at runtime. +""" + +from __future__ import annotations + +from pathlib import Path +from typing import Iterable + + +ROOT = Path(__file__).resolve().parents[1] +SRC = ROOT / "src" +OUTPUT = SRC / "mais_humana" / "generated_mcp_control_contracts.py" + + +def ensure_import_path() -> None: + import sys + + src = str(SRC) + if src not in sys.path: + sys.path.insert(0, src) + + +def q(value: object) -> str: + return repr(str(value)) + + +def tuple_literal(values: Iterable[object], *, indent: int = 8) -> str: + cleaned = [str(value) for value in values if str(value).strip()] + if not cleaned: + return "()" + if len(cleaned) <= 30: + return "(" + ", ".join(q(value) for value in cleaned) + ("," if len(cleaned) == 1 else "") + ")" + pad = " " * indent + lines = ["("] + for value in cleaned: + lines.append(f"{pad}{q(value)},") + lines.append(" " * (indent - 4) + ")") + return "\n".join(lines) + + +def normalize(value: str) -> str: + return value.replace("_", "-").replace(" ", "-").replace("/", "-").lower() + + +def category_values(categories: Iterable[object]) -> tuple[str, ...]: + return tuple(getattr(category, "value", str(category)) for category in categories) + + +def audience_for_profile(profile_id: str, categories: tuple[str, ...]) -> str: + if profile_id in {"administrador_empresa"}: + return "ADMINISTRATOR" + if profile_id in {"ceo", "gestor_comercial"}: + return "EXECUTIVE" + if profile_id in {"gestor_operacional", "secretaria"}: + return "OPERATOR" + if profile_id in {"suporte", "atendimento_cliente"}: + return "SUPPORT" + if profile_id in {"cliente_externo"}: + return "CUSTOMER" + if profile_id in {"tecnico"}: + return "TECHNICAL" + if profile_id in {"juridico"} or "legal" in categories: + return "LEGAL" + if profile_id in {"financeiro", "contador"} or "finance" in categories: + return "FINANCE" + return "USER" + + +def truth_for_platform(platform_id: str) -> str: + if platform_id == "docs": + return "FORMAL_EXCEPTION" + if platform_id == "intelligence": + return "BLOCKED" + if platform_id in {"integracoes", "mcps", "identity", "business", "ui"}: + return "SAME_SOURCE_READY" + if platform_id in {"finance", "compliance", "public", "gettys", "customer_ops", "stj"}: + return "RESPONSE_READY" + return "DERIVED" + + +def panel_ready_for_platform(platform_id: str) -> bool: + return platform_id not in {"intelligence"} + + +def maturity_for_platform(platform_id: str) -> int: + if platform_id in {"mcps", "business", "identity", "ui"}: + return 9 + if platform_id == "docs": + return 7 + if platform_id == "intelligence": + return 3 + if platform_id in {"integracoes", "finance", "compliance", "public"}: + return 8 + return 6 + + +def payload_fields(platform_id: str, profile_id: str, surface: str, category: str) -> tuple[str, ...]: + return ( + "origin", + "destination", + "tool", + "payload", + "actor", + "permission", + "result", + "traceId", + "auditId", + "timestamp", + "projectId", + "platformId", + "profileId", + "surfaceId", + "category", + "sourceEndpoint", + "sourceToolId", + "sourcePayloadHash", + "sourceRecordsHash", + "truthState", + "panelReady", + "gptExplainable", + "humanNextAction", + f"{platform_id}Status", + f"{profile_id}Need", + f"{normalize(surface)}State", + f"{category}Gate", + ) + + +def redaction_requirements(platform_id: str) -> tuple[str, ...]: + return ( + "bloquear valores cfat_ brutos em qualquer artefato humano", + "permitir apenas credentialRef, tokenRef ou secretRef opacos", + "mascarar Authorization Bearer antes de persistir evidencia", + "registrar sourcePayloadHash e sourceRecordsHash sem payload sensivel bruto", + f"vincular redaction ao provider {platform_id} via MCP", + ) + + +def validation_steps(platform_id: str, profile_id: str, surface: str, kind: str) -> tuple[str, ...]: + return ( + f"chamar {platform_id} somente via tudo-para-ia-mcps-internos-plataform", + f"validar envelope MCP completo para {profile_id}", + f"comparar payload GPT e UI para {normalize(surface)}", + "confirmar sourcePayloadHash e sourceRecordsHash", + "confirmar que o resultado nao contem segredo bruto", + f"registrar evidencia do contrato {kind}", + ) + + +def contract_block( + name: str, + *, + contract_id: str, + kind: str, + platform_id: str, + profile_id: str, + tool_id: str, + title: str, + purpose: str, + source_tool_id: str, + payload: tuple[str, ...], + truth: str, + panel_ready: bool, + gpt_explainable: bool, + report_model_id: str, + audience: str, + redaction: tuple[str, ...], + validations: tuple[str, ...], + pending: str, + order_ids: tuple[str, ...], + policy_tags: tuple[str, ...], + maturity: int, + generated_from: str, +) -> str: + return "\n".join( + [ + f"{name} = McpControlContract(", + f" contract_id={q(contract_id)},", + f" kind=McpContractKind.{kind},", + f" platform_id={q(platform_id)},", + f" profile_id={q(profile_id)},", + f" tool_id={q(tool_id)},", + f" title={q(title)},", + f" purpose={q(purpose)},", + " source_endpoint=MCP_EXECUTE_ENDPOINT,", + f" source_tool_id={q(source_tool_id)},", + " required_transit_fields=MCP_TRANSIT_FIELDS,", + f" required_payload_fields={tuple_literal(payload)},", + f" truth_state=TruthState.{truth},", + f" panel_ready={panel_ready},", + f" gpt_explainable={gpt_explainable},", + f" report_model_id={q(report_model_id)},", + f" audience=AudienceClass.{audience},", + f" redaction_requirements={tuple_literal(redaction)},", + f" validation_steps={tuple_literal(validations)},", + f" pending_if_missing={q(pending)},", + f" order_ids={tuple_literal(order_ids)},", + f" policy_tags={tuple_literal(policy_tags)},", + f" maturity_level={int(maturity)},", + f" generated_from={q(generated_from)},", + ")", + ] + ) + + +def build_contracts() -> tuple[list[str], list[str]]: + ensure_import_path() + from mais_humana.catalog import HUMAN_PROFILES, PLATFORMS + + blocks: list[str] = [] + names: list[str] = [] + index = 1 + + for platform in PLATFORMS: + platform_categories = category_values(platform.primary_categories) + surfaces = tuple(platform.expected_surfaces or ("readiness", "evidence", "admin_ui")) + first_surface = surfaces[0] + first_category = platform_categories[0] if platform_categories else "governance" + truth = truth_for_platform(platform.platform_id) + panel_ready = panel_ready_for_platform(platform.platform_id) + maturity = maturity_for_platform(platform.platform_id) + for profile in HUMAN_PROFILES: + profile_categories = category_values(profile.priority_needs) + common = tuple(value for value in platform_categories if value in profile_categories) + category = common[0] if common else first_category + audience = audience_for_profile(profile.profile_id, profile_categories) + name = f"CONTRACT_{index:04d}" + names.append(name) + blocks.append( + contract_block( + name, + contract_id=f"{platform.platform_id}.{profile.profile_id}.provider-tool", + kind="PROVIDER_TOOL", + platform_id=platform.platform_id, + profile_id=profile.profile_id, + tool_id=f"mais_humana.{platform.platform_id}.{profile.profile_id}.explain", + title=f"{platform.title} explicado para {profile.name}", + purpose=( + f"Permitir que {profile.name} receba leitura humana de {platform.title} " + "por provider MCP minimo da Mais Humana." + ), + source_tool_id="mais_humana.rulebook.compact", + payload=payload_fields(platform.platform_id, profile.profile_id, first_surface, category), + truth=truth, + panel_ready=panel_ready, + gpt_explainable=True, + report_model_id=f"report.{platform.platform_id}.{profile.profile_id}.operacional", + audience=audience, + redaction=redaction_requirements(platform.platform_id), + validations=validation_steps(platform.platform_id, profile.profile_id, first_surface, "provider_tool"), + pending=f"publicar e validar tool MCP para {platform.platform_id}/{profile.profile_id}", + order_ids=("0016_EXECUTIVA__publicar-rulebook-mcp-provider-mais-humana", "0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo"), + policy_tags=("mcp_provider", "same_source", "human_explanation", category), + maturity=maturity, + generated_from="platform_profile_provider_contract", + ) + ) + index += 1 + + for profile in HUMAN_PROFILES: + profile_categories = category_values(profile.priority_needs) + category = platform_categories[0] if platform_categories else "governance" + audience = audience_for_profile(profile.profile_id, profile_categories) + name = f"CONTRACT_{index:04d}" + names.append(name) + blocks.append( + contract_block( + name, + contract_id=f"{platform.platform_id}.{profile.profile_id}.report-model", + kind="REPORT_MODEL", + platform_id=platform.platform_id, + profile_id=profile.profile_id, + tool_id="mais_humana.relatorios.modelos_oficiais", + title=f"Modelo oficial de relatorio {platform.title} para {profile.name}", + purpose=( + f"Definir modelo oficial que separa artefato de apoio de relatorio oficial para {profile.name}." + ), + source_tool_id="mais_humana.relatorios.modelos_oficiais", + payload=payload_fields(platform.platform_id, profile.profile_id, "relatorio-oficial", category), + truth=truth, + panel_ready=panel_ready, + gpt_explainable=True, + report_model_id=f"report.{platform.platform_id}.{profile.profile_id}.oficial", + audience=audience, + redaction=redaction_requirements(platform.platform_id), + validations=validation_steps(platform.platform_id, profile.profile_id, "relatorio-oficial", "report_model"), + pending=f"homologar modelo oficial de relatorio para {platform.platform_id}/{profile.profile_id}", + order_ids=("0030_GERENCIAL__definir-modelo-oficial-de-relatorio-humano",), + policy_tags=("report_model", "official_report", "audience", audience.lower()), + maturity=maturity, + generated_from="platform_profile_report_model_contract", + ) + ) + index += 1 + + for surface in surfaces: + surface_id = normalize(surface) + name = f"CONTRACT_{index:04d}" + names.append(name) + blocks.append( + contract_block( + name, + contract_id=f"{platform.platform_id}.{surface_id}.ui-screen", + kind="UI_SCREEN", + platform_id=platform.platform_id, + profile_id="todos", + tool_id="mais_humana.admin_ui.same_source", + title=f"Tela {surface} de {platform.title} renderizada pela UI", + purpose=( + f"Impedir fonte paralela na tela {surface}; GPT e painel devem usar o mesmo contrato MCP." + ), + source_tool_id="mais_humana.admin_ui.same_source", + payload=payload_fields(platform.platform_id, "todos", surface, first_category), + truth=truth, + panel_ready=panel_ready, + gpt_explainable=True, + report_model_id=f"screen.{platform.platform_id}.{surface_id}.same-source", + audience="ADMINISTRATOR", + redaction=redaction_requirements(platform.platform_id), + validations=validation_steps(platform.platform_id, "todos", surface, "ui_screen"), + pending=f"validar same-source da tela {surface} em {platform.platform_id}", + order_ids=("0020_EXECUTIVA__validar-mcp-admin-ui-same-source-rulebook", "0031_GERENCIAL__governar-ui-como-renderizador-sem-fonte-paralela"), + policy_tags=("ui_renderer", "screen", "same_source", surface_id), + maturity=maturity, + generated_from="platform_surface_ui_contract", + ) + ) + index += 1 + + for operation in ("consulta", "diagnostico", "acao", "auditoria", "explicacao"): + name = f"CONTRACT_{index:04d}" + names.append(name) + blocks.append( + contract_block( + name, + contract_id=f"{platform.platform_id}.{operation}.transit-policy", + kind="TRANSIT_POLICY", + platform_id=platform.platform_id, + profile_id="todos", + tool_id=f"mais_humana.transito.{operation}", + title=f"Politica de transito {operation} para {platform.title}", + purpose=( + f"Garantir que {operation} de {platform.title} registre origem, destino, tool, ator, permissao, resultado, trace, audit e timestamp." + ), + source_tool_id=f"mais_humana.transito.{operation}", + payload=payload_fields(platform.platform_id, "todos", operation, first_category), + truth=truth, + panel_ready=panel_ready, + gpt_explainable=True, + report_model_id=f"policy.{platform.platform_id}.{operation}.mcp-transit", + audience="ADMINISTRATOR", + redaction=redaction_requirements(platform.platform_id), + validations=validation_steps(platform.platform_id, "todos", operation, "transit_policy"), + pending=f"validar politica MCP de {operation} para {platform.platform_id}", + order_ids=("0029_GERENCIAL__pactuar-mcp-como-caminho-unico-administrativo",), + policy_tags=("mcp_transit", operation, "audit", "trace"), + maturity=maturity, + generated_from="platform_transit_policy_contract", + ) + ) + index += 1 + + for ref_kind in ("credentialRef", "tokenRef", "secretRef", "cfat"): + name = f"CONTRACT_{index:04d}" + names.append(name) + blocks.append( + contract_block( + name, + contract_id=f"{platform.platform_id}.{normalize(ref_kind)}.redaction-policy", + kind="REDACTION_POLICY", + platform_id=platform.platform_id, + profile_id="todos", + tool_id="mais_humana.redaction.guard", + title=f"Redaction {ref_kind} para {platform.title}", + purpose=( + f"Provar que artefatos humanos de {platform.title} nao propagam valor sensivel bruto de {ref_kind}." + ), + source_tool_id="mais_humana.redaction.guard", + payload=payload_fields(platform.platform_id, "todos", ref_kind, "security"), + truth=truth, + panel_ready=True, + gpt_explainable=True, + report_model_id=f"redaction.{platform.platform_id}.{normalize(ref_kind)}", + audience="TECHNICAL", + redaction=redaction_requirements(platform.platform_id) + (f"validar {ref_kind} como referencia opaca",), + validations=validation_steps(platform.platform_id, "todos", ref_kind, "redaction_policy"), + pending=f"executar varredura redaction para {platform.platform_id}/{ref_kind}", + order_ids=("0019_EXECUTIVA__blindar-redaction-credentialref-e-cfat-em-artefatos",), + policy_tags=("redaction", "secret_policy", normalize(ref_kind)), + maturity=max(6, maturity), + generated_from="platform_redaction_policy_contract", + ) + ) + index += 1 + + special_contracts = [ + ( + "docs.formal-exception.docs-catalogonly", + "DOCS_EXCEPTION", + "docs", + "todos", + "mais_humana.docs.formal_exception", + "Excecao formal Docs catalogOnly", + "Formalizar que Docs pode permanecer catalogOnly quando a decisao institucional assim declarar.", + "mais_humana.docs.formal_exception", + "docs-catalogonly", + "documentation", + "FORMAL_EXCEPTION", + True, + True, + "policy.docs.catalogonly.formal-exception", + "LEGAL", + ("0017_EXECUTIVA__resolver-docs-catalogonly-com-response-ready-minimo",), + ("docs_exception", "catalogonly", "governance"), + 7, + ), + ( + "mais-humana.canonical-rename.plataform", + "CANONICAL_RENAME", + "mais_humana", + "todos", + "mais_humana.canonical.rename", + "Renome canonico para tudo-para-ia-mais-humana-plataform", + "Registrar o plano de renome sem executar migracao local/remota sem autorizacao institucional.", + "mais_humana.canonical.rename", + "canonical-rename", + "governance", + "DOCUMENTED", + True, + True, + "policy.mais_humana.rename.plataform", + "ADMINISTRATOR", + ("0027_GERENCIAL__nome-canonico-mcps-conect", "0028_GERENCIAL__autorizar-renome-canonico-mais-humana-plataform"), + ("canonical_identity", "rename", "external_decision"), + 6, + ), + ] + for special in special_contracts: + ( + contract_id, + kind, + platform_id, + profile_id, + tool_id, + title, + purpose, + source_tool_id, + surface, + category, + truth, + panel_ready, + gpt_explainable, + report_model_id, + audience, + order_ids, + tags, + maturity, + ) = special + name = f"CONTRACT_{index:04d}" + names.append(name) + blocks.append( + contract_block( + name, + contract_id=contract_id, + kind=kind, + platform_id=platform_id, + profile_id=profile_id, + tool_id=tool_id, + title=title, + purpose=purpose, + source_tool_id=source_tool_id, + payload=payload_fields(platform_id, profile_id, surface, category), + truth=truth, + panel_ready=panel_ready, + gpt_explainable=gpt_explainable, + report_model_id=report_model_id, + audience=audience, + redaction=redaction_requirements(platform_id), + validations=validation_steps(platform_id, profile_id, surface, kind.lower()), + pending=f"registrar decisao institucional para {contract_id}", + order_ids=order_ids, + policy_tags=tags, + maturity=maturity, + generated_from="special_governance_contract", + ) + ) + index += 1 + + return blocks, names + + +def render_module(blocks: list[str], names: list[str]) -> str: + header = '''"""Generated MCP control contracts for Mais Humana. + +Do not edit this file by hand. Regenerate it with: + + python tools/generate_mcp_control_contracts.py + +The contracts are Python source so they can be imported, tested, packaged, +hashed, and exposed as a provider payload without parsing external YAML. +""" + +from __future__ import annotations + +from .human_rulebook import MCP_TRANSIT_FIELDS, TruthState +from .mcp_contract import AudienceClass, MCP_EXECUTE_ENDPOINT, McpContractKind, McpControlContract + +''' + assignments = "\n\n".join(blocks) + contract_lines = ["CONTRACTS = ("] + for name in names: + contract_lines.append(f" {name},") + contract_lines.append(")") + all_lines = ["__all__ = [", " 'CONTRACTS',", "]"] + return header + assignments + "\n\n" + "\n".join(contract_lines) + "\n\n" + "\n".join(all_lines) + "\n" + + +def main() -> int: + blocks, names = build_contracts() + OUTPUT.write_text(render_module(blocks, names), encoding="utf-8") + print(f"generated {len(names)} MCP contracts at {OUTPUT}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main())