auto-sync: tudo-para-ia-mais-humana 2026-05-04 14:18:39

This commit is contained in:
2026-05-04 14:18:39 -03:00
parent 0aa19f2340
commit d2bfd1f3f9
3 changed files with 18 additions and 6 deletions

View File

@@ -124091,8 +124091,8 @@ CONTRACT_2015 = McpControlContract(
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.',
title='Excecao transitoria Docs catalogOnly',
purpose='Garantir que surface Docs sem responseReady vire pendencia rastreavel; catalogOnly e apenas excecao transitoria com prazo, owner, evidencia MCP e plano de promocao operacional.',
source_endpoint=MCP_EXECUTE_ENDPOINT,
source_tool_id='mais_humana.docs.formal_exception',
required_transit_fields=MCP_TRANSIT_FIELDS,

View File

@@ -73,6 +73,15 @@ class McpProviderContractTests(unittest.TestCase):
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_docs_catalogonly_exception_is_transitional_not_permanent_policy(self) -> None:
contract = next(item for item in iter_contracts() if item.contract_id == "docs.formal-exception.docs-catalogonly")
self.assertIn("excecao transitoria", contract.purpose)
self.assertIn("responseReady", contract.purpose)
self.assertIn("evidencia MCP", contract.purpose)
self.assertNotIn("pode permanecer catalogOnly", contract.purpose)
self.assertNotIn("decisao institucional assim declarar", contract.purpose)
def test_contract_report_exports_provider_envelope(self) -> None:
report = self.make_report(make_tmp())
envelope = mcp_provider_payload(report, limit=5)

View File

@@ -73,7 +73,7 @@ def audience_for_profile(profile_id: str, categories: tuple[str, ...]) -> str:
def truth_for_platform(platform_id: str) -> str:
if platform_id == "docs":
return "FORMAL_EXCEPTION"
return "RESPONSE_READY"
if platform_id == "intelligence":
return "BLOCKED"
if platform_id in {"integracoes", "mcps", "identity", "business", "ui"}:
@@ -91,7 +91,7 @@ def maturity_for_platform(platform_id: str) -> int:
if platform_id in {"mcps", "business", "identity", "ui"}:
return 9
if platform_id == "docs":
return 7
return 8
if platform_id == "intelligence":
return 3
if platform_id in {"integracoes", "finance", "compliance", "public"}:
@@ -615,8 +615,11 @@ def build_contracts() -> tuple[list[str], list[str]]:
"docs",
"todos",
"mais_humana.docs.formal_exception",
"Excecao formal Docs catalogOnly",
"Formalizar que Docs pode permanecer catalogOnly quando a decisao institucional assim declarar.",
"Excecao transitoria Docs catalogOnly",
(
"Garantir que surface Docs sem responseReady vire pendencia rastreavel; catalogOnly e apenas "
"excecao transitoria com prazo, owner, evidencia MCP e plano de promocao operacional."
),
"mais_humana.docs.formal_exception",
"docs-catalogonly",
"documentation",