1011 lines
30 KiB
JSON
1011 lines
30 KiB
JSON
{
|
|
"evaluations": [
|
|
{
|
|
"blocking_steps": [
|
|
"ui-explain: faltam sourceHash"
|
|
],
|
|
"evidence": [
|
|
"docs-source: fonte documental declarada",
|
|
"docs-read: decisao legivel",
|
|
"mcp-reconcile: blocker Docs classificado"
|
|
],
|
|
"next_actions": [
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked"
|
|
],
|
|
"passed_steps": 3,
|
|
"score": 75,
|
|
"status": "util",
|
|
"title": "Decisao canonica de Docs",
|
|
"total_steps": 4,
|
|
"workflow_id": "docs-canonical-decision"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"identity-org: faltam organizationId, tenant",
|
|
"identity-user: faltam actorId, session, role",
|
|
"integracoes-smoke: faltam usage",
|
|
"support-diagnostic: faltam nextAction"
|
|
],
|
|
"evidence": [
|
|
"business-entitlement: uso permitido",
|
|
"integracoes-session: segredo nao exposto",
|
|
"compliance-redaction: auditoria segura"
|
|
],
|
|
"next_actions": [
|
|
"executar varredura de segredo, mascaramento e politica de campos proibidos",
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked"
|
|
],
|
|
"passed_steps": 3,
|
|
"score": 43,
|
|
"status": "atencao",
|
|
"title": "BYOK live controlado por tenant",
|
|
"total_steps": 7,
|
|
"workflow_id": "byok-live-controlled"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"quota-source: faltam quota, franquia",
|
|
"billing-link: faltam reconciliation",
|
|
"product-isolation: faltam blockerId",
|
|
"support-message: faltam nextAction"
|
|
],
|
|
"evidence": [
|
|
"plan-source: plano unico"
|
|
],
|
|
"next_actions": [
|
|
"executar varredura de segredo, mascaramento e politica de campos proibidos",
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked"
|
|
],
|
|
"passed_steps": 1,
|
|
"score": 20,
|
|
"status": "bloqueado",
|
|
"title": "Gate comercial unico por Business",
|
|
"total_steps": 5,
|
|
"workflow_id": "business-commercial-gate"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"screen-instance: faltam viewInstance, screenData",
|
|
"source-hashes: faltam sourcePayloadHash, sourceRecordsHash",
|
|
"gpt-explain: faltam gptExplainable",
|
|
"docs-contract: faltam contractVersion, schemaVersion"
|
|
],
|
|
"evidence": [
|
|
"ui-render: painel confiavel"
|
|
],
|
|
"next_actions": [
|
|
"promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada"
|
|
],
|
|
"passed_steps": 1,
|
|
"score": 20,
|
|
"status": "bloqueado",
|
|
"title": "Painel humano com mesma fonte do GPT",
|
|
"total_steps": 5,
|
|
"workflow_id": "mcp-panel-same-source"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"role-matrix: faltam role",
|
|
"allow-case: faltam allow, 200",
|
|
"deny-case: faltam 403, forbidden",
|
|
"audit-case: faltam auditId, traceId",
|
|
"support-case: faltam nextAction"
|
|
],
|
|
"evidence": [],
|
|
"next_actions": [
|
|
"executar varredura de segredo, mascaramento e politica de campos proibidos",
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked"
|
|
],
|
|
"passed_steps": 0,
|
|
"score": 0,
|
|
"status": "bloqueado",
|
|
"title": "Identity com matriz RBAC de negacao",
|
|
"total_steps": 5,
|
|
"workflow_id": "identity-rbac-denial"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"policy: faltam retention",
|
|
"consent: faltam consent, actorId",
|
|
"redaction: faltam masked",
|
|
"audit: faltam auditId"
|
|
],
|
|
"evidence": [
|
|
"docs: memoria institucional"
|
|
],
|
|
"next_actions": [
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked"
|
|
],
|
|
"passed_steps": 1,
|
|
"score": 20,
|
|
"status": "bloqueado",
|
|
"title": "Cadeia de evidencia Compliance",
|
|
"total_steps": 5,
|
|
"workflow_id": "compliance-evidence-chain"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"classify: faltam severity, domain",
|
|
"handoff: faltam handoff, owner",
|
|
"resolve: faltam resolved"
|
|
],
|
|
"evidence": [
|
|
"open: ticket criado",
|
|
"audit: cadeia completa"
|
|
],
|
|
"next_actions": [
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked"
|
|
],
|
|
"passed_steps": 2,
|
|
"score": 40,
|
|
"status": "atencao",
|
|
"title": "Incidente Customer Ops completo",
|
|
"total_steps": 5,
|
|
"workflow_id": "customer-ops-incident"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"plugin-test: faltam expected",
|
|
"wrangler-auth: faltam whoami",
|
|
"bindings: faltam bindings, secrets",
|
|
"routes: faltam deploy",
|
|
"logs: faltam tail"
|
|
],
|
|
"evidence": [],
|
|
"next_actions": [
|
|
"executar varredura de segredo, mascaramento e politica de campos proibidos"
|
|
],
|
|
"passed_steps": 0,
|
|
"score": 0,
|
|
"status": "bloqueado",
|
|
"title": "Operacao Cloudflare por wrangler",
|
|
"total_steps": 5,
|
|
"workflow_id": "cloudflare-wrangler-operations"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"planned-state: faltam planned, catalogOnly"
|
|
],
|
|
"evidence": [
|
|
"endpoint: runtime basico",
|
|
"contract: surface auditavel",
|
|
"mcp-register: control-plane ciente",
|
|
"ui-readiness: status humano"
|
|
],
|
|
"next_actions": [
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked"
|
|
],
|
|
"passed_steps": 4,
|
|
"score": 80,
|
|
"status": "util",
|
|
"title": "Promocao controlada de Intelligence",
|
|
"total_steps": 5,
|
|
"workflow_id": "intelligence-promotion"
|
|
},
|
|
{
|
|
"blocking_steps": [
|
|
"version: faltam contractVersion, schemaVersion",
|
|
"compat: faltam compatibilityVersion, breakingChanges",
|
|
"rollback: faltam previousVersion",
|
|
"docs: faltam changelog, migrationNotes"
|
|
],
|
|
"evidence": [
|
|
"smoke: prova tecnica"
|
|
],
|
|
"next_actions": [
|
|
"classificar cada resposta como real, simulatedInstitutional, fixture, stale, partial ou blocked",
|
|
"promover leitura Docs responseReady minima ou registrar excecao catalogOnly deliberada"
|
|
],
|
|
"passed_steps": 1,
|
|
"score": 20,
|
|
"status": "bloqueado",
|
|
"title": "Release com rollback e contrato",
|
|
"total_steps": 5,
|
|
"workflow_id": "release-and-rollback"
|
|
}
|
|
],
|
|
"summary": [
|
|
"Workflows avaliados: 10",
|
|
"Workflows prontos/uteis: 2",
|
|
"Workflows bloqueados: 6",
|
|
"Score medio de workflow: 32"
|
|
],
|
|
"workflows": [
|
|
{
|
|
"expected_artifacts": [
|
|
"contrato Docs",
|
|
"readiness reconciliado",
|
|
"evidencia HTTP",
|
|
"OS de continuidade"
|
|
],
|
|
"platforms": [
|
|
"docs",
|
|
"mcps",
|
|
"ui",
|
|
"compliance"
|
|
],
|
|
"primary_profile": "planejamento_estrategico",
|
|
"purpose": "Resolver ambiguidade entre catalogOnly, responseReady minimo e excecao formal.",
|
|
"risk_if_missing": "Docs continua como blocker global ambiguo.",
|
|
"steps": [
|
|
{
|
|
"human_output": "fonte documental declarada",
|
|
"owner_platform": "docs",
|
|
"required_signals": [
|
|
"docs",
|
|
"canonical",
|
|
"contrato"
|
|
],
|
|
"step_id": "docs-source",
|
|
"title": "Identificar fonte documental canonica",
|
|
"validation": "abrir contrato Docs"
|
|
},
|
|
{
|
|
"human_output": "decisao legivel",
|
|
"owner_platform": "docs",
|
|
"required_signals": [
|
|
"responseReady",
|
|
"catalogOnly",
|
|
"excecao"
|
|
],
|
|
"step_id": "docs-read",
|
|
"title": "Promover leitura minima ou declarar excecao",
|
|
"validation": "executar leitura ou registrar decisao"
|
|
},
|
|
{
|
|
"human_output": "blocker Docs classificado",
|
|
"owner_platform": "mcps",
|
|
"required_signals": [
|
|
"readiness",
|
|
"blocker",
|
|
"docs"
|
|
],
|
|
"step_id": "mcp-reconcile",
|
|
"title": "Reconciliar readiness MCP",
|
|
"validation": "comparar readiness global"
|
|
},
|
|
{
|
|
"human_output": "painel e GPT explicam igual",
|
|
"owner_platform": "ui",
|
|
"required_signals": [
|
|
"sameSource",
|
|
"panelReady",
|
|
"sourceHash"
|
|
],
|
|
"step_id": "ui-explain",
|
|
"title": "Explicar estado para painel e GPT",
|
|
"validation": "validar mesma fonte"
|
|
}
|
|
],
|
|
"title": "Decisao canonica de Docs",
|
|
"workflow_id": "docs-canonical-decision"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"credentialRef",
|
|
"auditId",
|
|
"usage",
|
|
"redaction check",
|
|
"diagnostico"
|
|
],
|
|
"platforms": [
|
|
"identity",
|
|
"business",
|
|
"integracoes",
|
|
"compliance",
|
|
"customer_ops"
|
|
],
|
|
"primary_profile": "tecnico",
|
|
"purpose": "Provar credencial real sem vazamento, com usuario, organizacao, entitlement, smoke e consumo.",
|
|
"risk_if_missing": "Integracao parece pronta, mas nao e autosservico real.",
|
|
"steps": [
|
|
{
|
|
"human_output": "tenant rastreavel",
|
|
"owner_platform": "identity",
|
|
"required_signals": [
|
|
"organizationId",
|
|
"tenant"
|
|
],
|
|
"step_id": "identity-org",
|
|
"title": "Criar organizacao de teste",
|
|
"validation": "criar organizacao"
|
|
},
|
|
{
|
|
"human_output": "ator autorizado",
|
|
"owner_platform": "identity",
|
|
"required_signals": [
|
|
"actorId",
|
|
"session",
|
|
"role"
|
|
],
|
|
"step_id": "identity-user",
|
|
"title": "Criar usuario e sessao",
|
|
"validation": "assumir usuario"
|
|
},
|
|
{
|
|
"human_output": "uso permitido",
|
|
"owner_platform": "business",
|
|
"required_signals": [
|
|
"entitlement",
|
|
"productId",
|
|
"plan"
|
|
],
|
|
"step_id": "business-entitlement",
|
|
"title": "Vincular produto e entitlement",
|
|
"validation": "consultar entitlement"
|
|
},
|
|
{
|
|
"human_output": "segredo nao exposto",
|
|
"owner_platform": "integracoes",
|
|
"required_signals": [
|
|
"BYOK",
|
|
"credentialRef"
|
|
],
|
|
"step_id": "integracoes-session",
|
|
"title": "Criar sessao BYOK",
|
|
"validation": "gerar credentialRef"
|
|
},
|
|
{
|
|
"human_output": "provider validado",
|
|
"owner_platform": "integracoes",
|
|
"required_signals": [
|
|
"smoke",
|
|
"readonly",
|
|
"usage"
|
|
],
|
|
"step_id": "integracoes-smoke",
|
|
"title": "Executar smoke readonly",
|
|
"validation": "rodar smoke"
|
|
},
|
|
{
|
|
"human_output": "auditoria segura",
|
|
"owner_platform": "compliance",
|
|
"required_signals": [
|
|
"redaction",
|
|
"audit",
|
|
"trace"
|
|
],
|
|
"step_id": "compliance-redaction",
|
|
"title": "Validar nao vazamento",
|
|
"validation": "varrer relatorios"
|
|
},
|
|
{
|
|
"human_output": "suporte orientado",
|
|
"owner_platform": "customer_ops",
|
|
"required_signals": [
|
|
"diagnostic",
|
|
"nextAction"
|
|
],
|
|
"step_id": "support-diagnostic",
|
|
"title": "Criar diagnostico para falha",
|
|
"validation": "simular falha"
|
|
}
|
|
],
|
|
"title": "BYOK live controlado por tenant",
|
|
"workflow_id": "byok-live-controlled"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"entitlement",
|
|
"invoice",
|
|
"usage",
|
|
"blocker matrix",
|
|
"mensagem de suporte"
|
|
],
|
|
"platforms": [
|
|
"business",
|
|
"finance",
|
|
"integracoes",
|
|
"public",
|
|
"customer_ops"
|
|
],
|
|
"primary_profile": "financeiro",
|
|
"purpose": "Garantir que plano, franquia, consumo e bloqueio venham de Business.",
|
|
"risk_if_missing": "Produto pode ser vendido ou bloqueado por regra divergente.",
|
|
"steps": [
|
|
{
|
|
"human_output": "plano unico",
|
|
"owner_platform": "business",
|
|
"required_signals": [
|
|
"plano",
|
|
"entitlement"
|
|
],
|
|
"step_id": "plan-source",
|
|
"title": "Definir plano como fonte Business",
|
|
"validation": "consultar plano"
|
|
},
|
|
{
|
|
"human_output": "limite claro",
|
|
"owner_platform": "business",
|
|
"required_signals": [
|
|
"quota",
|
|
"usage",
|
|
"franquia"
|
|
],
|
|
"step_id": "quota-source",
|
|
"title": "Materializar franquia e excedente",
|
|
"validation": "simular consumo"
|
|
},
|
|
{
|
|
"human_output": "fatura rastreavel",
|
|
"owner_platform": "finance",
|
|
"required_signals": [
|
|
"invoice",
|
|
"reconciliation"
|
|
],
|
|
"step_id": "billing-link",
|
|
"title": "Reconciliar cobranca Finance",
|
|
"validation": "gerar extrato"
|
|
},
|
|
{
|
|
"human_output": "impacto isolado",
|
|
"owner_platform": "business",
|
|
"required_signals": [
|
|
"productId",
|
|
"blockerId"
|
|
],
|
|
"step_id": "product-isolation",
|
|
"title": "Isolar blocker por produto",
|
|
"validation": "listar blockers"
|
|
},
|
|
{
|
|
"human_output": "cliente orientado",
|
|
"owner_platform": "customer_ops",
|
|
"required_signals": [
|
|
"support",
|
|
"nextAction"
|
|
],
|
|
"step_id": "support-message",
|
|
"title": "Gerar mensagem humana de bloqueio",
|
|
"validation": "validar mensagem"
|
|
}
|
|
],
|
|
"title": "Gate comercial unico por Business",
|
|
"workflow_id": "business-commercial-gate"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"viewInstance",
|
|
"source hashes",
|
|
"screen contract",
|
|
"evidencia HTTP"
|
|
],
|
|
"platforms": [
|
|
"mcps",
|
|
"ui",
|
|
"docs",
|
|
"identity",
|
|
"business"
|
|
],
|
|
"primary_profile": "administrador_empresa",
|
|
"purpose": "Impedir divergencia entre UI, MCP e explicacao do GPT.",
|
|
"risk_if_missing": "Painel e GPT podem mostrar verdades diferentes.",
|
|
"steps": [
|
|
{
|
|
"human_output": "payload rastreavel",
|
|
"owner_platform": "mcps",
|
|
"required_signals": [
|
|
"viewInstance",
|
|
"screenData"
|
|
],
|
|
"step_id": "screen-instance",
|
|
"title": "Criar instancia administrativa",
|
|
"validation": "criar instancia"
|
|
},
|
|
{
|
|
"human_output": "mesma fonte",
|
|
"owner_platform": "mcps",
|
|
"required_signals": [
|
|
"sourcePayloadHash",
|
|
"sourceRecordsHash"
|
|
],
|
|
"step_id": "source-hashes",
|
|
"title": "Gerar hashes de fonte e registros",
|
|
"validation": "comparar hashes"
|
|
},
|
|
{
|
|
"human_output": "painel confiavel",
|
|
"owner_platform": "ui",
|
|
"required_signals": [
|
|
"panelReady",
|
|
"sameSource"
|
|
],
|
|
"step_id": "ui-render",
|
|
"title": "Renderizar UI sem backend paralelo",
|
|
"validation": "validar tela"
|
|
},
|
|
{
|
|
"human_output": "resposta coerente",
|
|
"owner_platform": "mcps",
|
|
"required_signals": [
|
|
"gptExplainable",
|
|
"sameSource"
|
|
],
|
|
"step_id": "gpt-explain",
|
|
"title": "Explicar a mesma instancia pelo GPT",
|
|
"validation": "pedir explicacao"
|
|
},
|
|
{
|
|
"human_output": "documentacao viva",
|
|
"owner_platform": "docs",
|
|
"required_signals": [
|
|
"contractVersion",
|
|
"schemaVersion"
|
|
],
|
|
"step_id": "docs-contract",
|
|
"title": "Publicar contrato da tela",
|
|
"validation": "exportar contrato"
|
|
}
|
|
],
|
|
"title": "Painel humano com mesma fonte do GPT",
|
|
"workflow_id": "mcp-panel-same-source"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"matriz RBAC",
|
|
"allow evidence",
|
|
"deny evidence",
|
|
"auditId",
|
|
"diagnostico"
|
|
],
|
|
"platforms": [
|
|
"identity",
|
|
"compliance",
|
|
"mcps",
|
|
"customer_ops"
|
|
],
|
|
"primary_profile": "juridico",
|
|
"purpose": "Provar permissoes permitidas e negadas por papel, organizacao e escopo.",
|
|
"risk_if_missing": "Controle de acesso fica baseado em caminho feliz e nao em governanca real.",
|
|
"steps": [
|
|
{
|
|
"human_output": "papel claro",
|
|
"owner_platform": "identity",
|
|
"required_signals": [
|
|
"role",
|
|
"scope",
|
|
"permission"
|
|
],
|
|
"step_id": "role-matrix",
|
|
"title": "Publicar matriz de papeis",
|
|
"validation": "listar papeis"
|
|
},
|
|
{
|
|
"human_output": "acao liberada",
|
|
"owner_platform": "identity",
|
|
"required_signals": [
|
|
"allow",
|
|
"200"
|
|
],
|
|
"step_id": "allow-case",
|
|
"title": "Testar caminho permitido",
|
|
"validation": "executar allow"
|
|
},
|
|
{
|
|
"human_output": "acao bloqueada",
|
|
"owner_platform": "identity",
|
|
"required_signals": [
|
|
"deny",
|
|
"403",
|
|
"forbidden"
|
|
],
|
|
"step_id": "deny-case",
|
|
"title": "Testar caminho negado",
|
|
"validation": "executar deny"
|
|
},
|
|
{
|
|
"human_output": "evidencia juridica",
|
|
"owner_platform": "compliance",
|
|
"required_signals": [
|
|
"auditId",
|
|
"traceId"
|
|
],
|
|
"step_id": "audit-case",
|
|
"title": "Registrar auditId da decisao",
|
|
"validation": "consultar audit"
|
|
},
|
|
{
|
|
"human_output": "suporte seguro",
|
|
"owner_platform": "customer_ops",
|
|
"required_signals": [
|
|
"diagnostic",
|
|
"nextAction"
|
|
],
|
|
"step_id": "support-case",
|
|
"title": "Explicar negacao para suporte",
|
|
"validation": "gerar diagnostico"
|
|
}
|
|
],
|
|
"title": "Identity com matriz RBAC de negacao",
|
|
"workflow_id": "identity-rbac-denial"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"policy",
|
|
"consent record",
|
|
"redaction report",
|
|
"audit evidence",
|
|
"docs hash"
|
|
],
|
|
"platforms": [
|
|
"compliance",
|
|
"identity",
|
|
"docs",
|
|
"mcps"
|
|
],
|
|
"primary_profile": "juridico",
|
|
"purpose": "Ligar politica, consentimento, redaction, audit e retencao.",
|
|
"risk_if_missing": "A plataforma nao prova governanca juridica de longo prazo.",
|
|
"steps": [
|
|
{
|
|
"human_output": "regra clara",
|
|
"owner_platform": "compliance",
|
|
"required_signals": [
|
|
"policy",
|
|
"retention"
|
|
],
|
|
"step_id": "policy",
|
|
"title": "Publicar politica aplicavel",
|
|
"validation": "validar politica"
|
|
},
|
|
{
|
|
"human_output": "consentimento auditavel",
|
|
"owner_platform": "compliance",
|
|
"required_signals": [
|
|
"consent",
|
|
"actorId"
|
|
],
|
|
"step_id": "consent",
|
|
"title": "Registrar consentimento quando aplicavel",
|
|
"validation": "consultar consentimento"
|
|
},
|
|
{
|
|
"human_output": "sem segredo",
|
|
"owner_platform": "compliance",
|
|
"required_signals": [
|
|
"redaction",
|
|
"masked"
|
|
],
|
|
"step_id": "redaction",
|
|
"title": "Aplicar redaction em campos sensiveis",
|
|
"validation": "rodar redaction"
|
|
},
|
|
{
|
|
"human_output": "cadeia de custodia",
|
|
"owner_platform": "compliance",
|
|
"required_signals": [
|
|
"auditId",
|
|
"evidenceId"
|
|
],
|
|
"step_id": "audit",
|
|
"title": "Gerar auditId e evidenceId",
|
|
"validation": "consultar evidencia"
|
|
},
|
|
{
|
|
"human_output": "memoria institucional",
|
|
"owner_platform": "docs",
|
|
"required_signals": [
|
|
"contrato",
|
|
"hash"
|
|
],
|
|
"step_id": "docs",
|
|
"title": "Documentar contrato de privacidade",
|
|
"validation": "validar docs"
|
|
}
|
|
],
|
|
"title": "Cadeia de evidencia Compliance",
|
|
"workflow_id": "compliance-evidence-chain"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"ticket",
|
|
"classification",
|
|
"handoff",
|
|
"resolution",
|
|
"audit trail"
|
|
],
|
|
"platforms": [
|
|
"customer_ops",
|
|
"identity",
|
|
"business",
|
|
"integracoes",
|
|
"compliance"
|
|
],
|
|
"primary_profile": "suporte",
|
|
"purpose": "Abrir, diagnosticar, encaminhar, resolver e auditar incidente.",
|
|
"risk_if_missing": "Suporte perde historico e proxima acao em falhas recorrentes.",
|
|
"steps": [
|
|
{
|
|
"human_output": "ticket criado",
|
|
"owner_platform": "customer_ops",
|
|
"required_signals": [
|
|
"incident",
|
|
"open"
|
|
],
|
|
"step_id": "open",
|
|
"title": "Abrir incidente",
|
|
"validation": "criar incidente"
|
|
},
|
|
{
|
|
"human_output": "prioridade clara",
|
|
"owner_platform": "customer_ops",
|
|
"required_signals": [
|
|
"severity",
|
|
"domain"
|
|
],
|
|
"step_id": "classify",
|
|
"title": "Classificar origem e severidade",
|
|
"validation": "classificar"
|
|
},
|
|
{
|
|
"human_output": "responsavel definido",
|
|
"owner_platform": "customer_ops",
|
|
"required_signals": [
|
|
"handoff",
|
|
"owner"
|
|
],
|
|
"step_id": "handoff",
|
|
"title": "Encaminhar para owner",
|
|
"validation": "encaminhar"
|
|
},
|
|
{
|
|
"human_output": "solucao rastreavel",
|
|
"owner_platform": "customer_ops",
|
|
"required_signals": [
|
|
"resolved",
|
|
"evidenceId"
|
|
],
|
|
"step_id": "resolve",
|
|
"title": "Resolver com evidencia",
|
|
"validation": "fechar incidente"
|
|
},
|
|
{
|
|
"human_output": "cadeia completa",
|
|
"owner_platform": "compliance",
|
|
"required_signals": [
|
|
"audit",
|
|
"trace"
|
|
],
|
|
"step_id": "audit",
|
|
"title": "Auditar ciclo",
|
|
"validation": "consultar audit"
|
|
}
|
|
],
|
|
"title": "Incidente Customer Ops completo",
|
|
"workflow_id": "customer-ops-incident"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"plugin attempt",
|
|
"wrangler status",
|
|
"bindings",
|
|
"routes",
|
|
"health evidence"
|
|
],
|
|
"platforms": [
|
|
"integracoes",
|
|
"mcps",
|
|
"ui",
|
|
"public",
|
|
"gettys"
|
|
],
|
|
"primary_profile": "tecnico",
|
|
"purpose": "Validar runtime real por wrangler, tratando plugin como teste esperado.",
|
|
"risk_if_missing": "Cloudflare fica dependente de plugin experimental ou sem prova live.",
|
|
"steps": [
|
|
{
|
|
"human_output": "premissa cumprida",
|
|
"owner_platform": "integracoes",
|
|
"required_signals": [
|
|
"plugin Cloudflare",
|
|
"expected"
|
|
],
|
|
"step_id": "plugin-test",
|
|
"title": "Registrar tentativa do plugin",
|
|
"validation": "registrar tentativa"
|
|
},
|
|
{
|
|
"human_output": "identidade operacional",
|
|
"owner_platform": "integracoes",
|
|
"required_signals": [
|
|
"wrangler",
|
|
"whoami"
|
|
],
|
|
"step_id": "wrangler-auth",
|
|
"title": "Validar autenticacao wrangler quando houver trabalho real",
|
|
"validation": "wrangler whoami"
|
|
},
|
|
{
|
|
"human_output": "runtime configurado",
|
|
"owner_platform": "integracoes",
|
|
"required_signals": [
|
|
"bindings",
|
|
"secrets"
|
|
],
|
|
"step_id": "bindings",
|
|
"title": "Verificar bindings e secrets",
|
|
"validation": "wrangler secret/list"
|
|
},
|
|
{
|
|
"human_output": "rota viva",
|
|
"owner_platform": "integracoes",
|
|
"required_signals": [
|
|
"routes",
|
|
"deploy"
|
|
],
|
|
"step_id": "routes",
|
|
"title": "Validar rotas e deploy",
|
|
"validation": "wrangler deploy/check"
|
|
},
|
|
{
|
|
"human_output": "diagnostico real",
|
|
"owner_platform": "integracoes",
|
|
"required_signals": [
|
|
"tail",
|
|
"health"
|
|
],
|
|
"step_id": "logs",
|
|
"title": "Coletar logs/health",
|
|
"validation": "wrangler tail/health"
|
|
}
|
|
],
|
|
"title": "Operacao Cloudflare por wrangler",
|
|
"workflow_id": "cloudflare-wrangler-operations"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"state decision",
|
|
"health smoke",
|
|
"openapi",
|
|
"mcp readiness",
|
|
"panel status"
|
|
],
|
|
"platforms": [
|
|
"intelligence",
|
|
"mcps",
|
|
"docs",
|
|
"ui"
|
|
],
|
|
"primary_profile": "ceo",
|
|
"purpose": "Tirar Intelligence de unsupported/catalogOnly apenas com endpoint, smoke e contrato.",
|
|
"risk_if_missing": "Intelligence permanece meio provider e confunde readiness global.",
|
|
"steps": [
|
|
{
|
|
"human_output": "sem ambiguidade",
|
|
"owner_platform": "intelligence",
|
|
"required_signals": [
|
|
"planned",
|
|
"catalogOnly"
|
|
],
|
|
"step_id": "planned-state",
|
|
"title": "Declarar estado planejado",
|
|
"validation": "registrar estado"
|
|
},
|
|
{
|
|
"human_output": "runtime basico",
|
|
"owner_platform": "intelligence",
|
|
"required_signals": [
|
|
"health",
|
|
"profile",
|
|
"readiness"
|
|
],
|
|
"step_id": "endpoint",
|
|
"title": "Publicar endpoint minimo",
|
|
"validation": "chamar endpoint"
|
|
},
|
|
{
|
|
"human_output": "surface auditavel",
|
|
"owner_platform": "intelligence",
|
|
"required_signals": [
|
|
"openapi",
|
|
"schema"
|
|
],
|
|
"step_id": "contract",
|
|
"title": "Publicar contrato",
|
|
"validation": "validar contrato"
|
|
},
|
|
{
|
|
"human_output": "control-plane ciente",
|
|
"owner_platform": "mcps",
|
|
"required_signals": [
|
|
"provider",
|
|
"readiness"
|
|
],
|
|
"step_id": "mcp-register",
|
|
"title": "Registrar no MCP",
|
|
"validation": "comparar catalogo"
|
|
},
|
|
{
|
|
"human_output": "status humano",
|
|
"owner_platform": "ui",
|
|
"required_signals": [
|
|
"panelReady",
|
|
"sameSource"
|
|
],
|
|
"step_id": "ui-readiness",
|
|
"title": "Expor status no painel",
|
|
"validation": "validar tela"
|
|
}
|
|
],
|
|
"title": "Promocao controlada de Intelligence",
|
|
"workflow_id": "intelligence-promotion"
|
|
},
|
|
{
|
|
"expected_artifacts": [
|
|
"version",
|
|
"compatibility",
|
|
"smoke report",
|
|
"rollback plan",
|
|
"changelog"
|
|
],
|
|
"platforms": [
|
|
"platform_base",
|
|
"mcps",
|
|
"docs",
|
|
"ui"
|
|
],
|
|
"primary_profile": "gestor_operacional",
|
|
"purpose": "Promover mudanca sem quebrar contrato, UI, GPT ou auditoria.",
|
|
"risk_if_missing": "Mudancas futuras quebram contratos sem trilha de reversao.",
|
|
"steps": [
|
|
{
|
|
"human_output": "versao clara",
|
|
"owner_platform": "platform_base",
|
|
"required_signals": [
|
|
"contractVersion",
|
|
"schemaVersion"
|
|
],
|
|
"step_id": "version",
|
|
"title": "Gerar contractVersion/schemaVersion",
|
|
"validation": "exportar versao"
|
|
},
|
|
{
|
|
"human_output": "risco explicito",
|
|
"owner_platform": "platform_base",
|
|
"required_signals": [
|
|
"compatibilityVersion",
|
|
"breakingChanges"
|
|
],
|
|
"step_id": "compat",
|
|
"title": "Declarar compatibilidade",
|
|
"validation": "validar compat"
|
|
},
|
|
{
|
|
"human_output": "prova tecnica",
|
|
"owner_platform": "mcps",
|
|
"required_signals": [
|
|
"smoke",
|
|
"readiness"
|
|
],
|
|
"step_id": "smoke",
|
|
"title": "Executar smoke regressivo",
|
|
"validation": "rodar smoke"
|
|
},
|
|
{
|
|
"human_output": "reversao possivel",
|
|
"owner_platform": "platform_base",
|
|
"required_signals": [
|
|
"rollback",
|
|
"previousVersion"
|
|
],
|
|
"step_id": "rollback",
|
|
"title": "Registrar rollback",
|
|
"validation": "validar rollback"
|
|
},
|
|
{
|
|
"human_output": "memoria de mudanca",
|
|
"owner_platform": "docs",
|
|
"required_signals": [
|
|
"changelog",
|
|
"migrationNotes"
|
|
],
|
|
"step_id": "docs",
|
|
"title": "Publicar changelog",
|
|
"validation": "validar docs"
|
|
}
|
|
],
|
|
"title": "Release com rollback e contrato",
|
|
"workflow_id": "release-and-rollback"
|
|
}
|
|
]
|
|
} |