auto-sync: tudo-para-ia-mais-humana 2026-05-02 04:14:46
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user