auto-sync: tudo-para-ia-mais-humana 2026-05-02 04:14:46

This commit is contained in:
2026-05-02 04:14:46 -03:00
parent 71c6db6e54
commit a9d9b363d0
6 changed files with 234 additions and 59 deletions

View File

@@ -8,6 +8,7 @@ from mais_humana.cli import main
from mais_humana.mcp_publication_gate import (
DEFAULT_GATEWAY_TOOLS,
GateStatus,
LiveToolProbe,
ProbeStatus,
build_alias_policy,
build_not_run_probe,
@@ -37,7 +38,7 @@ class McpPublicationGateTests(unittest.TestCase):
'const PLATFORM_IDS = { maisHumana: "tudo-para-ia-mais-humana-platform" };',
"const MAIS_HUMANA_PROVIDER_ID = \"mais_humana\";",
"async function executeMaisHumanaGatewayTool() { return true; }",
"const ids = ['mais_humana.rulebook.compact', 'mais_humana.admin_ui.same_source', 'mais_humana.mcp_transit.ledger'];",
"const ids = ['mais_humana.rulebook.compact', 'mais_humana.admin_ui.same_source', 'mais_humana.mcp_transit.ledger', 'mais_humana.admin_routes.acceptance'];",
]
),
encoding="utf-8",
@@ -46,7 +47,7 @@ class McpPublicationGateTests(unittest.TestCase):
"\n".join(
[
"const MAIS_HUMANA_CATALOG = { providerId: 'mais_humana' };",
"export const tools = ['mais_humana.rulebook.compact', 'mais_humana.admin_ui.same_source', 'mais_humana.mcp_transit.ledger'];",
"export const tools = ['mais_humana.rulebook.compact', 'mais_humana.admin_ui.same_source', 'mais_humana.mcp_transit.ledger', 'mais_humana.admin_routes.acceptance'];",
]
),
encoding="utf-8",
@@ -57,6 +58,7 @@ class McpPublicationGateTests(unittest.TestCase):
"case 'mais_humana:rulebook.compact': return {};",
"case 'mais_humana:admin_ui.same_source': return {};",
"case 'mais_humana:mcp_transit.ledger': return {};",
"case 'mais_humana:admin_routes.acceptance': return {};",
]
),
encoding="utf-8",
@@ -87,6 +89,34 @@ class McpPublicationGateTests(unittest.TestCase):
self.assertEqual(evidence.status, GateStatus.PARTIAL)
self.assertIn("runner_node_esbuild_spawn_eperm", evidence.blockers)
def test_wrangler_not_attempted_is_observation_not_auth_blocker(self) -> None:
evidence = build_wrangler_runner_evidence("", attempted=False)
self.assertEqual(evidence.status, GateStatus.NOT_RUN)
self.assertFalse(evidence.authenticated)
self.assertEqual(evidence.blockers, ())
def test_live_probe_requires_complete_mcp_transit_envelope(self) -> None:
probe = LiveToolProbe(
tool_id="mais_humana.admin_routes.acceptance",
endpoint="https://mcps-gateway.ami-app.workers.dev/v1/execute",
http_status=200,
status=ProbeStatus.OK,
ok=True,
error_code="",
trace_id="trace-live",
audit_id="audit-live",
evidence_id="evidence-live",
source_payload_hash="a" * 64,
source_records_hash="b" * 64,
transit_fields_present=("origin", "destination", "tool", "actor", "permission", "traceId", "auditId", "timestamp"),
missing_transit_fields=("payload", "result"),
response_excerpt={"ok": "True"},
observed_at="2026-05-02T00:00:00+00:00",
)
self.assertFalse(probe.live_ready)
def test_order_decisions_keep_live_and_git_blockers_explicit(self) -> None:
repo = self.make_mcp_repo(make_tmp())
gateway = scan_gateway_source(repo)
@@ -186,4 +216,3 @@ class McpPublicationGateTests(unittest.TestCase):
if __name__ == "__main__":
unittest.main()