Objetos, vínculos e identificadores
O modelo separa estrutura organizacional, definição do produto, prova de execução e centro documental. IDs técnicos são usados nas URLs; IDs de negócio preservam rastreabilidade no catálogo e no CI.
Hierarquia canônica
Nas URLs e no banco, um portfólio é chamado de application. Na interface, o termo apresentado é portfólio. Eles são o mesmo objeto.
Workspace
└── Projeto
└── Portfólio (application)
├── Repositório
├── Documentações → versões → diffs
└── Feature
├── Tarefas ↔ cenários
├── Execuções → testes → evidências
├── Riscos
├── Checklist e sign-offs
└── Fases de rolloutUUID técnico e ID de negócio
workspaceIdUUID · escopo de permissão e chavesprojectIdUUID · usado nas APIs de configuração do projetoapplicationIdUUID · usado nas APIs de documentação do portfóliodocumentId/versionIdUUID · documento lógico e versão imutávelfeature.idTexto estável, por exemplo LBP-PIX-001task.idTexto estável e único no catálogo, por exemplo TSK-PIX-002scenario.idTexto estável e único, por exemplo CT-PIX-002evidence.id/risk.idNúmero gerado pelo bancoCopie IDs das respostas do dashboard/API ou do estado já provisionado. Slugs selecionam o destino no catálogo v2; UUIDs selecionam recursos internos.
Projeto
Agrupa portfólios dentro de um workspace e define o limite administrativo para renomear, transferir e excluir. A exclusão remove em cascata portfólios, features, testes e documentos relacionados.
idUUID imutávelworkspaceIdWorkspace proprietárioslugGerado do nome e único no workspacename2–100 caracteresdescriptionAté 500 caracterescreatedAt/updatedAtTimestamps ISO 8601Portfólio
É a aplicação ou domínio funcional que concentra features, repositórios e o centro documental. O catálogo v2 procura o portfólio por project slug + application slug + repository fullName.
idUUID usado em /api/applications/:applicationId/*projectIdProjeto paislugIdentificador usado por CI, por exemplo pix-automaticonameNome apresentado no paineldescriptionEscopo do portfóliorepositoryNome completo, por exemplo conta-facil/lb-payFeature
Unidade liberável e principal contexto de prontidão. O score não é livre: no catálogo v2 ele deve ser igual à soma arredondada de readinessWeight × progress das tarefas.
idID de negócio global, 3–100 caracteresuseCaseJornada ou capacidade atendidaname/descriptionTítulo e contrato funcionalstatusEstado apresentado no painelscore0–100, calculável pelas tarefasdeployWindowJanela textual ou ISO 8601dimensionsLeituras auxiliares de prontidão; não substituem tarefasTarefa e cenário
A tarefa descreve trabalho e carrega peso/progresso. O cenário descreve comportamento verificável. A relação é N:N por scenarioRefs: toda tarefa precisa de ao menos um cenário e todo cenário precisa ser referenciado.
task.descriptionPor que e o que será entregueimplementationDetailsComo a mudança será implementadaacceptanceCriteriaLista objetiva; ao menos um itemreadinessWeightPeso 1–100; a soma da feature deve ser 100progress0–100; deve concordar com statusremainingWorkObrigatório quando progress < 100scenario.titleComportamento esperadoscenario.resultPASS, FAIL, PEND ou estado aceito pelo painelscenario.metaÚltima execução, ambiente ou justificativaEvidência
Prova material ligada a uma feature e, quando possível, a um cenário. Evidência de catalog representa uma expectativa declarada; evidência de ci é produzida por uma execução imutável e nunca é apagada pela reconciliação do catálogo.
kindIMAGEM, JSON, TEXTO ou classificação equivalentetitleNome humano do artefatodescriptionO que o artefato comprovadoubleCheckedtrue somente após verificação por um segundo modeloscenarioRefID de cenário relacionadopayloadTypeimage ou textcontentTypeMIME real, como application/jsoncontent/contentUrlConteúdo inline ou referência HTTP(S)encodingutf8 ou base64Documento e versão
O documento é a identidade lógica dentro de um único portfólio. Cada upload cria uma versão imutável; a versão atual alimenta a análise de coerência. O diff compara texto extraído da versão anterior com a nova.
document.idUUID lógico e estáveltitle/descriptionContexto opcional do arquivocurrentVersionInteiro iniciado em 1version.idUUID imutável da versãofileName/mimeType/sizeBytesMetadados do bináriochecksumSHA-256 usado para bloquear versão duplicadaextractionStatusEstado da extração de textodiffLinhas adicionadas/removidas e unified diffcontentHrefDownload/visualização autorizadaRisco, gate e rollout
Riscos altos ou críticos bloqueiam o gate. Checklist bloqueante aberto, cenário diferente de PASS, ausência de execução aprovada em homologação e sign-off pendente para produção também entram como bloqueadores.
risk.severityCRÍTICO, ALTO, MÉDIO ou BAIXOrisk.mitigationAção concreta de redução/aceitaçãochecklist.blockingTransforma item incompleto em bloqueadorsignoff.statusPENDENTE, APROVADO, RESSALVA ou REJEITADOrollout.environmentci, homologation ou productionrollout.gateStatusblocked, pending, passed ou failedrollbackPlanPassos explícitos para reversão