{"openapi":"3.1.0","info":{"title":"Arc Flash Platform — API","description":"Núcleos validados da plataforma (IEEE 1584:2018 · IEC 60909-0:2016 · IEC 60255-151) como serviço. Cálculo livre com teto por identidade; laudo PDF exige assinatura; projetos (.json v5) por usuário logado. Identidade: `Authorization: Bearer <JWT da conta>` ou a sessão por cookie iniciada em /auth (login por OTP — a UI nova, na raiz do domínio).","version":"7.412.0"},"paths":{"/api/v1/auth/otp":{"post":{"tags":["conta"],"summary":"Send Otp","operationId":"send_otp_api_v1_auth_otp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtpIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtpOut"}}}},"422":{"description":"e-mail inválido"},"429":{"description":"teto de envios / cooldown"},"400":{"description":"recusado pelo provedor (não convidado)"},"503":{"description":"login indisponível"}}}},"/api/v1/auth/verify":{"post":{"tags":["conta"],"summary":"Verify","operationId":"verify_api_v1_auth_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionOut"}}}},"401":{"description":"código inválido/expirado"},"429":{"description":"tentativas esgotadas"},"503":{"description":"login indisponível"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["conta"],"summary":"Me","description":"Quem está logado (cookie ou Bearer). Access token vencido com refresh cookie\nválido → renova em silêncio e devolve cookies novos.","operationId":"me_api_v1_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionOut"}}}},"401":{"description":"sem sessão"}}}},"/api/v1/auth/refresh":{"post":{"tags":["conta"],"summary":"Refresh","operationId":"refresh_api_v1_auth_refresh_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionOut"}}}},"401":{"description":"sem refresh"}}}},"/api/v1/auth/logout":{"post":{"tags":["conta"],"summary":"Logout","description":"Apaga os cookies do domínio (a UI nova E o Streamlit deixam de ver a\nsessão) e encerra no GoTrue (melhor esforço).","operationId":"logout_api_v1_auth_logout_post","responses":{"204":{"description":"Successful Response"}}}},"/api/v1/arc/energy":{"post":{"tags":["arco"],"summary":"Arc Energy","operationId":"arc_energy_api_v1_arc_energy_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcResponse"}}}},"422":{"description":"fora do domínio IEEE 1584 (erros nomeados)"}}}},"/api/v1/arc/deeplink":{"get":{"tags":["arco"],"summary":"Arc Deeplink","description":"Traduz a URL do CTA da IA no conjunto que a tela deve semear, pelo MESMO\n`calc_core.parse_deeplink` que a sidebar do app usa — a vitrine consome o\nveredito, não reimplementa o gate.\n\nOs parâmetros entram como TEXTO de propósito: quem decide o que é número é o\nnúcleo, e um valor podre tem de derrubar o conjunto inteiro com uma resposta\nlimpa (`semeado=false`), não virar 422 da casca. Sem cálculo e sem dado do\nusuário aqui, então sem teto — é um validador, como o catálogo de ferramentas.","operationId":"arc_deeplink_api_v1_arc_deeplink_get","parameters":[{"name":"voc","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voc"}},{"name":"ibf","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ibf"}},{"name":"gap","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gap"}},{"name":"d","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"D"}},{"name":"tp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tp"}},{"name":"tr","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tr"}},{"name":"cfg","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cfg"}},{"name":"w","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"W"}},{"name":"h","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"H"}},{"name":"p","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"P"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeeplinkOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arc/hv/deeplink":{"get":{"tags":["arco"],"summary":"Arc Hv Deeplink","description":"O handoff da triagem > 15 kV (`triagem_hv_cta` do MCP), julgado pelo\nNÚCLEO (`calc_core.parse_deeplink_hv`) — a página consome o veredito e não\ntem régua própria. Como no `arc/deeplink`, os parâmetros entram como TEXTO\ne a rota não gasta o teto de cálculo: é um validador, não um motor.","operationId":"arc_hv_deeplink_api_v1_arc_hv_deeplink_get","parameters":[{"name":"metodo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metodo"}},{"name":"voc","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voc"}},{"name":"ibf","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ibf"}},{"name":"tp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tp"}},{"name":"d","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"D"}},{"name":"gm","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gm"}},{"name":"trab","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trab"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HvDeeplinkOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arc/typicals":{"get":{"tags":["arco"],"summary":"Arc Typicals","description":"O catálogo de elementos típicos do NÚCLEO (`calc_core.TIPICOS`). Servido\nem vez de copiado: a tabela é domínio (tensão, gap, invólucro e a distância\nda Tabela 3 de cada arranjo), e uma segunda cópia em TypeScript envelheceria\nem silêncio — a mesma razão da biblioteca de células e da tabela de atrito.","operationId":"arc_typicals_api_v1_arc_typicals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TipicoOut"},"type":"array","title":"Response Arc Typicals Api V1 Arc Typicals Get"}}}}}}},"/api/v1/arc/study":{"post":{"tags":["arco"],"summary":"Arc Study","description":"O estudo completo de UMA barra: o cálculo mais os vereditos que a aba do\napp monta em volta dele. Uma chamada só de propósito — o Ei, a categoria, o\nEPI, a coerência da entrada, o lado alto da NC-01 e as alavancas de mitigação\nsaem do MESMO `run_calc`, e separá-los em rotas deixaria a tela mostrar um\nveredito de um cálculo e um número de outro.","operationId":"arc_study_api_v1_arc_study_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcStudyOut"}}}},"422":{"description":"fora do domínio IEEE 1584 (erros nomeados)"},"429":{"description":"teto de chamadas"}}}},"/api/v1/arc/label":{"post":{"tags":["arco"],"summary":"Arc Label","description":"A etiqueta da NBR 17227 §7 pelo MESMO `label_gen` do app. Documento que\nvai para o campo: fica atrás do gate de assinatura, como o memorial — e do\nGATE DE EMISSÃO (C29 · S15) que o app e o Workspace exigem: o Termo e a\nciência do conjunto de alertas DESTE ponto (G338).","operationId":"arc_label_api_v1_arc_label_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcLabelIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"entrada fora do domínio"}}}},"/api/v1/arc/label/preview":{"post":{"tags":["arco"],"summary":"Arc Label Preview","description":"A PRÉ-VISUALIZAÇÃO da etiqueta, sem o gate do documento: o que a aba do app\nmostra ao lado do cálculo — o layout do PDF em HTML do núcleo\n(`calc_core.render_label_preview`) e o trabalhador equipado (`worker_svg`).\nO documento de campo, o PDF que se imprime e se afixa, continua atrás da\nassinatura (`arc/label`). O corpo da etiqueta é em português por norma.","operationId":"arc_label_preview_api_v1_arc_label_preview_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcLabelIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EtiquetaPreviaOut"}}}},"422":{"description":"entrada fora do domínio"}}}},"/api/v1/arc/ciencia":{"post":{"tags":["arco"],"summary":"Arc Ciencia","description":"O Termo e o conjunto de alertas de que a emissão do memorial e da etiqueta\ndo PONTO ÚNICO exige ciência, com a impressão — a tela os mostra e devolve o\n`hash` no pedido do documento. Até a v7.405.0 a página do estudo emitia sem\nportão nenhum, e o app e o Workspace exigem os dois (G338).","operationId":"arc_ciencia_api_v1_arc_ciencia_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChecklistIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CienciaOut"}}}},"422":{"description":"fora do domínio IEEE 1584 (erros nomeados)"}}}},"/api/v1/arc/figures":{"post":{"tags":["arco"],"summary":"Arc Figures","description":"As duas figuras da aba Arc Flash, do módulo PURO `arc_figures`.\n\nGeradas no SERVIDOR, em matplotlib: é a MESMA figura que o memorial imprime.\nRedesenhá-las em SVG no navegador criaria um segundo gráfico, livre para\ndivergir do documento assinado.","operationId":"arc_figures_api_v1_arc_figures_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcFiguresIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArcFiguresOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arc/checklist":{"post":{"tags":["arco"],"summary":"Arc Checklist","description":"O checklist normativo IA-1 (`checker.run_normative_checks`).\n\nO núcleo consulta um `ss` duck-typed; aqui ele recebe um SimpleNamespace com\nexatamente os campos que o contrato declara. Nada é inferido: o que o\nengenheiro não declarou ter feito sai como pendência.","operationId":"arc_checklist_api_v1_arc_checklist_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChecklistIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChecklistOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arc/batch":{"post":{"tags":["arco"],"summary":"Arc Batch","description":"A planilha do cliente (própria, ou exportada do PTW/ETAP/DIgSILENT) vira\num estudo por linha, pelo MESMO motor.\n\nDuas honestidades que o núcleo já impõe e o contrato preserva: a linha que o\nparser recusa sai em `recusadas` COM o motivo e a linha do arquivo (sumir\ncom ela faria o lote mentir sobre a cobertura), e a linha que entra mas não\ncalcula volta com `Ei_cal` NULO e o erro — nunca com zero.","operationId":"arc_batch_api_v1_arc_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoteIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arc/batch/zip":{"post":{"tags":["arco"],"summary":"Arc Batch Zip","description":"O pacote do lote: Tabela F.3, resumo e os memoriais e etiquetas de cada\nponto. É documento — logo, assinatura, como todo o resto.","operationId":"arc_batch_zip_api_v1_arc_batch_zip_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoteIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/zip":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arc/batch/template":{"get":{"tags":["arco"],"summary":"Arc Batch Template","description":"O modelo da planilha, do MESMO gerador do app: quem preenche este arquivo\ntem a garantia de que o parser o aceita.","operationId":"arc_batch_template_api_v1_arc_batch_template_get","responses":{"200":{"description":"Successful Response","content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{}}}}}},"/api/v1/arc/hv":{"post":{"tags":["arco"],"summary":"Arc Hv","description":"A triagem acima de 15 kV pelos três métodos publicados.\n\nNão há um 'melhor' entre eles e a rota não escolhe: a OSHA dá a BANDA\nconservadora que a norma de trabalho usa, o Lee dá a cota teórica (que\nacima de 15 kV superestima muito, e o próprio resultado diz isso), e o EPRI\né o único ajustado em ensaio para arco ao ar livre — com a faixa\ncertificada declarada e o aviso de extrapolação quando se sai dela.","operationId":"arc_hv_api_v1_arc_hv_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HvRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HvOut"}}}},"422":{"description":"fora do domínio da triagem (erros nomeados)"}}}},"/api/v1/arc/hv/report":{"post":{"tags":["arco"],"summary":"Arc Hv Report","description":"O relatório de TRIAGEM, pelo mesmo `generate_hv_pdf` do app.","operationId":"arc_hv_report_api_v1_arc_hv_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HvDocIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"entrada fora do domínio"}}}},"/api/v1/arc/hv/label":{"post":{"tags":["arco"],"summary":"Arc Hv Label","description":"A etiqueta de TRIAGEM (`generate_label_hv`) — função PRÓPRIA, e não a\netiqueta da NBR 17227 §7: o rótulo de conformidade da norma não cabe num\nresultado que está fora do escopo dela.","operationId":"arc_hv_label_api_v1_arc_hv_label_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HvDocIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"entrada fora do domínio"}}}},"/api/v1/sc/point":{"post":{"tags":["curto"],"summary":"Sc Point","operationId":"sc_point_api_v1_sc_point_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScPointRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScPointResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sc/study":{"post":{"tags":["curto"],"summary":"Sc Study","description":"O estudo do ponto: a MÁXIMA (que dimensiona o equipamento) e a MÍNIMA\n(que ajusta a sensibilidade da proteção) na mesma resposta. Elas são\nprocedimentos DIFERENTES do §7.1.2 — c_min, fatores de correção iguais a 1,\nmotores desprezados e cabo corrigido pela temperatura —, e devolver só uma\nobrigaria a tela a escolher qual apresentar.","operationId":"sc_study_api_v1_sc_study_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScStudyIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScStudyOut"}}}},"422":{"description":"entrada recusada pela IEC 60909"},"429":{"description":"teto de chamadas"}}}},"/api/v1/network/solve":{"post":{"tags":["rede"],"summary":"Network Solve","operationId":"network_solve_api_v1_network_solve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/element":{"post":{"tags":["rede"],"summary":"Network Element","description":"O clique no unifilar resolvido pelo NÚCLEO (`unifilar_ops`).\n\nO SVG interativo marca cada símbolo com `data-elem`; quem diz o que aquele\nid é — e o que ele aceita editar — é o domínio, não o navegador. Três\nrecusas que o núcleo já sabia fazer e que a rota preserva: id que não existe\nna rede ATUAL não seleciona nada; aresta PARALELA (o desenho colapsa as\nduas) recusa a edição por clique, porque o ordinal prometeria uma precisão\nque a figura não tem; e só aparecem os campos cuja COLUNA existe — oferecer\num campo que a tabela não guarda seria prometer edição que se perde.","operationId":"network_element_api_v1_network_element_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementoCliqueIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementoCliqueOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/ops":{"post":{"tags":["rede"],"summary":"Network Ops","description":"Acrescentar, renomear e remover pelo diagrama — servido pelo NÚCLEO.\n\nÉ a mesma lei do `network/element` (G126) do outro lado da edição: o\nnavegador manda o `data-elem` e o que quer fazer; quem sabe herdar a tensão\nda origem, carregar as referências ao renomear e declarar a cascata ao\nremover é o `unifilar_ops`. Erro de domínio sai 422 com a razão do núcleo,\nnunca 500, e nada é aplicado pela metade.","operationId":"network_ops_api_v1_network_ops_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpsIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/validate":{"post":{"tags":["rede"],"summary":"Network Validate","description":"A validação AO VIVO da instalação, sem calcular.\n\nO motor recusa a física e diz por quê — mas só quando se manda calcular, e\nnuma planta de cinquenta barras isso é tarde: a pessoa digitou trinta linhas\nantes de descobrir que a primeira estava errada. Quem responde aqui é o\nNÚCLEO (`mb_assembly.validar_rede`), e cada item nomeia o elemento.","operationId":"network_validate_api_v1_network_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidacaoOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/paste":{"post":{"tags":["rede"],"summary":"Network Paste","description":"Colar da planilha — o leitor é NOSSO.\n\nO AG Grid Community não tem área de transferência nem seleção de intervalo\n(são do Enterprise), e a decisão que este leitor toma é de DOMÍNIO: o que\naquela coluna da planilha significa. \"Seção\", \"bitola\" e \"S (mm²)\" são a\nmesma coisa; \"Z%\" e \"Vcc\" também. Mapear isso na tela seria a segunda\ndefinição do que o campo é — a mesma razão pela qual o rótulo é servido.","operationId":"network_paste_api_v1_network_paste_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColagemIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColagemOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/columns":{"get":{"tags":["rede"],"summary":"Network Columns","description":"As COLUNAS das grades da rede — a mesma fonte das abas do inspetor.\n\nO que cada campo É (rótulo, unidade, a regra na ajuda), QUEM o define (um\nbarramento não tem seção de transformador) e ONDE ele é gravado são decisões\nde domínio. Servi-las daqui é o que impede a grade de conhecer um\nsubconjunto escrito à mão — que foi como a plaqueta do transformador e o\nR/X por km ficaram fora da única tela em que se editam cinquenta linhas.","operationId":"network_columns_api_v1_network_columns_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColunasGradeOut"}}}}}}},"/api/v1/study/bus":{"post":{"tags":["estudo"],"summary":"Study Bus","operationId":"study_bus_api_v1_study_bus_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/bus/prancha":{"post":{"tags":["estudo"],"summary":"Study Bus Prancha","description":"A PRANCHA DE PROTEÇÃO da barra — a mesma folha do Anexo P do memorial,\npelo mesmo gerador (G182).\n\nO corpo é o do `study/bus`, e é o estudo que monta a folha: a que a tela\nmostra é a que o documento imprime (camadas de leitura, tempo de abertura,\neixo). O unifilar vai SEM o opt-in interativo — o do documento é o do laudo\n(G126-01) — e o carimbo leva o Ei do cenário governante pelo PAR de tempos\n(pleno, reduzido), que é o que reproduz o estudo da barra (G152).","operationId":"study_bus_prancha_api_v1_study_bus_prancha_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PranchaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"a barra não produziu folha"}}}},"/api/v1/study/bus/memorial/secoes":{"get":{"tags":["estudo"],"summary":"Study Bus Memorial Secoes","description":"As SEÇÕES que o memorial da barra pode levar, com o rótulo e o padrão — do\nPRÓPRIO contrato (`IncluirMemorial`). Servidas, não copiadas: a tela monta as\nescolhas daqui, e seção nova no contrato chega à tela sem ninguém editá-la.","operationId":"study_bus_memorial_secoes_api_v1_study_bus_memorial_secoes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SecaoMemorialOut"},"type":"array","title":"Response Study Bus Memorial Secoes Api V1 Study Bus Memorial Secoes Get"}}}}}}},"/api/v1/study/bus/memorial":{"post":{"tags":["estudo"],"summary":"Study Bus Memorial","description":"O MEMORIAL DA BARRA composto no SERVIDOR a partir do MODELO (W8).\n\nAté aqui o memorial da UI nova recebia um formulário — os números do arco e,\nno máximo, o PNG da folha —, e o que o Streamlit compunha em volta dele (o\ncurto, a folha com os ajustes, a seletividade, o ERMS, o diagrama e a\ntabela-mestra) ficava de fora. Aqui o documento nasce do ESTUDO da barra: o\narco pelo PAR de tempos do cenário governante (o mesmo `arco.entrada`), o\ncurto da barra NA REDE (`curto_da_barra`, com o que só existe no ponto único\nem branco), a folha e o resto da mesma cadeia, e o diagrama do laudo\n(G126-01). Barra fora do IEEE 1584 não tem memorial de arco — e diz por quê.","operationId":"study_bus_memorial_api_v1_study_bus_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemorialDaBarraRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"a barra não tem estudo de arco pelo IEEE 1584"}}}},"/api/v1/study/plant/estudos":{"get":{"tags":["estudo"],"summary":"Study Plant Catalogo","description":"As análises que compõem o estudo elétrico da planta, com a norma de cada.\n\nServido, não copiado: a lista é DOMÍNIO (`plant_registry.ESTUDOS_DA_PLANTA`)\ne uma cópia em TS envelheceria em silêncio — a mesma razão pela qual a\nbiblioteca de células e a tabela de montagem de painel são servidas.","operationId":"study_plant_catalogo_api_v1_study_plant_estudos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EstudoCatalogoOut"},"type":"array","title":"Response Study Plant Catalogo Api V1 Study Plant Estudos Get"}}}}}}},"/api/v1/study/geometria-padrao":{"get":{"tags":["estudo"],"summary":"Study Geometria Padrao","description":"As classes da geometria padrão com o padrão do NÚCLEO em cada uma — é o 'em\nbranco' que a tela mostra ao declarar o padrão da planta. Servido, não\ncopiado: repetir o número no TypeScript seria a segunda definição dele.","operationId":"study_geometria_padrao_api_v1_study_geometria_padrao_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ClasseGeometriaOut"},"type":"array","title":"Response Study Geometria Padrao Api V1 Study Geometria Padrao Get"}}}}}}},"/api/v1/study/plant":{"post":{"tags":["estudo"],"summary":"Study Plant","description":"A energia incidente de TODAS as barras da rede, de uma vez.\n\nÉ o estudo por barra repetido pela cadeia que a rede já resolveu — o mesmo\nnúmero, a mesma geometria, o mesmo motor. Serve para ver a planta inteira\nantes de emitir documento; o ZIP com as etiquetas é a rota irmã.","operationId":"study_plant_api_v1_study_plant_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlantaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlantaOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/plant/zip":{"post":{"tags":["estudo"],"summary":"Study Plant Zip","description":"As etiquetas e os memoriais da planta inteira num ZIP — inclusive a folha\ncom todas as etiquetas em A4, que é o que vai para a impressora.","operationId":"study_plant_zip_api_v1_study_plant_zip_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlantaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/zip":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/plant/mestra.csv":{"post":{"tags":["estudo"],"summary":"Study Plant Mestra Csv","description":"A TABELA-MESTRA da planta em CSV (G318 · item 11c) — a mesma lista da tela,\nno layout da âncora externa (as oito colunas do relatório de arco) seguido da\nleitura por ponto. A porteira é a do ZIP: a assinatura e a ciência dos\nalertas da rede (é o mesmo conjunto de números das etiquetas).","operationId":"study_plant_mestra_csv_api_v1_study_plant_mestra_csv_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlantaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/csv":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/plant/indice":{"post":{"tags":["estudo"],"summary":"Study Plant Indice","description":"O índice dos estudos da planta contra a revisão vigente.\n\nÉ uma VISTA de (revisões, estudos): declarar uma revisão ou carimbar um\nestudo muda o índice e não recalcula energia nenhuma. Ela existe porque o\níndice vinha junto do resultado da planta e ficava preso ao estado de\nquando ela foi calculada — declarar a revisão depois deixava os cinco\nestudos pendentes na tela até alguém reestudar tudo.\n\nOs cinco estados e a regra de que SEM revisão declarada nenhum estudo é\ndado como em dia são do núcleo (`plant_registry.indice_de_estudos`).","operationId":"study_plant_indice_api_v1_study_plant_indice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndiceIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndiceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/plant/caderno":{"post":{"tags":["estudo"],"summary":"Study Plant Caderno","description":"O caderno da planta: capa, diagrama, índice das barras e os memoriais.\n\nO caderno da suíte (G149) reúne os memoriais por FERRAMENTA e nasce de\nestudos registrados um a um; este reúne por BARRA e nasce da rede resolvida.\nNuma planta de cinquenta barras a diferença é entre haver documento e não\nhaver: pelo caminho antigo seriam cinquenta estudos avulsos antes de existir\na primeira página.","operationId":"study_plant_caderno_api_v1_study_plant_caderno_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlantaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/plant/curto-seletividade":{"post":{"tags":["estudo"],"summary":"Study Plant Curto Seletividade","description":"O ESTUDO DE CURTO-CIRCUITO E SELETIVIDADE da planta (G335).\n\nO documento de quem entrega o estudo de PROTEÇÃO, e não o de arco: as\ncorrentes de curto de todas as barras, a capacidade de interrupção de cada\ndispositivo e a coordenação barra a barra, da MESMA rede resolvida. Nada é\nrecalculado para o documento: a rede é a do `network/solve`, a capacidade de\ninterrupção é a do `_duty_da_planta` e a seletividade de cada barra é a do\n`study/bus` — os números da tela. O portão é o do caderno (o Termo e a\nciência dos alertas da rede), porque a decisão de emitir é da planta.\n\nO coordenograma só sai onde a seletividade se aplica — duas ou mais proteções\nem série —, e a passada que decide isso é SEM figura (a folha custa 1–2 s por\nbarra); as demais barras ficam nas tabelas e nas conclusões, nomeadas.","operationId":"study_plant_curto_seletividade_api_v1_study_plant_curto_seletividade_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurtoSeletividadeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"409":{"description":"o conjunto de alertas mudou desde a ciência"},"428":{"description":"sem o Termo aceito e a ciência dos alertas"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/devices":{"get":{"tags":["estudo"],"summary":"Study Devices","description":"O catálogo de dispositivos de proteção (`devices_db`), servido do núcleo.\nMarca, modelo, tipo, In e família de curva são DOMÍNIO: copiá-los para o\nTypeScript criaria uma segunda lista para envelhecer sozinha.","operationId":"study_devices_api_v1_study_devices_get","parameters":[{"name":"tipo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"}},{"name":"todos","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Todos"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DispositivoOut"},"title":"Response Study Devices Api V1 Study Devices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/curves":{"get":{"tags":["estudo"],"summary":"Study Curves","description":"As características tempo-corrente ajustáveis (IEC 60255-151 Tab. 1 e\nIEEE C37.112). A tela escolhe daqui: os coeficientes — e quais curvas\nexistem — são do motor de proteção.","operationId":"study_curves_api_v1_study_curves_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CaracteristicaOut"},"type":"array","title":"Response Study Curves Api V1 Study Curves Get"}}}}}}},"/api/v1/study/tcc/manual":{"post":{"tags":["estudo"],"summary":"Tcc Manual","description":"Até quatro curvas sem rede, a falta digitada, a folha pelo MESMO gerador\nda aba e do laudo (`tcc_figure`, modo manual). As curvas são montadas pelo\nnúcleo (`coord_tab.folha_manual`, com as regras da aba) e a folha é referida\nao ponto da falta — é nele que a corrente de arco e a falta franca valem.","operationId":"tcc_manual_api_v1_study_tcc_manual_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TccManualIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TccManualOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/study/tcc/manual/abrir":{"post":{"tags":["estudo"],"summary":"Tcc Manual Abrir","description":"REABRE o estudo antigo no formato manual — o `.json` do \"Salvar projeto\"\nguarda as curvas nas keys da aba do coordenograma (`coord.cfg`), e quem as\ntraduz é o núcleo (`coord_tab.curvas_manuais`). O que não resolve volta em\n`avisos`, com o motivo.","operationId":"tcc_manual_abrir_api_v1_study_tcc_manual_abrir_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConverterIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TccManualAbrirOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report/memorial":{"post":{"tags":["laudo"],"summary":"Report Memorial","description":"O memorial do PONTO ÚNICO. Atrás da assinatura (402) e do GATE DE EMISSÃO\n(C29 · S15) que o app e o Workspace exigem — o Termo e a ciência do conjunto\nde alertas deste ponto, o MESMO do `arc/ciencia` (G338).","operationId":"report_memorial_api_v1_report_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemorialRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"entrada fora do domínio"}}}},"/api/v1/projects":{"get":{"tags":["projetos"],"summary":"List Projects","operationId":"list_projects_api_v1_projects_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectList"}}}}}},"post":{"tags":["projetos"],"summary":"Create Project","operationId":"create_project_api_v1_projects_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectMeta"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{pid}":{"get":{"tags":["projetos"],"summary":"Get Project","operationId":"get_project_api_v1_projects__pid__get","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projetos"],"summary":"Update Project","operationId":"update_project_api_v1_projects__pid__put","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectMeta"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projetos"],"summary":"Delete Project","operationId":"delete_project_api_v1_projects__pid__delete","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/convert":{"post":{"tags":["projetos"],"summary":"Convert Project","description":"Abrir no Workspace um projeto salvo na plataforma.\n\nA conversão é do NÚCLEO (`mb_assembly.projeto_v5_para_workspace`): esta rota\nvalida o arquivo pelo mesmo gate do CRUD e serve o que ele devolveu. Nada de\nidentidade aqui — converter é ler o arquivo que o próprio usuário tem na mão,\ne não toca no banco.","operationId":"convert_project_api_v1_projects_convert_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConverterIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConverterOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/compose":{"post":{"tags":["projetos"],"summary":"Compose Project","description":"O documento do Workspace no formato do \"Salvar projeto\" da plataforma.\n\nO espelho de `projects/convert`, e o que faz o Workspace ser um DOCUMENTO:\naté aqui ele ABRIA o projeto da plataforma e não produzia nenhum — a rede, os\najustes, a geometria por barra e a revisão viviam até o F5.\n\nCompor é DOMÍNIO, não montagem de JSON: onde os ajustes moram para a\nplataforma os ler (`coord.cfg`, nas keys `topo_*`), como a posição da\nproteção é escrita, e o que a EMISSÃO nova deve ser — o arquivo salvo é\nsempre a próxima emissão do que foi aberto, como no botão da plataforma.\nNão toca no banco: guardar é a rota do CRUD, com a identidade dela.","operationId":"compose_project_api_v1_projects_compose_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComporIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComporOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools":{"get":{"tags":["ferramentas"],"summary":"Tools Catalog","description":"As ferramentas da suíte já servidas pela API (as demais seguem na\nplataforma enquanto o strangler não chega nelas).","operationId":"tools_catalog_api_v1_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolList"}}}}}}},"/api/v1/tools/cable/size":{"post":{"tags":["ferramentas"],"summary":"Cable Size","operationId":"cable_size_api_v1_tools_cable_size_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CableIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CableOut"}}}},"422":{"description":"entrada recusada pela NBR 5410 (erro nomeado)"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/cable/memorial":{"post":{"tags":["ferramentas"],"summary":"Cable Memorial","operationId":"cable_memorial_api_v1_tools_cable_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CableMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/loop/seccionamento":{"post":{"tags":["ferramentas"],"summary":"Loop Seccionamento","operationId":"loop_seccionamento_api_v1_tools_loop_seccionamento_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoopIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoopOut"}}}},"422":{"description":"entrada incompleta ou fora da norma"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/loop/memorial":{"post":{"tags":["ferramentas"],"summary":"Loop Memorial","operationId":"loop_memorial_api_v1_tools_loop_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoopMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/loop/catalogo":{"get":{"tags":["ferramentas"],"summary":"Loop Catalogo","description":"Os esquemas de aterramento, os tipos de circuito e as situações do Anexo C\n— do núcleo, para a tela não copiar nenhum (G198).","operationId":"loop_catalogo_api_v1_tools_loop_catalogo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoopCatalogoOut"}}}}}}},"/api/v1/tools/genset/step":{"post":{"tags":["ferramentas"],"summary":"Genset Step","operationId":"genset_step_api_v1_tools_genset_step_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GensetIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GensetOut"}}}},"422":{"description":"entrada incompleta ou fora da norma"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/genset/memorial":{"post":{"tags":["ferramentas"],"summary":"Genset Memorial","description":"O memorial do degrau pelo MESMO gerador do app, com os rótulos e a figura\nque a página lhe dá. A rota mandava `modo` e `cable_material` — chaves que o\ngerador não lê —, e o memorial saía com o modo \"—\", a classe sem rótulo, sem\na linha do cabo e sem o gráfico (G338).","operationId":"genset_memorial_api_v1_tools_genset_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GensetMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/panel/temp-rise":{"post":{"tags":["ferramentas"],"summary":"Panel Temp Rise","operationId":"panel_temp_rise_api_v1_tools_panel_temp_rise_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanelIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanelOut"}}}},"422":{"description":"entrada fora da IEC 60890"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/panel/memorial":{"post":{"tags":["ferramentas"],"summary":"Panel Memorial","description":"O memorial da IEC 60890 pelo MESMO gerador do app, com a geometria e a\nventilação que ele lê de `inputs` — só com a montagem, as dimensões saíam\n0 × 0 × 0 m (G338). Em MT não há memorial, como na plataforma: o resultado\né estimativa e a verificação formal é o ensaio de tipo — a recusa diz isso,\nem vez do `TypeError` do gerador (que só conhece a BT).","operationId":"panel_memorial_api_v1_tools_panel_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanelMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/pfc/study":{"post":{"tags":["ferramentas"],"summary":"Pfc Study Route","operationId":"pfc_study_route_api_v1_tools_pfc_study_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PfcIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PfcOut"}}}},"422":{"description":"entrada fora do domínio"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/pfc/memorial":{"post":{"tags":["ferramentas"],"summary":"Pfc Memorial","operationId":"pfc_memorial_api_v1_tools_pfc_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PfcMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/detuning/espectros":{"get":{"tags":["ferramentas"],"summary":"Detuning Espectros","description":"Os espectros típicos de carga não linear do núcleo (`HARMONIC_PRESETS`) —\na tela escolhe daqui; o espectro real deve vir de medição.","operationId":"detuning_espectros_api_v1_tools_detuning_espectros_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Detuning Espectros Api V1 Tools Detuning Espectros Get"}}}}}}},"/api/v1/tools/detuning/study":{"post":{"tags":["ferramentas"],"summary":"Detuning Study Route","description":"O banco dessintonizado com a comparação de fatores p, as harmônicas no\nbanco e a conformidade, o K-factor do trafo e o filtro sintonizado — e as\nfiguras do MESMO gerador do memorial (`reactive_figures`).","operationId":"detuning_study_route_api_v1_tools_detuning_study_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DessintoniaIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DessintoniaOut"}}}},"422":{"description":"fora do domínio do núcleo (nomeado)"}}}},"/api/v1/tools/detuning/memorial":{"post":{"tags":["ferramentas"],"summary":"Detuning Memorial","description":"O memorial da dessintonia pelo MESMO gerador do app, com as MESMAS figuras\nque a resposta traz.","operationId":"detuning_memorial_api_v1_tools_detuning_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DessintoniaMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/transformer/damage":{"post":{"tags":["ferramentas"],"summary":"Transformer Damage","operationId":"transformer_damage_api_v1_tools_transformer_damage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafoDanoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafoDanoOut"}}}},"422":{"description":"entrada recusada pela C57.109"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/transformer/memorial":{"post":{"tags":["ferramentas"],"summary":"Transformer Memorial","operationId":"transformer_memorial_api_v1_tools_transformer_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafoDanoMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/transformer/catalogo":{"get":{"tags":["ferramentas"],"summary":"Transformer Catalogo","description":"As ligações com o fator de deslocamento, as frequências de falta, os tipos\nconstrutivos, as fases e os dois pontos opcionais — do núcleo, para a tela\nnão copiar nenhum (G199).","operationId":"transformer_catalogo_api_v1_tools_transformer_catalogo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafoCatalogoOut"}}}}}}},"/api/v1/tools/motor/starting":{"post":{"tags":["ferramentas"],"summary":"Motor Starting","operationId":"motor_starting_api_v1_tools_motor_starting_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartidaIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartidaOut"}}}},"422":{"description":"fonte incompleta ou entrada fora do domínio"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/motor/memorial":{"post":{"tags":["ferramentas"],"summary":"Motor Memorial","description":"O memorial da partida pelo MESMO gerador do app. As premissas (motor, fonte,\ncabo, conjugado da carga) o gerador lê de `inputs`, porque o resultado não as\ntraz: só com a identificação, a seção 1 saía com 0 e \"—\" (G338).","operationId":"motor_memorial_api_v1_tools_motor_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartidaMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/motor/cargas":{"get":{"tags":["ferramentas"],"summary":"Motor Cargas","description":"A biblioteca de cargas acionadas do núcleo (`LOAD_LIBRARY`) — a tela\nescolhe daqui e não copia expoente nem conjugado de partida.","operationId":"motor_cargas_api_v1_tools_motor_cargas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CargaPresetOut"},"type":"array","title":"Response Motor Cargas Api V1 Tools Motor Cargas Get"}}}}}}},"/api/v1/tools/motor/starting-time":{"post":{"tags":["ferramentas"],"summary":"Motor Starting Time","description":"A partida DIRETA no tempo (J·dω/dt = T_motor − T_carga, RK4) com o térmico\ndo rotor — e as duas figuras do MESMO gerador do memorial (`motor_figures`):\nredesenhá-las no navegador criaria um gráfico livre para divergir do documento.","operationId":"motor_starting_time_api_v1_tools_motor_starting_time_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartidaTempoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartidaTempoOut"}}}},"422":{"description":"fora do domínio do núcleo (nomeado)"}}}},"/api/v1/tools/motor/starting-time/memorial":{"post":{"tags":["ferramentas"],"summary":"Motor Starting Time Memorial","description":"O memorial da partida no tempo pelo MESMO gerador do app, com as MESMAS\nfiguras que a resposta traz.","operationId":"motor_starting_time_memorial_api_v1_tools_motor_starting_time_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartidaTempoMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/pulling/study":{"post":{"tags":["ferramentas"],"summary":"Pulling Study","operationId":"pulling_study_api_v1_tools_pulling_study_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PuxamentoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PuxamentoOut"}}}},"422":{"description":"rota, cabo ou duto recusados"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/pulling/memorial":{"post":{"tags":["ferramentas"],"summary":"Pulling Memorial","description":"O memorial do puxamento pelo MESMO gerador do app. O número de cabos, a\nrota e o cabo o gerador lê de `inputs`: só com a identificação ele dizia\n\"1 cabo\" ao lado do berço de 3, pulava o travamento e a simultaneidade e\ndeixava a rota vazia (G338).","operationId":"pulling_memorial_api_v1_tools_pulling_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PuxamentoMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/battery/cells":{"get":{"tags":["ferramentas"],"summary":"Battery Cells","description":"A biblioteca de células do núcleo — a UI escolhe daqui em vez de repetir\na lista (que envelheceria em silêncio).","operationId":"battery_cells_api_v1_tools_battery_cells_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Battery Cells Api V1 Tools Battery Cells Get"}}}}}}},"/api/v1/tools/battery/sizing":{"post":{"tags":["ferramentas"],"summary":"Battery Sizing","operationId":"battery_sizing_api_v1_tools_battery_sizing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BateriaIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BateriaOut"}}}},"422":{"description":"ciclo ou célula recusados"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/battery/memorial":{"post":{"tags":["ferramentas"],"summary":"Battery Memorial","operationId":"battery_memorial_api_v1_tools_battery_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BateriaMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/capbank/unbalance":{"post":{"tags":["ferramentas"],"summary":"Capbank Unbalance","operationId":"capbank_unbalance_api_v1_tools_capbank_unbalance_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapBankIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapBankOut"}}}},"422":{"description":"topologia ou arranjo recusados"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/capbank/memorial":{"post":{"tags":["ferramentas"],"summary":"Capbank Memorial","operationId":"capbank_memorial_api_v1_tools_capbank_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapBankMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ct/sizing":{"post":{"tags":["ferramentas"],"summary":"Ct Sizing","operationId":"ct_sizing_api_v1_tools_ct_sizing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcOut"}}}},"422":{"description":"entrada recusada pela IEC 61869-2"},"429":{"description":"teto de chamadas"}}}},"/api/v1/tools/ct/memorial":{"post":{"tags":["ferramentas"],"summary":"Ct Memorial","operationId":"ct_memorial_api_v1_tools_ct_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ct/catalogo":{"get":{"tags":["ferramentas"],"summary":"Ct Catalogo","description":"As listas das verificações avançadas (classes TP, ciclos, funções de\nproteção, classes ANSI) — do núcleo, para a tela não copiar nenhuma.","operationId":"ct_catalogo_api_v1_tools_ct_catalogo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcCatalogoOut"}}}}}}},"/api/v1/tools/ct/tp":{"post":{"tags":["ferramentas"],"summary":"Ct Tp","description":"Classes transitórias TP pela FEM limite Eal (IEC 61869-2 / TR 61869-100).","operationId":"ct_tp_api_v1_tools_ct_tp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcTpIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcTpOut"}}}},"422":{"description":"fora do domínio da IEC 61869-2"}}}},"/api/v1/tools/ct/pr":{"post":{"tags":["ferramentas"],"summary":"Ct Pr","description":"Remanência e classe PR — triagem de pior caso de meio-ciclo.","operationId":"ct_pr_api_v1_tools_ct_pr_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcPrIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcPrOut"}}}},"422":{"description":"fora do domínio"}}}},"/api/v1/tools/ct/ansi":{"post":{"tags":["ferramentas"],"summary":"Ct Ansi","description":"O tradutor IEC ↔ ANSI/IEEE C57.13 (classes C10…C800).","operationId":"ct_ansi_api_v1_tools_ct_ansi_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcAnsiIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcAnsiOut"}}}},"422":{"description":"a direção pede o que ela usa"}}}},"/api/v1/tools/ct/hz":{"post":{"tags":["ferramentas"],"summary":"Ct Hz","description":"Diferencial de alta impedância (PX/PXR): estabilidade, resistor,\nsensibilidade e a tensão de pico na falta interna.","operationId":"ct_hz_api_v1_tools_ct_hz_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcHzIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TcHzOut"}}}},"422":{"description":"fora do domínio"}}}},"/api/v1/tools/caderno":{"post":{"tags":["ferramentas"],"summary":"Caderno Da Planta","description":"O Caderno de Estudos da Planta: capa, índice e os memoriais concatenados.\n\nCada estudo é gerado pelo MESMO handler da rota avulsa — o caderno não\nreimplementa documento nenhum. Estudo cujo corpo o contrato da ferramenta\nrecusa derruba o caderno com 422 NOMEANDO o slug: um caderno a que falta um\nmemorial em silêncio seria um documento que mente sobre a planta.","operationId":"caderno_da_planta_api_v1_tools_caderno_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CadernoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/demand":{"post":{"tags":["fatura"],"summary":"Billing Demand","operationId":"billing_demand_api_v1_billing_demand_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandaIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandaOut"}}}},"422":{"description":"entrada recusada pela REN 1.000"},"429":{"description":"teto de chamadas"}}}},"/api/v1/billing/demand/memorial":{"post":{"tags":["fatura"],"summary":"Billing Demand Memorial","operationId":"billing_demand_memorial_api_v1_billing_demand_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandaMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/recovery":{"post":{"tags":["fatura"],"summary":"Billing Recovery","operationId":"billing_recovery_api_v1_billing_recovery_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperacaoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperacaoOut"}}}},"422":{"description":"entrada recusada pela REN 1.000"},"429":{"description":"teto de chamadas"}}}},"/api/v1/billing/recovery/memorial":{"post":{"tags":["fatura"],"summary":"Billing Recovery Memorial","operationId":"billing_recovery_memorial_api_v1_billing_recovery_memorial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperacaoMemorialIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/ipca":{"get":{"tags":["fatura"],"summary":"Billing Ipca","description":"A série 433 do BCB, buscada AQUI e parseada pelo núcleo. A rede fica na\ncasca de propósito (a regra do `tools_core`), e a indisponibilidade do BCB\nnão pode derrubar o cálculo: `ok=false` volta com o motivo e a tela segue\naceitando a série colada à mão.","operationId":"billing_ipca_api_v1_billing_ipca_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpcaOut"}}}},"429":{"description":"teto de consultas ao BCB"}}}},"/api/v1/audit/layouts":{"get":{"tags":["auditoria"],"summary":"Audit Layouts","description":"Os leiautes de PDF que o núcleo sabe ler. Parser novo sem rótulo não\naparece aqui de propósito: exporia o slug interno ao usuário.","operationId":"audit_layouts_api_v1_audit_layouts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LayoutOut"},"type":"array","title":"Response Audit Layouts Api V1 Audit Layouts Get"}}}}}}},"/api/v1/audit/aviso":{"get":{"tags":["auditoria"],"summary":"Audit Aviso","description":"O aviso de privacidade do envio — o MESMO texto que o Streamlit importa do\nnúcleo (`tools_core/fatura/privacidade.py`). A tela não o reescreve (G260).","operationId":"audit_aviso_api_v1_audit_aviso_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvisoOut"}}}}}}},"/api/v1/audit/invoices":{"post":{"tags":["auditoria"],"summary":"Audit Invoices","operationId":"audit_invoices_api_v1_audit_invoices_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditoriaIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditoriaOut"}}}},"422":{"description":"documento ilegível ou série vazia"},"429":{"description":"teto de chamadas"}}}},"/api/v1/audit/report":{"post":{"tags":["auditoria"],"summary":"Audit Report","description":"O Parecer de Contestação. Recusa a série de DEMONSTRAÇÃO: dado fictício\nnão vira documento assinável — é a mesma regra do modo demo da plataforma.","operationId":"audit_report_api_v1_audit_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditoriaLaudoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"série de demonstração não vira documento"}}}},"/api/v1/audit/vigilancia":{"post":{"tags":["auditoria"],"summary":"Audit Vigilancia","description":"O relatório MENSAL da vigilância da fatura (P5) — o que o ciclo trouxe.\n\nÉ documento de serviço pago, atrás da assinatura como o Parecer, e a série de\ndemonstração também não vira documento. Nada é guardado entre um mês e o\noutro: a série enviada é o estado (G260).","operationId":"audit_vigilancia_api_v1_audit_vigilancia_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VigilanciaIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{}}},"402":{"description":"exige assinatura ativa"},"422":{"description":"série de demonstração, ciclo fora da série ou documento ilegível"}}}},"/api/v1/telemetry/referral":{"post":{"tags":["engajamento"],"summary":"Telemetry Referral","description":"Registra a origem da visita: o que a whitelist aceita vira `mcp_referral`\n(CTA do MCP) ou `referral`, ATRIBUÍDO à conta quando há sessão. Nada aceito é\nresposta, não erro — e diz por quê.","operationId":"telemetry_referral_api_v1_telemetry_referral_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralOut"}}}},"429":{"description":"teto de registros de origem"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/telemetry/owner":{"post":{"tags":["engajamento"],"summary":"Telemetry Owner","description":"Marca ESTA aba como sessão do mantenedor — o `?owner=` da plataforma (G210).\n\nLá o token vive na URL e a marca fica na sessão do Streamlit; aqui não há\nsessão de servidor, então a API confere o token e responde com um cookie\nHttpOnly. Duas consequências de desenho: o cliente não pode se declarar dono\n(quem julga é o núcleo) e o token não fica em armazenamento de JavaScript.\nToken que não confere é RESPOSTA com motivo, não erro — um 4xx daria a quem\nadivinha um sinal melhor do que um 200 que não marca nada.","operationId":"telemetry_owner_api_v1_telemetry_owner_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OwnerIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OwnerOut"}}}},"429":{"description":"teto de marcações de owner"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback":{"post":{"tags":["engajamento"],"summary":"Feedback","description":"Grava o feedback na MESMA tabela do botão da plataforma, com a página\nprefixada por `v2:` — sem isso as duas UIs somariam numa leitura só.","operationId":"feedback_api_v1_feedback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackOut"}}}},"429":{"description":"teto de feedbacks"},"503":{"description":"sem Supabase neste servidor"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sin/pontos":{"get":{"tags":["sin"],"summary":"Sin Pontos","description":"O catálogo do lote: pontos (por `pwf_bus`), anos, patamares nomeados, situações,\no que existe de cada um, as recusas com motivo, a legenda das folhas e a tabela de\ntiers — a UI lê tudo daqui, não escreve nada.","operationId":"sin_pontos_api_v1_sin_pontos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SinCatalogoOut"}}}},"503":{"description":"volume das folhas ausente neste servidor"}}}},"/api/v1/sin/folha":{"get":{"tags":["sin"],"summary":"Sin Folha","description":"A folha (JSON `folha_sin/1` ou o SVG endereçável) de um ponto num cenário e\nnuma situação — o arquivo do lote, byte a byte, com `Cache-Control` de um dia.","operationId":"sin_folha_api_v1_sin_folha_get","parameters":[{"name":"ponto","in":"query","required":true,"schema":{"type":"integer","minimum":1,"description":"barra PWF (`pwf_bus`) do catálogo","title":"Ponto"},"description":"barra PWF (`pwf_bus`) do catálogo"},{"name":"ano","in":"query","required":false,"schema":{"type":"integer","maximum":2040,"minimum":2029,"default":2029,"title":"Ano"}},{"name":"patamar","in":"query","required":false,"schema":{"type":"integer","maximum":8,"minimum":1,"default":1,"title":"Patamar"}},{"name":"situacao","in":"query","required":false,"schema":{"enum":["base","margem_inj","margem_rec","n1"],"type":"string","default":"base","title":"Situacao"}},{"name":"formato","in":"query","required":false,"schema":{"enum":["json","svg"],"type":"string","default":"json","title":"Formato"}},{"name":"variante","in":"query","required":false,"schema":{"enum":["absoluto","delta","geo"],"type":"string","description":"`delta` = o SVG do antes × depois; `geo` = o SVG no layout geográfico com o traçado da EPE (só SVG; o JSON é um só)","default":"absoluto","title":"Variante"},"description":"`delta` = o SVG do antes × depois; `geo` = o SVG no layout geográfico com o traçado da EPE (só SVG; o JSON é um só)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"a situação exige cadastro"},"402":{"description":"a situação exige assinatura"},"404":{"description":"ponto/ano fora do catálogo, folha recusada pelo lote (com motivo) ou não gerada"},"422":{"description":"combinação sem sentido (delta da base, delta em JSON)"},"503":{"description":"volume das folhas ausente neste servidor"}}}},"/api/health":{"get":{"tags":["meta"],"summary":"Health","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Api Health Get"}}}}}}}},"components":{"schemas":{"AbaInspetor":{"properties":{"id":{"type":"string","title":"Id"},"titulo":{"type":"string","title":"Titulo"},"destino":{"type":"string","enum":["rede","geometria","fonte"],"title":"Destino","default":"rede"},"campos":{"items":{"$ref":"#/components/schemas/CampoEditavel"},"type":"array","title":"Campos"},"nota":{"type":"string","title":"Nota","description":"o que a aba DECLARA — de onde veio o número, e contra o que ele se compara","default":""}},"type":"object","required":["id","titulo"],"title":"AbaInspetor","description":"Uma aba do inspetor daquele elemento.\n\n`destino` existe porque as abas NÃO escrevem todas no mesmo lugar: a\ngeometria de arco não é coluna da tabela de barras, é o dicionário por barra\nque o estudo consome, e a fonte não é linha de tabela nenhuma."},"AchadoOut":{"properties":{"regra":{"type":"string","title":"Regra"},"severidade":{"type":"string","title":"Severidade"},"titulo":{"type":"string","title":"Titulo"},"descricao":{"type":"string","title":"Descricao"},"competencias":{"items":{"type":"string"},"type":"array","title":"Competencias"},"fundamento":{"items":{"type":"string"},"type":"array","title":"Fundamento"},"acao":{"type":"string","title":"Acao","default":""},"confianca":{"type":"string","title":"Confianca","default":"confirmado"},"impacto_rs":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impacto Rs"},"impacto_kwh":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impacto Kwh"},"motivo_sem_valor":{"type":"string","title":"Motivo Sem Valor","default":""}},"type":"object","required":["regra","severidade","titulo","descricao"],"title":"AchadoOut","description":"Um achado. `confianca` reflete a FONTE do dado, não a aritmética — e\nimpacto nulo não é impacto zero: é achado sem valor atribuível, com o motivo\nem `motivo_sem_valor`."},"AchadoRede":{"properties":{"ref":{"type":"string","title":"Ref","description":"o elemento — id de barra, `de→para` ou 'fonte'","default":""},"campo":{"type":"string","title":"Campo","default":""},"motivo":{"type":"string","title":"Motivo"}},"type":"object","required":["motivo"],"title":"AchadoRede","description":"Um item da validação ao vivo, COM endereço: aviso sem elemento numa\ntabela de cinquenta linhas é aviso que ninguém usa."},"AlertaCiencia":{"properties":{"codigo":{"type":"string","title":"Codigo"},"severidade":{"type":"string","title":"Severidade"},"texto":{"type":"string","title":"Texto"}},"type":"object","required":["codigo","severidade","texto"],"title":"AlertaCiencia","description":"Um item do conjunto de que a emissão exige ciência."},"AlertaOut":{"properties":{"severidade":{"type":"string","title":"Severidade"},"codigo":{"type":"string","title":"Codigo"},"titulo":{"type":"string","title":"Titulo"},"corpo":{"type":"string","title":"Corpo"},"referencia":{"type":"string","title":"Referencia"}},"type":"object","required":["severidade","codigo","titulo","corpo","referencia"],"title":"AlertaOut","description":"Um item do checklist; `severidade` é o símbolo do núcleo (🚫 · ⚠ · ℹ)."},"AlertaRedeOut":{"properties":{"tipo":{"type":"string","enum":["energia","retaguarda_cega","sem_retaguarda","duty","tempo_abertura"],"title":"Tipo"},"severidade":{"type":"string","enum":["critico","alto","atencao"],"title":"Severidade"},"bus_id":{"type":"string","title":"Bus Id"},"label":{"type":"string","title":"Label"},"valor":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Valor"},"texto":{"type":"string","title":"Texto"}},"type":"object","required":["tipo","severidade","bus_id","label","texto"],"title":"AlertaRedeOut","description":"O que a rede resolvida DENUNCIA, barra a barra.\n\nA plataforma já calculava tudo isto — energia governante, `no_trip` do lado\nde linha, duty do dispositivo — e deixava o engenheiro descobrir abrindo\nbarra por barra. Numa instalação de cinquenta barras isso não é revisão, é\nsorte. Aqui as três verificações que decidem procedimento viram lista.\n\n`severidade` é do domínio, não da tela: 'critico' é o que impede trabalho\nenergizado ou o que deixa uma falta sem quem a elimine; 'alto' é o que exige\nEPI de Tabela 12; 'atencao' é o que precisa de conferência."},"AnexoIvOut":{"properties":{"categoria":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria"},"atpv_min_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Atpv Min Cal"},"acima_da_cat4":{"type":"boolean","title":"Acima Da Cat4","default":false}},"type":"object","title":"AnexoIvOut","description":"A equivalência da categoria de EPI da NR-10, Anexo IV (Portaria MTE\n737/2026, ref. NFPA 70E) — referência CRUZADA, não substitui a Tabela 11/12\nda NBR 17227. Abaixo de 1,2 cal/cm² e a partir de 40 não há categoria (nulos);\n`acima_da_cat4` separa os dois casos."},"ArcFiguresIn":{"properties":{"entrada":{"$ref":"#/components/schemas/ArcRequest"},"sensibilidade":{"type":"boolean","title":"Sensibilidade","description":"curvas T2 (Ei × D, × Ibf, × T)","default":true},"mapa":{"type":"boolean","title":"Mapa","description":"mapa de calor Ei × T × D","default":true},"n":{"type":"integer","maximum":60.0,"minimum":5.0,"title":"N","description":"resolução do mapa (n × n)","default":25}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"ArcFiguresIn","description":"As duas figuras da aba Arc Flash (`arc_figures`, PURO desde a A4/G136).\nO invólucro viaja junto porque as curvas são do MESMO arranjo do estudo —\nvarrer a sensibilidade com outra caixa daria uma figura que não descreve o\ncaso que está na tela."},"ArcFiguresOut":{"properties":{"series":{"items":{"$ref":"#/components/schemas/SerieSensibilidade"},"type":"array","title":"Series"},"atual":{"additionalProperties":true,"type":"object","title":"Atual","description":"o ponto do estudo (D, Ibf, T, Ei)"},"LAS_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Las Mm"},"t_label":{"type":"string","title":"T Label","default":""},"sensibilidade_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sensibilidade Png B64"},"mapa_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mapa Png B64"},"engine":{"type":"string","title":"Engine","default":""},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","title":"ArcFiguresOut","description":"As figuras vêm em PNG do MESMO gerador do app (matplotlib no servidor):\na tela mostra o que o memorial imprime, e não uma segunda versão do gráfico\nredesenhada no navegador."},"ArcLabelIn":{"properties":{"entrada":{"$ref":"#/components/schemas/ArcRequest"},"equipamento":{"type":"string","title":"Equipamento","default":""},"responsavel":{"type":"string","title":"Responsavel","default":""},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaIn"},{"type":"null"}],"description":"o Termo aceito (S15) e o hash do conjunto de alertas de que se deu ciência (C29, `arc/ciencia`) — sem ele a etiqueta não sai (428); com o conjunto mudado, também não (409). A pré-visualização não o pede"},"declaracoes":{"$ref":"#/components/schemas/DeclaracoesPonto","description":"as declarações do checklist que entram no conjunto de alertas"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"ArcLabelIn","description":"A etiqueta ANSI Z535.4 / NBR 17227 §7. Documento assinável: mesmo gate do\nmemorial. A norma manda a etiqueta em PORTUGUÊS (§7.2.3) — não há `lang`."},"ArcRequest":{"properties":{"Voc":{"type":"number","title":"Voc","description":"tensão de operação (kV)"},"Ibf":{"type":"number","title":"Ibf","description":"corrente de falta franca trifásica (kA)"},"G":{"type":"number","title":"G","description":"gap entre condutores (mm)"},"D":{"type":"number","title":"D","description":"distância de trabalho (mm)"},"T_p":{"type":"number","title":"T P","description":"tempo de eliminação na Iarc plena (ms)"},"T_r":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T R","description":"tempo na Iarc reduzida (ms); default = T_p"},"W":{"type":"number","title":"W","default":508.0},"H":{"type":"number","title":"H","default":508.0},"P":{"type":"number","title":"P","default":508.0},"cfg":{"type":"string","title":"Cfg","default":"VCB"},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["Voc","Ibf","G","D","T_p"],"title":"ArcRequest"},"ArcResponse":{"properties":{"Ei_cal":{"type":"number","title":"Ei Cal"},"LAS_mm":{"type":"number","title":"Las Mm"},"Iarc_kA":{"type":"number","title":"Iarc Ka"},"Imin_kA":{"type":"number","title":"Imin Ka"},"Ei_pleno_cal":{"type":"number","title":"Ei Pleno Cal"},"Ei_reduzido_cal":{"type":"number","title":"Ei Reduzido Cal"},"governante":{"type":"string","enum":["pleno","reduzido"],"title":"Governante"},"categoria":{"$ref":"#/components/schemas/Categoria"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"engine":{"type":"string","title":"Engine"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["Ei_cal","LAS_mm","Iarc_kA","Imin_kA","Ei_pleno_cal","Ei_reduzido_cal","governante","categoria","avisos","engine","tier"],"title":"ArcResponse"},"ArcStudyCore":{"properties":{"Ei_cal":{"type":"number","title":"Ei Cal"},"LAS_mm":{"type":"number","title":"Las Mm"},"Iarc_kA":{"type":"number","title":"Iarc Ka"},"Imin_kA":{"type":"number","title":"Imin Ka"},"Ei_pleno_cal":{"type":"number","title":"Ei Pleno Cal"},"Ei_reduzido_cal":{"type":"number","title":"Ei Reduzido Cal"},"governante":{"type":"string","enum":["pleno","reduzido"],"title":"Governante"},"categoria":{"$ref":"#/components/schemas/Categoria"},"epi":{"items":{"type":"string"},"type":"array","title":"Epi","description":"EPI da Tabela 11/12 para a categoria (fonte única)"},"D_rec_mm":{"type":"number","title":"D Rec Mm","description":"distância recomendada da Tabela 3"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos","description":"faixas (validate_raw)"},"coerencia":{"items":{"type":"string"},"type":"array","title":"Coerencia","description":"coerência cruzada (validate_coherence)"},"conservador":{"anyOf":[{"$ref":"#/components/schemas/ConservadorOut"},{"type":"null"}]},"mitigacao":{"anyOf":[{"$ref":"#/components/schemas/MitigacaoOut"},{"type":"null"}],"description":"None quando já está na melhor categoria possível"},"plausibilidade":{"items":{"type":"string"},"type":"array","title":"Plausibilidade","description":"o que o RESULTADO tem de implausível (check_result_plausibility)"},"anexo_iv":{"anyOf":[{"$ref":"#/components/schemas/AnexoIvOut"},{"type":"null"}],"description":"equivalência NR-10 Anexo IV (referência cruzada)"},"nr10_zonas":{"anyOf":[{"$ref":"#/components/schemas/ZonasNr10Out"},{"type":"null"}],"description":"zonas de aproximação NR-10 Anexo II para a tensão"}},"type":"object","required":["Ei_cal","LAS_mm","Iarc_kA","Imin_kA","Ei_pleno_cal","Ei_reduzido_cal","governante","categoria","D_rec_mm"],"title":"ArcStudyCore","description":"O ESTUDO de uma barra pelo IEEE 1584/NBR 17227, na ordem em que a tela\ndecide: o número, a categoria e o EPI que ela impõe, o que a entrada tem de\nincoerente, se o Ei ainda é conservador na distância adotada e o que faria a\ncategoria cair. É o que a aba do Streamlit monta em cinco chamadas ao núcleo\n— aqui vai numa só, para a tela não poder discordar de si mesma."},"ArcStudyOut":{"properties":{"Ei_cal":{"type":"number","title":"Ei Cal"},"LAS_mm":{"type":"number","title":"Las Mm"},"Iarc_kA":{"type":"number","title":"Iarc Ka"},"Imin_kA":{"type":"number","title":"Imin Ka"},"Ei_pleno_cal":{"type":"number","title":"Ei Pleno Cal"},"Ei_reduzido_cal":{"type":"number","title":"Ei Reduzido Cal"},"governante":{"type":"string","enum":["pleno","reduzido"],"title":"Governante"},"categoria":{"$ref":"#/components/schemas/Categoria"},"epi":{"items":{"type":"string"},"type":"array","title":"Epi","description":"EPI da Tabela 11/12 para a categoria (fonte única)"},"D_rec_mm":{"type":"number","title":"D Rec Mm","description":"distância recomendada da Tabela 3"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos","description":"faixas (validate_raw)"},"coerencia":{"items":{"type":"string"},"type":"array","title":"Coerencia","description":"coerência cruzada (validate_coherence)"},"conservador":{"anyOf":[{"$ref":"#/components/schemas/ConservadorOut"},{"type":"null"}]},"mitigacao":{"anyOf":[{"$ref":"#/components/schemas/MitigacaoOut"},{"type":"null"}],"description":"None quando já está na melhor categoria possível"},"plausibilidade":{"items":{"type":"string"},"type":"array","title":"Plausibilidade","description":"o que o RESULTADO tem de implausível (check_result_plausibility)"},"anexo_iv":{"anyOf":[{"$ref":"#/components/schemas/AnexoIvOut"},{"type":"null"}],"description":"equivalência NR-10 Anexo IV (referência cruzada)"},"nr10_zonas":{"anyOf":[{"$ref":"#/components/schemas/ZonasNr10Out"},{"type":"null"}],"description":"zonas de aproximação NR-10 Anexo II para a tensão"},"engine":{"type":"string","title":"Engine"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["Ei_cal","LAS_mm","Iarc_kA","Imin_kA","Ei_pleno_cal","Ei_reduzido_cal","governante","categoria","D_rec_mm","engine","tier"],"title":"ArcStudyOut","description":"O estudo servido pela rota `arc/study`: a composição do núcleo\n(`calc_core.estudo_do_arco`) mais o motor e o nível de acesso."},"ArcoDaBarra":{"properties":{"entrada":{"$ref":"#/components/schemas/ArcRequest"},"estudo":{"anyOf":[{"$ref":"#/components/schemas/ArcStudyCore"},{"type":"null"}]},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo"}},"type":"object","required":["entrada"],"title":"ArcoDaBarra","description":"O DETALHE do arco numa barra da rede resolvida: o `arc/study` com as\nentradas que o estudo da barra usou — a tensão e a falta franca da barra, a\ngeometria dela (própria ou o padrão por tensão) e o PAR de tempos do cenário\nGOVERNANTE (é com o par, e não com o máximo dos dois, que a energia reproduz\na do estudo — G152). Fora do domínio do IEEE 1584 o estudo é nulo e `motivo`\ndiz por quê."},"AreaOut":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"n_barras":{"type":"integer","title":"N Barras"}},"type":"object","required":["id","label","n_barras"],"title":"AreaOut","description":"Um ramo da planta que merece folha própria.\n\nA regra é TOPOLÓGICA: filho da barra de entrada que carrega sub-rede\nprópria. Numa indústria isso cai naturalmente no barramento de cada\ntransformador, mas o critério não é o nome — é o que está pendurado nele."},"ArquivoIn":{"properties":{"nome":{"type":"string","maxLength":200,"title":"Nome"},"conteudo_b64":{"type":"string","title":"Conteudo B64","description":"o arquivo em base64"}},"additionalProperties":false,"type":"object","required":["nome","conteudo_b64"],"title":"ArquivoIn","description":"Um documento da série: o XML da NF3e ou o PDF da fatura, em base64.\n\nVem por JSON e não por multipart porque o resto do contrato já é JSON e o\nconteúdo é pequeno — o teto está em `AUDIT_MAX_BYTES`, e o PDF-bomba já é\nbarrado pelo próprio núcleo (`PDF_MAX_PAGINAS`)."},"AuditoriaIn":{"properties":{"arquivos":{"items":{"$ref":"#/components/schemas/ArquivoIn"},"type":"array","maxItems":60,"title":"Arquivos"},"demonstracao":{"type":"boolean","title":"Demonstracao","description":"a série de DEMONSTRAÇÃO do núcleo (dado fictício)","default":false},"parametros":{"additionalProperties":true,"type":"object","title":"Parametros","description":"as MESMAS chaves da página da plataforma; o que não vier, a regra declara como não executável nomeando o campo"},"grupos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Grupos","description":"None = catálogo inteiro; o filtrado sai como pulado"},"base_aneel":{"type":"boolean","title":"Base Aneel","description":"consultar a base tarifária da ANEEL (e o Fio B) para esta série. Sem ela, T01, T04 e G01–G03 se declaram não executáveis: a rede vive na casca, e a consulta usa cache local de 24 h","default":false},"uc":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Uc","description":"a unidade consumidora auditada quando os documentos trazem mais de uma (o relatório agrupado traz dezenas). A série é de UMA UC: sem a escolha, a resposta é 422 com as UCs em `ucs`"}},"additionalProperties":false,"type":"object","title":"AuditoriaIn"},"AuditoriaLaudoIn":{"properties":{"entrada":{"$ref":"#/components/schemas/AuditoriaIn"},"ident":{"$ref":"#/components/schemas/Ident"},"num_parecer":{"type":"string","title":"Num Parecer","default":""},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19/M1) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"AuditoriaLaudoIn"},"AuditoriaOut":{"properties":{"competencias":{"items":{"type":"string"},"type":"array","title":"Competencias"},"origens":{"items":{"type":"string"},"type":"array","title":"Origens"},"recusados":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Recusados","description":"documentos que NÃO entraram na série, com o motivo — some daqui seria auditar menos do que o usuário pensa"},"achados":{"items":{"$ref":"#/components/schemas/AchadoOut"},"type":"array","title":"Achados"},"resumo":{"additionalProperties":{"type":"integer"},"type":"object","title":"Resumo"},"cobertura":{"$ref":"#/components/schemas/CoberturaOut"},"consolidado":{"$ref":"#/components/schemas/ConsolidadoOut"},"requerimentos":{"items":{"$ref":"#/components/schemas/RequerimentoOut"},"type":"array","title":"Requerimentos"},"sem_providencia":{"type":"integer","title":"Sem Providencia","default":0},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos","description":"avisos da AUDITORIA, sobre a série inteira: troca de código da UC, série que não veio toda do XML (achados como 'provável'), base da ANEEL"},"avisos_ingestao":{"items":{"$ref":"#/components/schemas/AvisoIngestaoOut"},"type":"array","title":"Avisos Ingestao","description":"o que os LEITORES dos documentos declararam não ter lido, por competência e na ordem da série — linha que ficou fora, tributo sem conta, soma que não fecha com o total. Linha que não entrou na fatura sai aqui, como documento que não entrou na série sai em `recusados`"},"demonstracao":{"type":"boolean","title":"Demonstracao","default":false},"uc":{"type":"string","title":"Uc","description":"a UC auditada ('' quando o documento não a traz)","default":""},"ucs":{"items":{"$ref":"#/components/schemas/UcOut"},"type":"array","title":"Ucs","description":"todas as UCs dos documentos — a série auditada é uma delas"},"demandas":{"$ref":"#/components/schemas/DemandasOut"},"base_aneel":{"type":"string","title":"Base Aneel","description":"procedência da base tarifária nesta auditoria: '' (não consultada), 'rede', 'cache', 'cache_velho' ou o motivo de não ter sido obtida","default":""},"norma":{"type":"string","title":"Norma","default":"REN ANEEL 1.000/2021 · PRODIST módulo 5"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","title":"AuditoriaOut","description":"O resultado da auditoria da SÉRIE (nunca da fatura isolada)."},"AvisoIngestaoOut":{"properties":{"competencia":{"type":"string","title":"Competencia","description":"a competência (AAAA-MM) da fatura cujo leitor declarou o aviso"},"aviso":{"type":"string","title":"Aviso","description":"o texto do leitor, sem edição"}},"type":"object","required":["competencia","aviso"],"title":"AvisoIngestaoOut","description":"O que o LEITOR de um documento declarou não ter lido, e por quê.\n\nÉ o par (competência, aviso) que o laudo imprime na seção 2, \"Origem e\nfidelidade probatória dos dados\". Sem ele a F01 diz \"conferência de\nlançamentos incompleta\" e ninguém sabe QUAL linha ficou de fora."},"AvisoOut":{"properties":{"titulo":{"type":"string","title":"Titulo"},"itens":{"items":{"type":"string"},"type":"array","title":"Itens"}},"type":"object","required":["titulo","itens"],"title":"AvisoOut","description":"O aviso de privacidade do envio de fatura — servido do núcleo (G260)."},"BarraOut":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"Vn_kV":{"type":"number","title":"Vn Kv"},"Icc_3ph_kA":{"type":"number","title":"Icc 3Ph Ka"},"Icc_2ph_kA":{"type":"number","title":"Icc 2Ph Ka"},"Icc_1ph_kA":{"type":"number","title":"Icc 1Ph Ka"},"ip_kA":{"type":"number","title":"Ip Ka"},"XR_total":{"type":"number","title":"Xr Total"},"kappa":{"type":"number","title":"Kappa"},"Icc_3ph_min_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Icc 3Ph Min Ka"},"contribuicao_motores_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Contribuicao Motores Ka"}},"additionalProperties":true,"type":"object","required":["id","label","Vn_kV","Icc_3ph_kA","Icc_2ph_kA","Icc_1ph_kA","ip_kA","XR_total","kappa"],"title":"BarraOut"},"BarraSemEstudo":{"properties":{"bus_id":{"type":"string","title":"Bus Id"},"label":{"type":"string","title":"Label"},"Vn_kV":{"type":"number","title":"Vn Kv"},"Ibf_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ibf Ka"},"motivo":{"type":"string","title":"Motivo"}},"type":"object","required":["bus_id","label","Vn_kV","motivo"],"title":"BarraSemEstudo","description":"Barra que ficou de fora, COM o motivo.\n\nSumir com ela faria a planta mentir sobre a cobertura: quem recebe 40\netiquetas de uma instalação de 51 barras precisa saber quais 11 não têm\nestudo e por quê — é a mesma regra das linhas recusadas do lote."},"BateriaIn":{"properties":{"cargas":{"items":{"$ref":"#/components/schemas/CargaCcIn"},"type":"array","maxItems":30,"minItems":1,"title":"Cargas"},"cell":{"type":"string","title":"Cell","description":"modelo da biblioteca do núcleo","default":"GNB_50G05"},"eodv_V":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Eodv V","description":"tensão final por célula"},"temp_C":{"type":"number","title":"Temp C","description":"temperatura da sala (°C)","default":25.0},"design_margin":{"type":"number","exclusiveMinimum":0.0,"title":"Design Margin","description":"margem de projeto","default":1.1},"aging_factor":{"anyOf":[{"type":"number","maximum":1.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Aging Factor","description":"None = o default da química"},"plate_type":{"type":"string","enum":["M","P"],"title":"Plate Type","description":"M = multi-placa","default":"M"},"v_sys_nom":{"type":"number","exclusiveMinimum":0.0,"title":"V Sys Nom","default":125.0},"v_sys_max":{"type":"number","exclusiveMinimum":0.0,"title":"V Sys Max","default":140.0},"v_sys_min":{"type":"number","exclusiveMinimum":0.0,"title":"V Sys Min","default":105.0},"v_charge_per_cell":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"V Charge Per Cell","description":"tensão de carga por célula (flutuação/equalização), que fixa o nº de células em série; nula = o padrão da QUÍMICA da célula (chumbo 2,33 · Ni-Cd 1,50 V/cél, os da plataforma). O 2,33 fixo dava 60 células Ni-Cd num barramento de 125 V, em vez de 93"}},"additionalProperties":false,"type":"object","required":["cargas"],"title":"BateriaIn","description":"Banco de baterias (IEEE 485 / 1115) — `study_battery_sizing`. O ciclo de\ntrabalho é a entrada: a capacidade sai da seção CONTROLADORA, não da soma."},"BateriaMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/BateriaIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"BateriaMemorialIn"},"BateriaOut":{"properties":{"chemistry":{"type":"string","title":"Chemistry"},"cell_model":{"type":"string","title":"Cell Model"},"eodv_V":{"type":"number","title":"Eodv V"},"eodv_per_cell_V":{"type":"number","title":"Eodv Per Cell V"},"temp_C":{"type":"number","title":"Temp C"},"design_margin":{"type":"number","title":"Design Margin"},"aging_factor":{"type":"number","title":"Aging Factor"},"plate_type":{"type":"string","title":"Plate Type"},"k_temp":{"type":"number","title":"K Temp"},"k_design":{"type":"number","title":"K Design"},"k_aging":{"type":"number","title":"K Aging"},"F_uncorr_Ah":{"type":"number","title":"F Uncorr Ah","description":"capacidade da seção controladora, sem correções"},"F_random_Ah":{"type":"number","title":"F Random Ah","description":"parcela da carga aleatória (momentânea)"},"C_req_Ah":{"type":"number","title":"C Req Ah","description":"capacidade exigida, já corrigida"},"C_cell_Ah":{"type":"number","title":"C Cell Ah"},"n_series":{"type":"integer","title":"N Series","description":"células em série pela janela de tensão CC"},"v_charge_per_cell":{"type":"number","title":"V Charge Per Cell","description":"a tensão de carga por célula usada — a informada ou a da química"},"n_strings":{"type":"integer","title":"N Strings"},"C_bank_Ah":{"type":"number","title":"C Bank Ah"},"window_ok":{"type":"boolean","title":"Window Ok","description":"a janela de tensão fecha com esse nº de células"},"ok":{"type":"boolean","title":"Ok"},"controlling_section":{"type":"integer","title":"Controlling Section"},"periodos":{"items":{"$ref":"#/components/schemas/PeriodoOut"},"type":"array","title":"Periodos"},"secoes":{"items":{"$ref":"#/components/schemas/SecaoOut"},"type":"array","title":"Secoes"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"IEEE 485 / 1115"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["chemistry","cell_model","eodv_V","eodv_per_cell_V","temp_C","design_margin","aging_factor","plate_type","k_temp","k_design","k_aging","F_uncorr_Ah","F_random_Ah","C_req_Ah","C_cell_Ah","n_series","v_charge_per_cell","n_strings","C_bank_Ah","window_ok","ok","controlling_section"],"title":"BateriaOut"},"CableIn":{"properties":{"P_W":{"type":"number","exclusiveMinimum":0.0,"title":"P W","description":"potência do circuito (W)"},"V_V":{"type":"number","exclusiveMinimum":0.0,"title":"V V","description":"tensão entre fases (2F/3F) ou fase-neutro (1FN), em V"},"system":{"type":"string","enum":["1FN","2F","3F","3FN"],"title":"System","description":"1FN monofásico · 2F bifásico · 3F trifásico · 3FN com neutro","default":"3F"},"pf":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Pf","description":"fator de potência","default":0.92},"length_m":{"type":"number","exclusiveMinimum":0.0,"title":"Length M","default":20.0},"method":{"type":"string","title":"Method","description":"método de referência (A1…G) — Tab. 33","default":"B1"},"insulation":{"type":"string","enum":["PVC","EPR"],"title":"Insulation","default":"PVC"},"material":{"type":"string","enum":["Cu","Al"],"title":"Material","default":"Cu"},"ambient_C":{"type":"number","title":"Ambient C","description":"temperatura ambiente (°C)","default":30.0},"n_circuits":{"type":"integer","minimum":1.0,"title":"N Circuits","default":1},"arrangement":{"type":"string","title":"Arrangement","description":"agrupamento — Tab. 42","default":"feixe"},"n_parallel":{"type":"integer","minimum":1.0,"title":"N Parallel","description":"condutores por fase","default":1},"circuit_type":{"type":"string","enum":["forca","iluminacao","sinalizacao"],"title":"Circuit Type","default":"forca"},"In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"In A","description":"corrente nominal do disjuntor; None = escolhe"},"curve":{"type":"string","enum":["B","C","D"],"title":"Curve","default":"C"},"familia_protecao":{"anyOf":[{"type":"string","enum":["mcb","mccb","acb","fuse","rele"]},{"type":"null"}],"title":"Familia Protecao","description":"família da proteção do circuito; omitido mantém a régua de MCB"},"icc_board_kA":{"type":"number","minimum":0.0,"title":"Icc Board Ka","description":"Icc presumida no quadro","default":5.0},"with_neutral":{"type":"boolean","title":"With Neutral","default":true},"allow_reduced_neutral":{"type":"boolean","title":"Allow Reduced Neutral","default":false},"max_dv_pct":{"type":"number","exclusiveMinimum":0.0,"title":"Max Dv Pct","description":"queda de tensão admissível (%)","default":4.0},"f_variant":{"type":"string","title":"F Variant","default":"trifolio"},"g_orientation":{"type":"string","title":"G Orientation","default":"horizontal"},"Ib_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ib A","description":"corrente de projeto; None = de P/V/fp"},"hours_year":{"type":"number","maximum":8760.0,"exclusiveMinimum":0.0,"title":"Hours Year","description":"horas/ano sob Ib — contínuo 8760; 1 turno ≈ 2200","default":8760.0},"tariff_kwh":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Tariff Kwh","description":"R$/kWh — sem ela a perda sai em energia, e o estudo cala sobre dinheiro"},"figura":{"type":"boolean","title":"Figura","description":"o gráfico banda × dano, do MESMO gerador do memorial","default":true}},"additionalProperties":false,"type":"object","required":["P_W","V_V"],"title":"CableIn","description":"Dimensionamento de cabo BT (NBR 5410) — os argumentos de\n`tools_core.cable_sizing.size_cable`, com os mesmos defaults."},"CableMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/CableIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"CableMemorialIn"},"CableOut":{"properties":{"Ib_A":{"type":"number","title":"Ib A"},"In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"In A"},"ft":{"type":"number","title":"Ft","description":"fator de temperatura (Tab. 40)"},"fg":{"type":"number","title":"Fg","description":"fator de agrupamento (Tab. 42)"},"Iz_req_A":{"type":"number","title":"Iz Req A"},"section_mm2":{"type":"number","title":"Section Mm2"},"Iz_total_A":{"type":"number","title":"Iz Total A"},"limited_by":{"type":"string","title":"Limited By","description":"ampacidade · queda de tensão · seção mínima…"},"n_loaded":{"type":"integer","title":"N Loaded"},"dv_V":{"type":"number","title":"Dv V"},"dv_pct":{"type":"number","title":"Dv Pct"},"dv_limit_pct":{"type":"number","title":"Dv Limit Pct"},"coord_rule1_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Coord Rule1 Ok","description":"Ib ≤ In ≤ Iz (§5.3.4.1)"},"I2_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I2 A"},"coord_rule2_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Coord Rule2 Ok","description":"I2 ≤ 1,45·Iz"},"neutral_mm2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Neutral Mm2"},"pe_mm2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pe Mm2"},"eletroduto":{"anyOf":[{"$ref":"#/components/schemas/EletrodutoOut"},{"type":"null"}],"description":"None nos métodos sem eletroduto (C/E/F/G)"},"cables_area_mm2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cables Area Mm2"},"occupation_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Occupation Pct"},"occupation_limit_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Occupation Limit Pct"},"icc_min_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Icc Min A"},"imag_max_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Imag Max A"},"mag_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mag Ok"},"k_adiab":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"K Adiab"},"i2t_max_A2s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I2T Max A2S"},"candidatos":{"items":{"$ref":"#/components/schemas/CandidatoOut"},"type":"array","title":"Candidatos"},"perdas":{"anyOf":[{"$ref":"#/components/schemas/PerdasCaboOut"},{"type":"null"}]},"t_dano_s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Dano S","description":"tempo até o dano adiabático à corrente de falta de fim de linha"},"t_dano_adiabatico":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"T Dano Adiabatico","description":"t ≤ 5 s — a validade do critério k²S² (§5.3.5.5.2)"},"figura_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Png B64","description":"banda do MCB × dano k²S² — a figura do memorial"},"complementos_fora":{"items":{"type":"string"},"type":"array","title":"Complementos Fora","description":"COBERTURA: o complemento que não se aplica"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"ABNT NBR 5410:2004"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["Ib_A","ft","fg","Iz_req_A","section_mm2","Iz_total_A","limited_by","n_loaded","dv_V","dv_pct","dv_limit_pct"],"title":"CableOut","description":"O resultado de `size_cable` — os campos que a tela e o memorial imprimem."},"CadernoIn":{"properties":{"estudos":{"items":{"$ref":"#/components/schemas/EstudoDoCaderno"},"type":"array","maxItems":15,"minItems":1,"title":"Estudos"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — desce para os memoriais concatenados, não só para a capa do caderno"},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["estudos"],"title":"CadernoIn","description":"O caderno aceita white-label desde a G150 — e é o caso que mais o exige:\nele CONCATENA os memoriais das ferramentas, então uma marca que valesse só\npara a capa deixaria o miolo com a marca de outro dono. A marca desce para\ncada memorial que entra no caderno, e não apenas para a folha de rosto."},"CamadaFora":{"properties":{"slug":{"type":"string","title":"Slug"},"motivo":{"type":"string","title":"Motivo"}},"type":"object","required":["slug","motivo"],"title":"CamadaFora","description":"Um estudo da suíte que NÃO entrou na folha, e por quê. Camada que some em\nsilêncio faz o engenheiro achar que a verificação foi feita."},"CamadasElemento":{"properties":{"trafo":{"type":"boolean","title":"Trafo","default":false},"motor":{"type":"boolean","title":"Motor","default":false},"cabo":{"type":"boolean","title":"Cabo","default":false}},"additionalProperties":false,"type":"object","title":"CamadasElemento","description":"As camadas que o PRÓPRIO unifilar define para a folha: o dano do\ntransformador que alimenta a barra, a partida dos motores dela e o dano\nk²S² do CABO que chega nela.\n\nAs três juntas são o coordenograma de um motor — a curva de partida dele,\no limite do cabo que o alimenta e a proteção que fica entre os dois — e é\npor isso que inserir um motor pelo diagrama cria também a barra dos\nterminais e o cabo: sem eles, duas dessas camadas não existem.\n\nDesligadas por omissão — a do transformador abre o eixo de tempo até ~1100 s,\ne ligá-la por padrão mudaria em silêncio a forma de toda folha existente."},"CamadasFolha":{"properties":{"arco":{"type":"boolean","title":"Arco","description":"verticais da corrente de arco (plena e reduzida) com os marcadores de operação. Desligada, a folha é de PROTEÇÃO pura — a que vai à concessionária","default":true},"ibf":{"type":"boolean","title":"Ibf","description":"vertical da falta franca da barra","default":true},"ikmin":{"type":"boolean","title":"Ikmin","description":"corrente MÍNIMA (§7.1.2): pickup à direita dela não detecta a falta no fim do circuito","default":true},"ponto_ei":{"type":"boolean","title":"Ponto Ei","description":"★ no ponto de operação, com a energia e a categoria","default":true},"zonas_ei":{"type":"boolean","title":"Zonas Ei","description":"fundo por categoria da NBR 17227 (1,2 · 12 · 40 cal/cm²), com a geometria da própria barra","default":false},"ith":{"type":"boolean","title":"Ith","description":"corrente TÉRMICA equivalente Ith = Ik″·√(m+n) (Cláusula 14) no tempo de eliminação da própria folha. Sem duração não há grandeza térmica: a marca não sai, e `camadas_fora` diz por quê","default":false},"seletividade":{"type":"boolean","title":"Seletividade","description":"as FAIXAS de corrente em que um par adjacente da cadeia reprova a seletividade (IEC 60255-151, margem de 15 %), atrás das curvas. O veredito é o de `seletividade`; par não verificado não tem faixa, e sem par reprovado a camada volta em `camadas_fora` com o motivo","default":false}},"additionalProperties":false,"type":"object","title":"CamadasFolha","description":"As camadas de LEITURA da folha TCC — as mesmas da aba do coordenograma\n(`coord_show_*`). Nenhuma muda número: o tempo, a energia e o ponto de\noperação continuam calculados com elas desligadas (G128). A omissão é a\nfolha que esta rota sempre desenhou."},"CampoEditavel":{"properties":{"nome":{"type":"string","title":"Nome"},"rotulo":{"type":"string","title":"Rotulo","default":""},"unidade":{"type":"string","title":"Unidade","default":""},"ajuda":{"type":"string","title":"Ajuda","default":""},"valor":{"anyOf":[{},{"type":"null"}],"title":"Valor"},"tipo":{"type":"string","title":"Tipo","default":"number"},"opcoes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Opcoes"}},"type":"object","required":["nome"],"title":"CampoEditavel","description":"Um campo que aquele elemento aceita — só os do TIPO dele (trafo dá\nSn/Vcc/Pcu, cabo dá seção/material/comprimento).\n\nRótulo, unidade e ajuda vêm do NÚCLEO: `Vcc_pct` é o nome da coluna, não o\nque se lê numa folha de dados, e \"o X/R prevalece sobre o Pcu\" é regra do\nmotor. Traduzi-los na tela seria a segunda definição do que o campo é."},"CandidatoOut":{"properties":{"section_mm2":{"type":"number","title":"Section Mm2"},"Iz_base_A":{"type":"number","title":"Iz Base A"},"Iz_total_A":{"type":"number","title":"Iz Total A"},"ok_ampacity":{"type":"boolean","title":"Ok Ampacity"},"dv_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dv Pct"},"ok_dv":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ok Dv"}},"type":"object","required":["section_mm2","Iz_base_A","Iz_total_A","ok_ampacity"],"title":"CandidatoOut"},"CandidatoTcOut":{"properties":{"Ip_A":{"type":"number","title":"Ip A"},"ratio":{"type":"string","title":"Ratio"},"Rct_ohm":{"type":"number","title":"Rct Ohm"},"Zbn_ohm":{"type":"number","title":"Zbn Ohm"},"ALF_eff":{"type":"number","title":"Alf Eff","description":"fator-limite EFETIVO com a carga real"},"Ip_min_A":{"type":"number","title":"Ip Min A","description":"primária mínima para não saturar"},"vsat_req_V":{"type":"number","title":"Vsat Req V"},"vsat_avail_V":{"type":"number","title":"Vsat Avail V"},"sat_ok":{"type":"boolean","title":"Sat Ok"},"load_ok":{"type":"boolean","title":"Load Ok"},"ok":{"type":"boolean","title":"Ok"}},"type":"object","required":["Ip_A","ratio","Rct_ohm","Zbn_ohm","ALF_eff","Ip_min_A","vsat_req_V","vsat_avail_V","sat_ok","load_ok","ok"],"title":"CandidatoTcOut"},"CapBankIn":{"properties":{"topology":{"type":"string","enum":["y_iso","y_gnd","double_y","h_bridge"],"title":"Topology","default":"y_iso"},"S":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"S","description":"grupos em série por fase"},"P":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"P","description":"unidades em paralelo por grupo"},"v_lim":{"type":"number","exclusiveMinimum":1.0,"title":"V Lim","description":"limite de sobretensão na unidade (pu)","default":1.1},"alarm_margin":{"type":"number","minimum":0.0,"title":"Alarm Margin","description":"margem do alarme, em unidades","default":0.5},"f_max":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"F Max","description":"unidades perdidas a tabelar"},"Q_kvar":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Q Kvar","description":"para a corrente de fase"},"V_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"V Kv"},"ct_ratio":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Ct Ratio","description":"relação do TC do neutro"}},"additionalProperties":false,"type":"object","required":["S","P"],"title":"CapBankIn","description":"Proteção de banco de capacitores (IEEE C37.99) — `study_capbank`.\nDesequilíbrio 60/61 por perda de unidades, nas quatro topologias."},"CapBankMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/CapBankIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"CapBankMemorialIn"},"CapBankOut":{"properties":{"topology":{"type":"string","title":"Topology"},"S":{"type":"integer","title":"S"},"P":{"type":"integer","title":"P"},"Q_kvar":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Q Kvar"},"V_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"V Kv"},"ct_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ct Ratio"},"i_phase_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Phase A"},"v_lim":{"type":"number","title":"V Lim"},"f_alarm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"F Alarm","description":"unidades perdidas no alarme"},"f_trip":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"F Trip","description":"f* contínuo em que v_lim é atingido"},"f_trip_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"F Trip Int","description":"o INTEIRO em que se atua"},"alarm_setting_pu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Alarm Setting Pu"},"trip_setting_pu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Trip Setting Pu"},"tabela":{"items":{"$ref":"#/components/schemas/DesequilibrioOut"},"type":"array","title":"Tabela"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"IEEE C37.99"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["topology","S","P","v_lim"],"title":"CapBankOut"},"CaracteristicaOut":{"properties":{"nome":{"type":"string","title":"Nome"},"norma":{"type":"string","title":"Norma","description":"IEC ou IEEE"}},"type":"object","required":["nome","norma"],"title":"CaracteristicaOut","description":"Uma característica tempo-corrente AJUSTÁVEL do `protection_engine` — o que\nse escolhe no relé, não a curva desenhada (essa é a `CurvaOut` do plano I×t).\nA lista é do NÚCLEO (IEC 60255-151 Tab. 1 e IEEE C37.112) e é SERVIDA:\nrepeti-la no TypeScript criaria uma segunda lista para envelhecer sozinha."},"CargaCcIn":{"properties":{"desc":{"type":"string","maxLength":60,"title":"Desc","default":"Carga"},"kind":{"type":"string","enum":["continuous","noncontinuous","momentary"],"title":"Kind","default":"continuous"},"current_A":{"type":"number","exclusiveMinimum":0.0,"title":"Current A","description":"corrente da carga (A)"},"t_start_min":{"type":"number","minimum":0.0,"title":"T Start Min","description":"início, em minutos","default":0.0},"duration_min":{"type":"number","exclusiveMinimum":0.0,"title":"Duration Min","description":"duração (min)"}},"additionalProperties":false,"type":"object","required":["current_A","duration_min"],"title":"CargaCcIn","description":"Uma carga do ciclo de trabalho (o `DutyLoad` do núcleo de baterias)."},"CargaIn":{"properties":{"name":{"type":"string","maxLength":60,"title":"Name","default":"Carga"},"P_kW":{"type":"number","exclusiveMinimum":0.0,"title":"P Kw","description":"potência ativa (kW)"},"fp":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Fp","description":"fator de potência atual"},"h_dia":{"type":"number","maximum":24.0,"exclusiveMinimum":0.0,"title":"H Dia","description":"horas por dia","default":8.0}},"additionalProperties":false,"type":"object","required":["P_kW","fp"],"title":"CargaIn","description":"Uma carga do levantamento (o `Load` do núcleo da energia reativa)."},"CargaPontosIn":{"properties":{"speed":{"items":{"type":"number"},"type":"array","title":"Speed","description":"rotação em pu de n_n, ascendente"},"torque":{"items":{"type":"number"},"type":"array","title":"Torque","description":"conjugado resistente em ×Cn"}},"additionalProperties":false,"type":"object","required":["speed","torque"],"title":"CargaPontosIn"},"CargaPresetOut":{"properties":{"nome":{"type":"string","title":"Nome"},"expoente":{"type":"number","title":"Expoente"},"partida_pu":{"type":"number","title":"Partida Pu"}},"type":"object","required":["nome","expoente","partida_pu"],"title":"CargaPresetOut","description":"Uma carga da biblioteca do núcleo (`LOAD_LIBRARY`): T_L ∝ nˣ a partir\ndo conjugado de partida."},"Categoria":{"properties":{"n":{"type":"integer","title":"N","description":"1 = abaixo do LAS · 2 = Tab. 11 · 3 = Tab. 12 · 5 = proibido"},"label":{"type":"string","title":"Label"},"faixa":{"type":"string","title":"Faixa"}},"type":"object","required":["n","label","faixa"],"title":"Categoria"},"Cenario":{"properties":{"role":{"type":"string","title":"Role"},"device_label":{"type":"string","title":"Device Label"},"Ei_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei Cal"},"AFB_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Afb Mm"},"t_pleno_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Pleno Ms"},"t_reduzido_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Reduzido Ms"},"capped_2s":{"type":"boolean","title":"Capped 2S","default":false},"no_trip":{"type":"boolean","title":"No Trip","default":false},"fora_escopo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fora Escopo","description":"acima de 15 kV: por que este lado não tem número do IEEE 1584"},"t_max_adotado":{"anyOf":[{"type":"string","enum":["reduzida_cega","plena_cega","sem_atuacao","fusivel_abaixo_I3"]},{"type":"null"}],"title":"T Max Adotado","description":"este lado está no tempo MÁXIMO (IEEE 1584:2018 §6.9.1) porque a proteção não vê uma das correntes de arco (G313): reduzida_cega · plena_cega; ou nenhuma delas, com a opção `t_sem_atuacao_ms` ligada (G329): sem_atuacao; fusivel_abaixo_I3 reservado. NÃO é o `capped_2s`, que diz que a proteção levaria MAIS"},"t_max_adotado_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Max Adotado Ms","description":"o tempo adotado (ms) quando `t_max_adotado` está marcado: 2000 nas correntes cegas do D1, o `t_sem_atuacao_ms` declarado no sem_atuacao (G329) — é o número que o memorial e a etiqueta imprimem"},"estado":{"type":"string","enum":["ok","tempo_limitado","tempo_maximo_adotado","sem_atuacao","sem_protecao","fora_escopo"],"title":"Estado","description":"o estado deste lado, derivado no núcleo (um só lugar: `topo_lineside.estado_do_cenario`) — a tela e o laudo leem daqui","default":"ok"},"regiao_plena":{"anyOf":[{"type":"string","enum":["instantanea","curto_retardo","inversa","nao_atua","banda"]},{"type":"null"}],"title":"Regiao Plena","description":"a região da curva em que o dispositivo elimina a corrente de arco PLENA, na borda lenta da banda — a mesma régua do tempo (G330): instantanea · curto_retardo · inversa · nao_atua (a corrente que ele não vê) · banda (fusível e MCB). Nulo sem dispositivo ou acima de 15 kV"},"regiao_reduzida":{"anyOf":[{"type":"string","enum":["instantanea","curto_retardo","inversa","nao_atua","banda"]},{"type":"null"}],"title":"Regiao Reduzida","description":"o mesmo para a corrente de arco REDUZIDA"},"ibf_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ibf Ka","description":"a corrente de falta franca com que ESTA energia foi calculada (kA) — a máxima da barra, ou a mínima quando o pior caso a escolheu (G333)"},"ibf_base":{"anyOf":[{"type":"string","enum":["max","min","nominal"]},{"type":"null"}],"title":"Ibf Base","description":"com a opção `base_ibf='pior_caso'`, de qual modo veio a corrente: max · min; nulo sem a opção (a máxima de sempre)"},"rotulo_posicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rotulo Posicao","description":"ONDE está a proteção deste lado (G317): a entrada da própria barra, o alimentador dela, a proteção de uma barra acima ou a retaguarda N níveis acima — a frase curta, pela barra que a proteção alimenta"},"posicao_niveis":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Posicao Niveis","description":"quantos níveis acima da barra estudada fica a barra que a proteção deste lado alimenta (0 = a própria barra)"},"corrente_governante":{"anyOf":[{"type":"string","enum":["plena","reduzida"]},{"type":"null"}],"title":"Corrente Governante","description":"qual corrente de arco dá o Ei deste lado (G318): plena · reduzida"}},"type":"object","required":["role","device_label"],"title":"Cenario"},"CenarioOut":{"properties":{"contratada_kw":{"type":"number","title":"Contratada Kw"},"total_rs":{"type":"number","title":"Total Rs"},"demanda_rs":{"type":"number","title":"Demanda Rs"},"ultrapassagem_rs":{"type":"number","title":"Ultrapassagem Rs"},"geracao_rs":{"type":"number","title":"Geracao Rs"},"meses_com_ultrapassagem":{"type":"integer","title":"Meses Com Ultrapassagem"}},"type":"object","required":["contratada_kw","total_rs","demanda_rs","ultrapassagem_rs","geracao_rs","meses_com_ultrapassagem"],"title":"CenarioOut"},"ChecklistIn":{"properties":{"lineside_avaliado":{"type":"boolean","title":"Lineside Avaliado","description":"o engenheiro declarou ter avaliado o lado line-side (CK-01)","default":false},"t_coordenograma_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Coordenograma Ms","description":"tempo de eliminação lido no coordenograma (CK-03)"},"curto_calculado":{"type":"boolean","title":"Curto Calculado","description":"há estudo de curto para este ponto (CK-02)","default":false},"lote_rodado":{"type":"boolean","title":"Lote Rodado","description":"houve estudo em lote (CK-06)","default":false},"entrada":{"$ref":"#/components/schemas/ArcRequest"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"ChecklistIn","description":"O checklist normativo IA-1 (CK-01..CK-08) sobre um estudo já calculado.\n\nOs `getattr(ss, …)` que o núcleo consulta viram campos EXPLÍCITOS\n(`DeclaracoesPonto`): cada um é algo que o engenheiro fez (ou não) fora desta\ntela. **Ausente = não feito**, que é o default seguro — item não verificado\nnunca pode sair como conforme, a mesma regra da cobertura da auditoria de\nfaturas. É também o corpo do `arc/ciencia` (G338)."},"ChecklistOut":{"properties":{"alertas":{"items":{"$ref":"#/components/schemas/AlertaOut"},"type":"array","title":"Alertas"},"n_bloqueio":{"type":"integer","title":"N Bloqueio","description":"quantos 🚫 — o que impede emitir o laudo"},"n_atencao":{"type":"integer","title":"N Atencao"},"n_info":{"type":"integer","title":"N Info"},"engine":{"type":"string","title":"Engine","default":""},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["alertas","n_bloqueio","n_atencao","n_info"],"title":"ChecklistOut"},"CicloDemandaIn":{"properties":{"competencia":{"type":"string","title":"Competencia","description":"AAAA-MM"},"dm_kw":{"type":"number","minimum":0.0,"title":"Dm Kw","description":"demanda medida (kW)"}},"additionalProperties":false,"type":"object","required":["competencia","dm_kw"],"title":"CicloDemandaIn","description":"Um ciclo do histórico, com a demanda medida COMO LIDA na fatura — o\nacréscimo de perdas é configuração própria (D10) e é aplicado pelo núcleo."},"CienciaIn":{"properties":{"termo_aceito":{"type":"boolean","title":"Termo Aceito","default":false},"hash":{"type":"string","title":"Hash","default":""}},"additionalProperties":false,"type":"object","title":"CienciaIn","description":"O que a tela declara ao pedir um documento assinável: o Termo aceito e o\n`hash` do conjunto de alertas de que deu ciência."},"CienciaOut":{"properties":{"termo":{"type":"string","title":"Termo"},"alertas":{"items":{"$ref":"#/components/schemas/AlertaCiencia"},"type":"array","title":"Alertas"},"hash":{"type":"string","title":"Hash"},"n":{"type":"integer","title":"N","default":0}},"type":"object","required":["termo","hash"],"title":"CienciaOut","description":"O GATE DE EMISSÃO (C29 · W8): o Termo e o CONJUNTO de alertas em vigor, com a\nimpressão dele. A ciência vale para o conjunto em que foi dada — mudou o\nconjunto, muda o `hash`, e ela cai. Conjunto vazio ainda exige o Termo."},"CircuitoMotorIn":{"properties":{"r1":{"type":"number","exclusiveMinimum":0.0,"title":"R1","description":"estator"},"x1":{"type":"number","exclusiveMinimum":0.0,"title":"X1","description":"estator"},"r2_s0":{"type":"number","exclusiveMinimum":0.0,"title":"R2 S0","description":"rotor em regime"},"r2_s1":{"type":"number","exclusiveMinimum":0.0,"title":"R2 S1","description":"rotor bloqueado"},"x2_s0":{"type":"number","exclusiveMinimum":0.0,"title":"X2 S0"},"x2_s1":{"type":"number","exclusiveMinimum":0.0,"title":"X2 S1"},"xm":{"type":"number","exclusiveMinimum":0.0,"title":"Xm","description":"magnetização"}},"additionalProperties":false,"type":"object","required":["r1","x1","r2_s0","r2_s1","x2_s0","x2_s1","xm"],"title":"CircuitoMotorIn","description":"O circuito equivalente da FOLHA DE DADOS (Ω/fase, equivalente Y), com o\nrotor variável entre regime (s=0) e bloqueado (s=1) — Zocholl."},"ClasseGeometriaOut":{"properties":{"classe":{"type":"string","title":"Classe"},"rotulo":{"type":"string","title":"Rotulo"},"faixa":{"type":"string","title":"Faixa"},"geometria":{"additionalProperties":true,"type":"object","title":"Geometria"}},"type":"object","required":["classe","rotulo","faixa","geometria"],"title":"ClasseGeometriaOut","description":"Uma classe da geometria padrão com o padrão do NÚCLEO nela — o 'em branco'\nque a tela oferece ao declarar o padrão da planta."},"CoberturaOut":{"properties":{"executadas":{"items":{"type":"string"},"type":"array","title":"Executadas"},"puladas":{"additionalProperties":{"type":"string"},"type":"object","title":"Puladas"},"total":{"type":"integer","title":"Total","default":0},"pct":{"type":"number","title":"Pct","default":0.0}},"type":"object","title":"CoberturaOut","description":"COBERTURA é parte do resultado: regra pulada declara o motivo, porque\n'não verificado' nunca pode ser lido como 'conforme'."},"ColagemIn":{"properties":{"texto":{"type":"string","maxLength":500000,"title":"Texto","description":"o bloco colado (TSV, CSV ou ';')"},"tipo":{"type":"string","enum":["barras","elementos","motores","protecoes"],"title":"Tipo","description":"onde as linhas entram. 'protecoes' (G323) lê a grade de proteções — onde (na barra / no elemento), barra ou origem, destino, rótulo, modelo do catálogo (o id ou '<fabricante> — <modelo>'), característica e os ajustes — e devolve cada linha na forma `Protecao`","default":"barras"}},"additionalProperties":false,"type":"object","required":["texto"],"title":"ColagemIn","description":"O que veio da planilha do cliente. O engenheiro CHEGA com ela: a\ninstalação já existe num .xlsx que alguém montou, e redigitar cinquenta\nlinhas é o motivo número um para a ferramenta não ser usada."},"ColagemOut":{"properties":{"linhas":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Linhas","description":"a linha da tabela de barras/elementos/motores, ou a `Protecao` (kind, ref, label, model_id, color, ajustes) no tipo 'protecoes'"},"colunas":{"additionalProperties":{"type":"string"},"type":"object","title":"Colunas","description":"cabeçalho da planilha → campo da plataforma"},"ignoradas":{"items":{"type":"string"},"type":"array","title":"Ignoradas","description":"colunas que o leitor não reconheceu — planilha de cliente vem com patrimônio, fornecedor e observação, e é o usuário que sabe se o que ficou de fora importava. Nunca descartadas em silêncio"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"}},"type":"object","title":"ColagemOut","description":"As linhas já na FORMA da plataforma, e o que o leitor entendeu."},"ColunaGrade":{"properties":{"nome":{"type":"string","title":"Nome"},"rotulo":{"type":"string","title":"Rotulo","default":""},"unidade":{"type":"string","title":"Unidade","default":""},"ajuda":{"type":"string","title":"Ajuda","default":""},"tipo":{"type":"string","title":"Tipo","default":"num"},"opcoes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Opcoes"},"destino":{"type":"string","title":"Destino","description":"ONDE o valor é gravado: a geometria de arco não é coluna da tabela de barras, é o dicionário por barra que o estudo consome","default":"rede"},"tipos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tipos","description":"os tipos de elemento que DEFINEM o campo — a célula de uma linha de outro tipo não aceita valor. None = vale para toda linha"},"chave":{"type":"boolean","title":"Chave","description":"coluna de identidade (id, de/para)","default":false},"vazio_e_ausencia":{"type":"boolean","title":"Vazio E Ausencia","description":"célula em BRANCO é AUSÊNCIA, não zero: é ela que faz o motor cair no padrão, e escrever 0 seria declarar um dado que ninguém deu","default":false}},"type":"object","required":["nome"],"title":"ColunaGrade","description":"Uma coluna da GRADE — servida pelo núcleo, como os rótulos do inspetor.\n\nQuem edita cinquenta linhas de uma vez usa a tabela, e ela conhecia um\nsubconjunto escrito à mão do outro lado: o barramento não tinha campo\nnenhum, e o que decide o número (plaqueta, R/X por km, sequência zero,\ntensão atribuída do motor, geometria de arco) só era alcançável um elemento\npor vez. Duas listas do que um campo é envelhecem em silêncio."},"ColunasGradeOut":{"properties":{"barras":{"items":{"$ref":"#/components/schemas/ColunaGrade"},"type":"array","title":"Barras"},"elementos":{"items":{"$ref":"#/components/schemas/ColunaGrade"},"type":"array","title":"Elementos"},"motores":{"items":{"$ref":"#/components/schemas/ColunaGrade"},"type":"array","title":"Motores"},"fonte":{"items":{"$ref":"#/components/schemas/ColunaGrade"},"type":"array","title":"Fonte"},"geradores":{"items":{"$ref":"#/components/schemas/ColunaGrade"},"type":"array","title":"Geradores"},"cenarios":{"items":{"$ref":"#/components/schemas/ColunaGrade"},"type":"array","title":"Cenarios"}},"type":"object","required":["barras","elementos","motores","fonte"],"title":"ColunasGradeOut","description":"As tabelas da rede, de uma vez — é catálogo, não resultado."},"ComporIn":{"properties":{"base":{"additionalProperties":true,"type":"object","title":"Base","description":"o projeto v5 que o `network/solve` devolveu — é de lá que sai o bloco `mb`, montado pelo núcleo a partir da MESMA rede que produziu o resultado"},"anterior":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Anterior","description":"o projeto ABERTO: o que esta interface não entende (ferramentas da suíte, white-label, campos do estudo de arco) viaja INTACTO, e a emissão nova é a próxima da dele"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria"},"revisoes":{"items":{"$ref":"#/components/schemas/Revisao"},"type":"array","title":"Revisoes"},"estudos":{"additionalProperties":{"$ref":"#/components/schemas/EstudoDaPlanta"},"type":"object","title":"Estudos"},"ident":{"additionalProperties":{"type":"string"},"type":"object","title":"Ident"},"parametros":{"anyOf":[{"$ref":"#/components/schemas/ParametrosDoEstudo"},{"type":"null"}],"description":"vão para o `coord.cfg` nas keys da aba do coordenograma; ausentes, o que o projeto aberto trazia fica como estava"},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["base"],"title":"ComporIn","description":"O documento do Workspace, para virar o `.json` do 'Salvar projeto'."},"ComporOut":{"properties":{"projeto":{"additionalProperties":true,"type":"object","title":"Projeto"},"emissao":{"$ref":"#/components/schemas/EmissaoDocumento"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos","description":"o que o gate do CRUD apontou e não impede salvar"}},"type":"object","required":["projeto","emissao"],"title":"ComporOut","description":"O projeto v5 pronto para salvar — e o que o gate teria a dizer sobre ele."},"ConservadorOut":{"properties":{"D_rec":{"type":"number","title":"D Rec"},"Ei_conservative":{"type":"number","title":"Ei Conservative","description":"Ei recalculado na distância normativa"},"pct_over":{"type":"number","title":"Pct Over"}},"type":"object","required":["D_rec","Ei_conservative","pct_over"],"title":"ConservadorOut","description":"Lado ALTO da NC-01 (`calc_core.d_conservative_check`): a distância de\ntrabalho passou da recomendada além da tolerância, então o Ei calculado em D\nDEIXA de ser conservador. `None` dentro da tolerância — o lado baixo (o\ntrabalhador perto demais) sai como aviso de coerência."},"ConsolidadoOut":{"properties":{"administrativo_rs":{"type":"number","title":"Administrativo Rs","default":0.0},"judicial_rs":{"type":"number","title":"Judicial Rs","default":0.0},"credito_kwh":{"type":"number","title":"Credito Kwh","default":0.0},"administrativo_por_confianca":{"additionalProperties":{"type":"number"},"type":"object","title":"Administrativo Por Confianca"},"favoraveis_rs":{"type":"number","title":"Favoraveis Rs","default":0.0},"quantificados":{"type":"integer","title":"Quantificados","default":0},"nao_quantificados":{"type":"integer","title":"Nao Quantificados","default":0},"sem_valor":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","title":"Sem Valor"}},"type":"object","title":"ConsolidadoOut","description":"Os subtotais SEGREGADOS: administrativo e judicial não se somam (são\npedidos diferentes, em foros diferentes), e o crédito em kWh é denominação\nalternativa, não parcela."},"ConverterIn":{"properties":{"projeto":{"additionalProperties":true,"type":"object","title":"Projeto","description":"o .json do 'Salvar projeto'"}},"additionalProperties":false,"type":"object","required":["projeto"],"title":"ConverterIn","description":"O projeto `.json` da plataforma (schema v1–5) a converter."},"ConverterOut":{"properties":{"rede":{"additionalProperties":true,"type":"object","title":"Rede","description":"barras, elementos, motores e fonte"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes","description":"cada uma com os AJUSTES do projeto quando ele os traz; sem ajuste declarado o campo é nulo, e quem resolve In e curva é o modelo"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria","description":"geometria de arco POR BARRA (o painel 📐 da plataforma); sem ela o estudo cai no padrão por tensão e G e D mudam a energia"},"emissao":{"$ref":"#/components/schemas/EmissaoDocumento","description":"a emissão do DOCUMENTO (C32) — quantas vezes ele já saiu"},"revisoes":{"items":{"$ref":"#/components/schemas/Revisao"},"type":"array","title":"Revisoes","description":"as revisões da INSTALAÇÃO (G155), na ordem em que foram escritas: a vigente é a ÚLTIMA, e é contra ela que o índice mede se cada estudo está em dia"},"estudos":{"additionalProperties":{"$ref":"#/components/schemas/EstudoDaPlanta"},"type":"object","title":"Estudos","description":"o estudo da planta e a revisão contra a qual cada um foi feito"},"ident":{"additionalProperties":{"type":"string"},"type":"object","title":"Ident","description":"equipamento, instalação e responsável técnico"},"origem":{"type":"string","title":"Origem","description":"procedência do MODELO: `mcp:montar_rede` diz que a rede foi montada por IA a partir dos documentos do engenheiro — quem confere é ele, e a conferência não acontece se a tela não disser de onde veio","default":""},"parametros":{"$ref":"#/components/schemas/ParametrosDoEstudo","description":"o tempo de abertura do disjuntor, as camadas da folha e o modo manutenção que o projeto guarda no `coord.cfg` — sem eles a energia e a folha daqui não seriam as da plataforma"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos","description":"COBERTURA: o que o arquivo trazia e não virou estado, com o motivo"}},"type":"object","required":["rede"],"title":"ConverterOut","description":"O projeto v5 traduzido para o estado com que o Workspace abre.\n\nExiste porque abrir um projeto é DOMÍNIO, não leitura de JSON: o que uma\nposição de proteção significa, qual é a identidade dela e onde moram os\najustes são decisões da plataforma. A UI nova fazia essa leitura em\nTypeScript e acreditava que \"os ajustes não existem no v5\" — eles existem,\ndentro de `coord.cfg`, e o preço de não os ler é o do G151: o disjuntor cai\nno catálogo e a energia incidente muda de fator."},"CorrentesOut":{"properties":{"Icc_3ph_kA":{"type":"number","title":"Icc 3Ph Ka"},"Icc_2ph_kA":{"type":"number","title":"Icc 2Ph Ka"},"Icc_1ph_kA":{"type":"number","title":"Icc 1Ph Ka"},"Icc_2ph_terra_kA":{"type":"number","title":"Icc 2Ph Terra Ka","description":"bifásica-terra, corrente de FASE (§7.4)"},"Icc_terra_kA":{"type":"number","title":"Icc Terra Ka","description":"bifásica-terra, corrente de TERRA"},"ip_kA":{"type":"number","title":"Ip Ka"},"ip_1ph_kA":{"type":"number","title":"Ip 1Ph Ka"},"ip_2ph_terra_kA":{"type":"number","title":"Ip 2Ph Terra Ka"},"Iassi_kA":{"type":"number","title":"Iassi Ka","description":"RMS assimétrica — convenção ANSI/IEEE C37.010"},"Ith_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ith Ka","description":"Cláusula 14; None sem duração informada"},"XR_total":{"type":"number","title":"Xr Total"},"kappa":{"type":"number","title":"Kappa"},"m_dc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"M Dc","description":"parcela CC do Ith; só existe com duração informada"},"n_ac":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"N Ac"},"c_factor":{"type":"number","title":"C Factor"},"I_motor_kA":{"type":"number","title":"I Motor Ka","default":0.0}},"type":"object","required":["Icc_3ph_kA","Icc_2ph_kA","Icc_1ph_kA","Icc_2ph_terra_kA","Icc_terra_kA","ip_kA","ip_1ph_kA","ip_2ph_terra_kA","Iassi_kA","XR_total","kappa","c_factor"],"title":"CorrentesOut","description":"A família de correntes de UM procedimento (§7.1.2 máxima OU mínima)."},"CriterioOut":{"properties":{"chave":{"type":"string","title":"Chave"},"rotulo":{"type":"string","title":"Rotulo"},"valor":{"type":"string","title":"Valor"}},"type":"object","required":["chave","rotulo","valor"],"title":"CriterioOut","description":"Um CRITÉRIO DO ESTUDO declarado (G318): o que decide o número e não aparece\nna linha de cada barra — regras, corrente da energia, fontes, c, K_T, cabos,\nbanda, tempo máximo e abertura. A tela e o memorial leem a mesma lista."},"CurtoSeletividadeRequest":{"properties":{"rede":{"$ref":"#/components/schemas/NetworkRequest"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes"},"ajustes":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Ajustes","description":"por placement_key, como em study/bus"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria","description":"por id de barra"},"cb_open_ms":{"type":"number","maximum":500.0,"minimum":0.0,"title":"Cb Open Ms","description":"tempo de abertura do disjuntor (ms) — o MESMO da folha: a etiqueta tem de dizer a energia que o estudo da barra diz","default":0.0},"t_sem_atuacao_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Sem Atuacao Ms","description":"OPÇÃO, desligada por padrão (nulo): o tempo máximo de arco, em ms, adotado na barra cuja proteção EXISTE e não vê nenhuma das correntes de arco (G329). Com ela a barra ganha energia no tempo declarado — sem somar abertura — e a marca `t_max_adotado = sem_atuacao`; sem ela, sai sem número, como sempre. Maior que zero e no máximo 2000 ms (IEEE 1584:2018 §6.9.1), senão 422. A barra sem proteção declarada continua sem número, e o alerta `retaguarda_cega` permanece"},"banda_padrao":{"anyOf":[{"type":"string","const":"norma"},{"type":"null"}],"title":"Banda Padrao","description":"a banda padrão do disparador de curto-circuito — a MESMA opção do estudo da barra (ver `StudyRequest.banda_padrao`): a etiqueta tem de dizer a energia que a folha diz. Nulo = a curva nominal"},"base_ibf":{"anyOf":[{"type":"string","enum":["pior_caso","nominal"]},{"type":"null"}],"title":"Base Ibf","description":"OPÇÃO, desligada por padrão (nulo = a corrente de curto MÁXIMA, como sempre): 'pior_caso' calcula cada barra também com a corrente MÍNIMA (IEC 60909-0 §7.1.2, ou a fonte mínima que a concessionária declara em `fonte.Icc_min_kA`) e fica com a que dá MAIS energia no cenário governante (NBR 17227 §4.2.1.3 e §5.1.12). O modo que governou sai em `ibf_base` de cada cenário; a corrente mínima que não pôde ser calculada é 422. 'nominal' (G328) calcula a energia com a corrente de TENSÃO NOMINAL — c = 1,0 no ponto de falta, sem K_T e os cabos em `t_cabo_C` (nulo = a temperatura de cada cabo): a base dos estudos feitos em tensão nominal, FORA do §7.1.2, dita no laudo; a máxima da norma segue dimensionando a barra"},"t_cabo_C":{"anyOf":[{"type":"number","maximum":250.0,"minimum":-40.0},{"type":"null"}],"title":"T Cabo C","description":"a temperatura dos cabos (°C) na base `nominal` de Ibf (G328): nula = a temperatura declarada em cada cabo. Só vale com `base_ibf='nominal'`"},"barras":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Barras","description":"subconjunto de barras; None = todas as que têm estudo"},"geometria_padrao":{"$ref":"#/components/schemas/GeometriaPadrao","description":"a geometria padrão da PLANTA por classe de tensão (bt até 1 kV · mt acima), PARCIAL sobre o padrão do núcleo; a geometria da barra prevalece. Entra na energia de todas as barras da classe"},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaIn"},{"type":"null"}],"description":"o Termo aceito e o hash do conjunto de alertas de que se deu ciência — sem ele o documento assinável não sai (428); com o conjunto mudado, também não (409)"},"projeto":{"type":"string","title":"Projeto","default":""},"responsavel":{"type":"string","title":"Responsavel","default":""},"revisoes":{"items":{"$ref":"#/components/schemas/Revisao"},"type":"array","title":"Revisoes","description":"histórico de revisões da planta, na ordem em que foi escrito; a vigente é a ÚLTIMA"},"estudos":{"additionalProperties":{"$ref":"#/components/schemas/EstudoDaPlanta"},"type":"object","title":"Estudos","description":"por slug de ESTUDOS_DA_PLANTA (arco, curto, coordenograma, seletividade, partida): a revisão contra a qual cada um foi feito"},"emissao":{"anyOf":[{"$ref":"#/components/schemas/EmissaoDocumento"},{"type":"null"}],"description":"a emissão do DOCUMENTO (C32) — a que o arquivo carrega HOJE, não a próxima: o número impresso e o arquivo guardado têm de dizer a mesma coisa. Ausente, a capa declara que o documento nunca foi emitido, em vez de inventar um número"},"origem":{"type":"string","title":"Origem","description":"procedência do MODELO (`_gerado_por`): rede montada por IA a partir dos documentos do engenheiro — a conferência é dele, e o documento registra de onde veio o modelo","default":""},"memoria_curto":{"type":"boolean","title":"Memoria Curto","description":"o Anexo A: a memória de cálculo do curto-circuito (equações), por barra","default":false},"camadas_elemento":{"$ref":"#/components/schemas/CamadasElemento","description":"as curvas de elemento no coordenograma (dano do trafo, partida do motor, dano do cabo) — as mesmas escolhas da tela de proteção"}},"type":"object","required":["rede"],"title":"CurtoSeletividadeRequest","description":"O ESTUDO DE CURTO-CIRCUITO E SELETIVIDADE da planta (G335): o corpo do\ncaderno — a mesma rede, as mesmas proteções e o mesmo portão de emissão —,\nmais o que só este documento escolhe. As camadas de ARCO da folha não são\nescolha: saem sempre desligadas, porque o documento não trata de arco."},"CurvaManual":{"properties":{"label":{"type":"string","title":"Label","default":""},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"},"volt_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Volt Kv"},"ajustes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Ajustes"}},"additionalProperties":false,"type":"object","title":"CurvaManual","description":"Uma curva do coordenograma MANUAL — uma proteção SEM topologia: o modelo\ndo banco (nulo = relé digitado), a tensão em que opera e os ajustes com as\nchaves da proteção do Workspace. Fusível e MCB não levam ajuste: são de\nBANDA, e o modelo (calibre) é a curva."},"CurvaMotorIn":{"properties":{"In_A":{"type":"number","exclusiveMinimum":0.0,"title":"In A","description":"corrente nominal de placa — a base das correntes"},"speed_pu":{"items":{"type":"number"},"type":"array","title":"Speed Pu"},"torque_pu":{"items":{"type":"number"},"type":"array","title":"Torque Pu"},"current_pu":{"items":{"type":"number"},"type":"array","title":"Current Pu"},"v_red_pu":{"anyOf":[{"type":"number","exclusiveMaximum":1.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"V Red Pu"},"speed_red_pu":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Speed Red Pu"},"torque_red_pu":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Torque Red Pu"},"current_red_pu":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Current Red Pu"}},"additionalProperties":false,"type":"object","required":["In_A","speed_pu","torque_pu","current_pu"],"title":"CurvaMotorIn","description":"A curva CERTIFICADA do fabricante por pontos — rotação em pu de n_s,\nconjugado em ×Cn e corrente em ×In, a tensão plena. A de tensão REDUZIDA é\nopcional e vem inteira (tensão e os três vetores) ou não vem."},"CurvaOut":{"properties":{"nome":{"type":"string","title":"Nome"},"I_kA":{"items":{"type":"number"},"type":"array","title":"I Ka"},"t_ms":{"items":{"type":"number"},"type":"array","title":"T Ms"}},"type":"object","required":["nome","I_kA","t_ms"],"title":"CurvaOut","description":"Uma curva no plano I×t do coordenograma: corrente em kA, tempo em ms\n(a MESMA convenção da folha TCC da plataforma)."},"DeclaracoesPonto":{"properties":{"lineside_avaliado":{"type":"boolean","title":"Lineside Avaliado","description":"o engenheiro declarou ter avaliado o lado line-side (CK-01)","default":false},"t_coordenograma_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Coordenograma Ms","description":"tempo de eliminação lido no coordenograma (CK-03)"},"curto_calculado":{"type":"boolean","title":"Curto Calculado","description":"há estudo de curto para este ponto (CK-02)","default":false},"lote_rodado":{"type":"boolean","title":"Lote Rodado","description":"houve estudo em lote (CK-06)","default":false}},"additionalProperties":false,"type":"object","title":"DeclaracoesPonto","description":"O que o engenheiro declarou ter feito FORA desta tela — os `getattr(ss, …)`\nque o checklist IA-1 consulta, como campos EXPLÍCITOS. **Ausente = não\nfeito**, que é o default seguro: item não verificado nunca sai como conforme."},"DeeplinkOut":{"properties":{"semeado":{"type":"boolean","title":"Semeado"},"parcial":{"type":"boolean","title":"Parcial","description":"handoff do curto: o trio do equipamento não veio","default":false},"Voc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Voc"},"Ibf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ibf"},"G":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"G"},"D":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"D"},"T_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T P"},"T_r":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T R"},"cfg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cfg"},"W":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"W"},"H":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"H"},"P":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P"},"motivo":{"type":"string","title":"Motivo","description":"por que não houve semeadura","default":""}},"type":"object","required":["semeado"],"title":"DeeplinkOut","description":"O handoff de estado do CTA (IA → tela) já passado pelo gate do NÚCLEO\n(`calc_core.parse_deeplink`). Existe para que a vitrine /v2 não reimplemente\na validação em TypeScript: a URL é input hostil e a regra é semear o\nconjunto INTEIRO ou nada — semear metade poria na tela um Ei diferente do\nque a IA mostrou.\n\n`semeado=False` é resposta legítima, não erro: ou a URL não trazia cálculo,\nou o conjunto foi recusado. `parcial=True` é o handoff do CURTO, que conhece\na falta mas não o painel: o trio gap/D/tempo NÃO vem, os campos ficam nulos\n(a tela mantém o próprio valor) e a UI tem de pedir a conferência."},"DemandaIn":{"properties":{"ciclos":{"items":{"$ref":"#/components/schemas/CicloDemandaIn"},"type":"array","minItems":1,"title":"Ciclos"},"demand_rs_kw":{"type":"number","exclusiveMinimum":0.0,"title":"Demand Rs Kw","description":"tarifa de demanda (R$/kW), sem tributos"},"over_rs_kw":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Over Rs Kw","description":"tarifa de ultrapassagem; None = 2 × a de demanda"},"gen_rs_kw":{"type":"number","minimum":0.0,"title":"Gen Rs Kw","description":"tarifa da parcela de geração","default":0.0},"loss_mode":{"type":"string","enum":["nenhum","multiplicacao","divisao"],"title":"Loss Mode","default":"nenhum"},"loss_p":{"type":"number","exclusiveMaximum":1.0,"minimum":0.0,"title":"Loss P","default":0.025},"accessor":{"type":"string","enum":["consumidor","geradora","distribuidora"],"title":"Accessor","default":"consumidor"},"tol_pct":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Tol Pct","description":"None = a do art. 301 pelo acessante"},"d_ger_kw":{"type":"number","minimum":0.0,"title":"D Ger Kw","description":"demanda da central geradora","default":0.0},"current_kw":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Current Kw","description":"contratada de hoje; None = sem comparação"},"step_kw":{"type":"number","exclusiveMinimum":0.0,"title":"Step Kw","default":1.0},"band_pct":{"type":"number","exclusiveMinimum":0.0,"title":"Band Pct","description":"faixa de indiferença (%)","default":1.0},"primary_reading":{"type":"string","enum":["faturada","medida"],"title":"Primary Reading","default":"faturada"}},"additionalProperties":false,"type":"object","required":["ciclos","demand_rs_kw"],"title":"DemandaIn"},"DemandaMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/DemandaIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19/M1) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"DemandaMemorialIn"},"DemandaMesOut":{"properties":{"competencia":{"type":"string","title":"Competencia"},"demanda_kw":{"additionalProperties":{"type":"number"},"type":"object","title":"Demanda Kw"},"maxima":{"type":"number","title":"Maxima"},"origem":{"type":"string","title":"Origem","description":"'medido' (registrador da própria competência) ou 'historico_impresso' (tabela impressa numa fatura)"},"documento":{"type":"string","title":"Documento","description":"competência da fatura que trouxe o mês","default":""}},"type":"object","required":["competencia","maxima","origem"],"title":"DemandaMesOut","description":"Um mês de demanda para o contrato (CALC-22): por posto e a maior entre eles."},"DemandaOut":{"properties":{"recommended_kw":{"type":"number","title":"Recommended Kw"},"readings_agree":{"type":"boolean","title":"Readings Agree"},"divergence_rs":{"type":"number","title":"Divergence Rs"},"leituras":{"additionalProperties":{"$ref":"#/components/schemas/LeituraOut"},"type":"object","title":"Leituras"},"series_kw":{"items":{"type":"number"},"type":"array","title":"Series Kw","description":"as medidas já com o fator de perdas"},"labels":{"items":{"type":"string"},"type":"array","title":"Labels"},"tol_pct":{"type":"number","title":"Tol Pct"},"gen_parcel_zeroed":{"type":"boolean","title":"Gen Parcel Zeroed"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"norma":{"type":"string","title":"Norma","default":"REN ANEEL 1.000/2021 (arts. 294, 301)"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["recommended_kw","readings_agree","divergence_rs","leituras","series_kw","labels","tol_pct","gen_parcel_zeroed"],"title":"DemandaOut","description":"As DUAS leituras e a recomendação. Quando elas discordam não há número\núnico: o laudo apresenta a faixa e requer a memória de cálculo da parcela de\ngeração — por isso `readings_agree` viaja no contrato."},"DemandasOut":{"properties":{"meses":{"items":{"$ref":"#/components/schemas/DemandaMesOut"},"type":"array","title":"Meses"},"com_perdas":{"type":"boolean","title":"Com Perdas","default":false},"contratada_kw":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Contratada Kw","description":"a contratada, quando é a mesma em toda a série"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"}},"type":"object","title":"DemandasOut","description":"Os meses de demanda da série auditada, prontos para a demanda contratada.\n\nUma lista não mistura demanda com e sem perdas: `com_perdas` diz qual é, e\ncom perdas o fator de perdas da CALC-22 (D10) é 'nenhum'."},"DesequilibrioOut":{"properties":{"f":{"type":"integer","title":"F","description":"unidades perdidas no grupo"},"v_group_pu":{"type":"number","title":"V Group Pu","description":"sobretensão no grupo remanescente"},"v_neutral_pu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"V Neutral Pu","description":"deslocamento de neutro; None onde ele não existe — na estrela ATERRADA e na ponte H o sinal é de corrente, não de tensão"},"signal_pu":{"type":"number","title":"Signal Pu"},"signal_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Signal A"},"signal_A_sec":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Signal A Sec","description":"no secundário do TC"},"exceeds_110":{"type":"boolean","title":"Exceeds 110"},"notes":{"items":{"type":"string"},"type":"array","title":"Notes"}},"type":"object","required":["f","v_group_pu","signal_pu","exceeds_110"],"title":"DesequilibrioOut"},"DessintoniaIn":{"properties":{"Q_kvar":{"type":"number","exclusiveMinimum":0.0,"title":"Q Kvar","description":"banco (kVAr)"},"V_kV":{"type":"number","exclusiveMinimum":0.0,"title":"V Kv","description":"tensão (kV)"},"f_Hz":{"type":"number","enum":[50.0,60.0],"title":"F Hz","default":60.0},"p_pct":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"P Pct","description":"fator de dessintonia (%)"},"L_mH":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"L Mh","description":"indutância do reator (mH)"},"Scc_MVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Scc Mva","description":"Scc no ponto do banco"},"Un_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Un Kv","description":"Un de placa do capacitor — V_cap ≤ 1,10·Un"},"xr_rede":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Xr Rede","description":"X/R da rede — amortece o pico de ressonância"},"q_reator":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Q Reator","description":"Q (X/R) do reator"},"espectro":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Espectro","description":"espectro típico da biblioteca (`tools/detuning/espectros`)"},"I1_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"I1 A","description":"corrente fundamental da carga não linear"},"filtro":{"anyOf":[{"$ref":"#/components/schemas/FiltroIn"},{"type":"null"}]},"figuras":{"type":"boolean","title":"Figuras","description":"as figuras do MESMO gerador do memorial","default":true}},"additionalProperties":false,"type":"object","required":["Q_kvar","V_kV"],"title":"DessintoniaIn","description":"Dessintonia de banco de capacitores (reator anti-harmônicas) —\n`reactive.study_detuning`. O reator entra pelo fator p OU pela indutância (um\ndefine o outro); o Scc no ponto habilita a ressonância paralela, as\nharmônicas no banco e as varreduras |Z(h)|."},"DessintoniaMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/DessintoniaIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"DessintoniaMemorialIn"},"DessintoniaOut":{"properties":{"p_pct":{"type":"number","title":"P Pct"},"f_tune_Hz":{"type":"number","title":"F Tune Hz"},"n_tune":{"type":"number","title":"N Tune"},"XC_ohm":{"type":"number","title":"Xc Ohm"},"XL_ohm":{"type":"number","title":"Xl Ohm"},"L_mH":{"type":"number","title":"L Mh"},"V_cap_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"V Cap Kv","description":"nula quando a física não fecha (a resposta diz por quê)"},"I_cap_A":{"type":"number","title":"I Cap A"},"I_fund_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Fund A"},"Q_rede_kvar":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Q Rede Kvar","description":"o reativo EFETIVO entregue à rede"},"Q_cap_nom_kvar":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Q Cap Nom Kvar"},"Un_sugerida_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Un Sugerida Kv"},"Un_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Un Kv"},"V_cap_pu_Un":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"V Cap Pu Un"},"Un_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Un Ok"},"h_par_sem":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"H Par Sem"},"f_par_sem":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"F Par Sem"},"h_par_com":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"H Par Com"},"f_par_com":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"F Par Com"},"plausivel":{"type":"boolean","title":"Plausivel"},"comparacao":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Comparacao"},"harmonicas":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Harmonicas"},"conformidade":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Conformidade"},"kfactor":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Kfactor"},"filtro":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Filtro"},"filtro_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Filtro Ok","description":"nula sem a varredura (sem o Scc no ponto)"},"filtro_amplifica":{"items":{"type":"number"},"type":"array","title":"Filtro Amplifica","description":"as ordens características que o filtro AMPLIFICA"},"complementos_fora":{"items":{"type":"string"},"type":"array","title":"Complementos Fora","description":"COBERTURA: o que foi pedido e não se aplica"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"figura_unifilar_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Unifilar B64"},"figura_impedancia_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Impedancia B64"},"figura_harmonicas_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Harmonicas B64"},"figura_filtro_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Filtro B64"},"norma":{"type":"string","title":"Norma","default":"IEC 60831/60871 · IEEE 519 · PRODIST 8"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["p_pct","f_tune_Hz","n_tune","XC_ohm","XL_ohm","L_mH","I_cap_A","plausivel"],"title":"DessintoniaOut"},"DiffResumoOut":{"properties":{"hv_label":{"type":"string","title":"Hv Label"},"lv_label":{"type":"string","title":"Lv Label"},"Sn_MVA":{"type":"number","title":"Sn Mva"},"U1_kV":{"type":"number","title":"U1 Kv"},"U2_kV":{"type":"number","title":"U2 Kv"},"IrW1_A":{"type":"number","title":"Irw1 A"},"IrW2_A":{"type":"number","title":"Irw2 A"},"I1_A":{"type":"number","title":"I1 A"},"I2_A":{"type":"number","title":"I2 A"},"xr":{"type":"number","title":"Xr"},"rem1":{"type":"number","title":"Rem1"},"rem2":{"type":"number","title":"Rem2"},"S":{"type":"number","title":"S"},"xb1":{"type":"number","title":"Xb1"},"xb2":{"type":"number","title":"Xb2"},"low_op":{"type":"number","title":"Low Op"},"end1":{"type":"number","title":"End1"},"slope2":{"type":"number","title":"Slope2"},"end2":{"type":"number","title":"End2"},"slope3":{"type":"number","title":"Slope3"},"charac_mode":{"type":"string","title":"Charac Mode"},"bias_mode":{"type":"string","title":"Bias Mode"},"Ik1_pu":{"type":"number","title":"Ik1 Pu"},"Ik2_pu":{"type":"number","title":"Ik2 Pu"},"fa_avail_hv":{"type":"number","title":"Fa Avail Hv"},"fa_avail_lv":{"type":"number","title":"Fa Avail Lv"},"fa_req_hv":{"type":"number","title":"Fa Req Hv"},"fa_req_lv":{"type":"number","title":"Fa Req Lv"},"fa_ratio":{"type":"number","title":"Fa Ratio"},"idiff_max_pu":{"type":"number","title":"Idiff Max Pu"},"t_idiff_max_ms":{"type":"number","title":"T Idiff Max Ms"},"margin_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margin Min","description":"mín(Iop/Idiff) pelo fasor; None = sem corrente diferencial"},"t_margin_min_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Margin Min Ms"},"margin_min_mag":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margin Min Mag"},"stable":{"type":"boolean","title":"Stable"},"ratio_min_hv":{"type":"number","title":"Ratio Min Hv"},"ratio_min_lv":{"type":"number","title":"Ratio Min Lv"},"ts_hv_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts Hv Ms"},"ts_lv_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts Lv Ms"},"mismatch":{"type":"number","title":"Mismatch"},"matched":{"type":"boolean","title":"Matched"}},"type":"object","required":["hv_label","lv_label","Sn_MVA","U1_kV","U2_kV","IrW1_A","IrW2_A","I1_A","I2_A","xr","rem1","rem2","S","xb1","xb2","low_op","end1","slope2","end2","slope3","charac_mode","bias_mode","Ik1_pu","Ik2_pu","fa_avail_hv","fa_avail_lv","fa_req_hv","fa_req_lv","fa_ratio","idiff_max_pu","t_idiff_max_ms","stable","ratio_min_hv","ratio_min_lv","mismatch","matched"],"title":"DiffResumoOut","description":"O 87T de dois núcleos — o MESMO resumo que o memorial imprime\n(`study_diferencial_87t`)."},"DispositivoOut":{"properties":{"id":{"type":"string","title":"Id"},"fabricante":{"type":"string","title":"Fabricante","default":""},"modelo":{"type":"string","title":"Modelo","default":""},"tipo":{"type":"string","title":"Tipo","default":""},"In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"In A"},"curva":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Curva","description":"característica ajustável do dispositivo; NULA em fusível e MCB (são de BANDA: o tempo sai da própria banda) e no transformador, que não é proteção"},"nome_exibicao":{"type":"string","title":"Nome Exibicao","description":"'<fabricante> — <modelo>' (protection_engine.device_display_name): é ESTA string que o projeto v5 grava em `mb.devices.modelo`, e é por ela que a plataforma reencontra o dispositivo ao abrir o arquivo","default":""},"Icu_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Icu Ka","description":"a capacidade de interrupção nominal do catálogo (kA) — a MESMA que o duty por dispositivo compara com a corrente da barra. NULA no relé (quem interrompe é o disjuntor que ele comanda) e onde o banco não declara (topo_lineside.icu_do_dispositivo)"},"familia":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Familia","description":"relay | cb_adj | fuse | mcb (coord_tab.device_family); NULA no que não é proteção (o transformador está no catálogo pela curva de dano). Diz à UI se há ajuste a oferecer: fusível e MCB têm característica FIXA, e exibi-los com curva, Ir e TMS prometeria um ajuste que não existe."},"faixas":{"anyOf":[{"$ref":"#/components/schemas/FaixasDispositivo"},{"type":"null"}],"description":"as faixas e os TAPS do fabricante (coord_tab.faixas_do_dispositivo). NULA em fusível e MCB, que são de banda. É o que permite à tela oferecer exatamente o que o equipamento aceita, em vez de um campo livre onde o trip tem posições"}},"type":"object","required":["id"],"title":"DispositivoOut","description":"Um dispositivo do `devices_db` — o catálogo é do NÚCLEO e é SERVIDO; a\nUI escolhe daqui em vez de repetir marca, modelo e curva."},"DutyDispositivo":{"properties":{"idx":{"type":"integer","title":"Idx"},"label":{"type":"string","title":"Label"},"kind":{"type":"string","title":"Kind","default":""},"barra":{"type":"string","title":"Barra","description":"a barra onde a proteção OPERA","default":""},"I_ref_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Ref Ka","description":"max(Ik3″, Ik1″) — o §7.5 aponta a fase-terra quando Z0 < Z1"},"Icu_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Icu Ka"},"status":{"type":"string","enum":["ok","inadequado","nao_avaliavel"],"title":"Status","default":"nao_avaliavel"},"margem_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margem Pct","description":"(Icu − I_ref)/Icu × 100 — negativa = inadequada"},"motivo":{"type":"string","title":"Motivo","default":""}},"type":"object","required":["idx","label"],"title":"DutyDispositivo","description":"A adequação de UMA proteção posicionada (IEC 60947-2): a corrente que ela\nteria de interromper — na barra onde ELA opera — contra a capacidade dela.\n\nA tabela-mestra julgava só a proteção de ENTRADA de cada barra; o\nalimentador que sai do quadro geral nunca era avaliado. O que não se pode\navaliar vem com o `motivo`, nunca como \"ok\"."},"ElementoCliqueIn":{"properties":{"rede":{"$ref":"#/components/schemas/NetworkRequest"},"elem_id":{"type":"string","title":"Elem Id","description":"`bus:<id>` · `edge:<de>→<para>` · `mot:<barra>` · `ger:<barra>` · `dev:<n>` · `src`"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria","description":"a geometria de arco já declarada, por barra — a aba do painel 📐 mostra a PRÓPRIA da barra quando existe, e o padrão por tensão quando não, dizendo qual é qual"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes","description":"as proteções da instalação, na ordem do desenho: é ela que faz `dev:<n>` resolver (G305). Sem a lista, clicar numa proteção não selecionava nada — e ainda desmarcava a barra em estudo"},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["rede","elem_id"],"title":"ElementoCliqueIn","description":"Um clique no unifilar: a rede atual e o `data-elem` do símbolo tocado.\n\nQuem resolve o id contra a rede é o NÚCLEO (`unifilar_ops`), não o\nnavegador — id que não existe na rede de agora não seleciona nada, e aresta\nparalela colapsada no desenho é recusada em vez de editar a errada."},"ElementoCliqueOut":{"properties":{"selecionado":{"type":"boolean","title":"Selecionado"},"tipo":{"type":"string","title":"Tipo","default":""},"abas":{"items":{"$ref":"#/components/schemas/AbaInspetor"},"type":"array","title":"Abas","description":"o inspetor por ABAS (W1): cada uma com os campos do tipo, o destino da gravação e o que ela declara"},"rotulo":{"type":"string","title":"Rotulo","default":""},"linha":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linha","description":"índice da linha na tabela do tipo"},"campos":{"items":{"$ref":"#/components/schemas/CampoEditavel"},"type":"array","title":"Campos"},"ambigua":{"type":"boolean","title":"Ambigua","description":"aresta paralela: o desenho colapsa as duas e o ordinal prometeria precisão que a figura não tem — a edição por clique é recusada","default":false},"motivo":{"type":"string","title":"Motivo","default":""}},"type":"object","required":["selecionado"],"title":"ElementoCliqueOut","description":"`selecionado=false` quando o id não existe na rede ATUAL — a mesma\nrecusa do `parse_deeplink`: melhor nada selecionado do que o elemento\nerrado."},"ElementoZOut":{"properties":{"R_ohm":{"type":"number","title":"R Ohm"},"X_ohm":{"type":"number","title":"X Ohm"}},"type":"object","required":["R_ohm","X_ohm"],"title":"ElementoZOut","description":"A impedância de UM elemento do caminho da falta (fonte, trafo, reator,\ncabo) — é onde a corrente é limitada."},"EletrodutoOut":{"properties":{"dn_mm":{"type":"integer","title":"Dn Mm"},"polegadas":{"type":"string","title":"Polegadas"},"area_util_mm2":{"type":"number","title":"Area Util Mm2"}},"type":"object","required":["dn_mm","polegadas","area_util_mm2"],"title":"EletrodutoOut","description":"O eletroduto escolhido (Tab. 30) — a tupla (DN, polegadas, área) do núcleo."},"EmissaoDocumento":{"properties":{"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N","description":"número da emissão que produziu o arquivo; nulo = documento nunca emitido"},"data":{"type":"string","title":"Data","default":""},"emissoes":{"type":"integer","title":"Emissoes","description":"quantas emissões o histórico registra","default":0},"anterior_data":{"type":"string","title":"Anterior Data","description":"a data da emissão que esta substitui (a n−1); vazia quando não há anterior ou o histórico não a guarda","default":""}},"type":"object","title":"EmissaoDocumento","description":"A emissão do DOCUMENTO (C32) — NÃO é a revisão da INSTALAÇÃO (G155).\n\nUma conta quantas vezes o documento saiu (0, 1, 2…, com histórico) e avança\nsozinha a cada save; a outra é a identificação que o engenheiro declara\n('rev 3', 'Rev. C') e diz o que a instalação é hoje. Estavam no mesmo campo,\ne o contador de emissões saía carimbado no unifilar como revisão vigente —\numa revisão que ninguém declarou."},"ErmsOut":{"properties":{"ii_pu":{"type":"number","title":"Ii Pu"},"Ei_normal":{"type":"number","title":"Ei Normal"},"Ei_erms":{"type":"number","title":"Ei Erms"},"t_normal_ms":{"type":"number","title":"T Normal Ms"},"t_erms_ms":{"type":"number","title":"T Erms Ms"},"cat_normal":{"type":"integer","title":"Cat Normal"},"cat_erms":{"type":"integer","title":"Cat Erms"}},"type":"object","required":["ii_pu","Ei_normal","Ei_erms","t_normal_ms","t_erms_ms","cat_normal","cat_erms"],"title":"ErmsOut","description":"Os DOIS cenários do modo manutenção (C39/G72). Existe como bloco próprio\nporque o que decide o procedimento é a diferença: se a energia de manutenção\nnão muda a categoria, ligar o ERMS não dispensa nada."},"EstacaoOut":{"properties":{"s_m":{"type":"number","title":"S M"},"T_N":{"type":"number","title":"T N"},"label":{"type":"string","title":"Label"}},"type":"object","required":["s_m","T_N","label"],"title":"EstacaoOut"},"EstagiosIn":{"properties":{"n":{"type":"integer","maximum":12.0,"minimum":2.0,"title":"N","description":"número de estágios","default":4},"esquema":{"type":"string","enum":["linear","binario"],"title":"Esquema","description":"linear = estágios iguais · binário = pesos 1:2:4…","default":"linear"}},"additionalProperties":false,"type":"object","title":"EstagiosIn","description":"O banco AUTOMÁTICO em estágios manobrados pelo controlador de FP."},"EstagiosOut":{"properties":{"esquema":{"type":"string","title":"Esquema"},"n_estagios":{"type":"integer","title":"N Estagios"},"estagios_kvar":{"items":{"type":"number"},"type":"array","title":"Estagios Kvar"},"resolucao_kvar":{"type":"number","title":"Resolucao Kvar","description":"o menor degrau — a resolução do controlador"},"n_niveis":{"type":"integer","title":"N Niveis"},"total_kvar":{"type":"number","title":"Total Kvar"}},"type":"object","required":["esquema","n_estagios","estagios_kvar","resolucao_kvar","n_niveis","total_kvar"],"title":"EstagiosOut"},"EstudoCatalogoOut":{"properties":{"slug":{"type":"string","title":"Slug"},"estudo":{"type":"string","title":"Estudo"},"norma":{"type":"string","title":"Norma"}},"type":"object","required":["slug","estudo","norma"],"title":"EstudoCatalogoOut","description":"Uma análise do estudo elétrico da planta, com a norma a que responde."},"EstudoDaPlanta":{"properties":{"rev":{"type":"string","title":"Rev","description":"identificação da revisão; vazio = não carimbado","default":""},"data":{"type":"string","title":"Data","default":""},"obs":{"type":"string","title":"Obs","default":""}},"additionalProperties":false,"type":"object","title":"EstudoDaPlanta","description":"Um estudo da planta e a revisão contra a qual ele foi feito."},"EstudoDoCaderno":{"properties":{"slug":{"type":"string","title":"Slug","description":"o slug do catálogo (`GET /tools`)"},"corpo":{"additionalProperties":true,"type":"object","title":"Corpo","description":"o corpo da rota `/tools/<slug>/memorial`"},"veredito":{"type":"string","maxLength":80,"title":"Veredito","description":"o que a tela mostrou","default":""},"resultado":{"type":"string","maxLength":160,"title":"Resultado","description":"a manchete do estudo","default":""}},"additionalProperties":false,"type":"object","required":["slug","corpo"],"title":"EstudoDoCaderno","description":"Um estudo a entrar no caderno: o slug da ferramenta e o MESMO corpo que a\nrota de memorial dela aceita. O caderno não gera documento novo — ele chama\nos memoriais que já existem e os concatena, para que a folha do caderno seja\nbyte a byte a folha que o cliente baixaria sozinha."},"EtiquetaPreviaOut":{"properties":{"etiqueta_html":{"type":"string","title":"Etiqueta Html"},"boneco_svg":{"type":"string","title":"Boneco Svg"},"categoria":{"type":"integer","title":"Categoria"},"Ei_cal":{"type":"number","title":"Ei Cal"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["etiqueta_html","boneco_svg","categoria","Ei_cal","tier"],"title":"EtiquetaPreviaOut","description":"A PRÉ-VISUALIZAÇÃO da etiqueta (o layout do PDF, em HTML do núcleo) e o\ntrabalhador equipado — o que a aba do app mostra ao lado do cálculo. Não é o\ndocumento: o PDF que se afixa no painel continua em `arc/label`."},"FaixaAjuste":{"properties":{"modo":{"type":"string","enum":["faixa","passos"],"title":"Modo"},"passos":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Passos"},"min":{"type":"number","title":"Min"},"max":{"type":"number","title":"Max"}},"type":"object","required":["modo","min","max"],"title":"FaixaAjuste","description":"O que o FABRICANTE oferece num estágio de ajuste.\n\nA distinção que decide a tela é FAIXA × TAP: o relé aceita qualquer valor\ndentro do limite, e o disjuntor com disparador eletrônico tem POSIÇÕES.\nOferecer passo contínuo onde o trip tem seis posições é prometer um ajuste\nque não existe no equipamento — e a folha sai com um número que ninguém\nconsegue reproduzir no painel."},"FaixaReprovada":{"properties":{"I_de_kA":{"type":"number","title":"I De Ka"},"I_ate_kA":{"type":"number","title":"I Ate Ka"},"tipos":{"items":{"type":"string"},"type":"array","title":"Tipos"}},"type":"object","required":["I_de_kA","I_ate_kA"],"title":"FaixaReprovada","description":"Uma faixa de corrente em que o par REPROVA: pontos reprovados consecutivos\nna grade que a verificação testou; a borda é o ponto médio geométrico até a\namostra aprovada vizinha — a resolução é a da própria verificação."},"FaixasDispositivo":{"properties":{"In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"In A"},"curva_padrao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Curva Padrao"},"t_inst_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Inst Ms"},"norma":{"type":"string","title":"Norma","default":""},"ir":{"anyOf":[{"$ref":"#/components/schemas/FaixaAjuste"},{"type":"null"}]},"tms":{"anyOf":[{"$ref":"#/components/schemas/FaixaAjuste"},{"type":"null"}]},"isd":{"anyOf":[{"$ref":"#/components/schemas/FaixaAjuste"},{"type":"null"}]},"tsd":{"anyOf":[{"$ref":"#/components/schemas/FaixaAjuste"},{"type":"null"}]},"ii":{"anyOf":[{"$ref":"#/components/schemas/FaixaAjuste"},{"type":"null"}]},"isd_desliga":{"type":"boolean","title":"Isd Desliga","default":true},"ii_desliga":{"type":"boolean","title":"Ii Desliga","default":true},"generico":{"type":"boolean","title":"Generico","description":"o relé ou o disjuntor SEM marca e modelo, de faixas livres: a tela oferece também o tempo de eliminação e a tolerância para o usuário declarar","default":false},"banda":{"anyOf":[{"additionalProperties":{"items":{"type":"number"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Banda","description":"a tolerância do fabricante por estágio — tol_Ir_pct, tol_tr_pct, tol_Isd_pct, tol_tsd_pct, tol_Ii_pct, cada uma (de, até) em % sobre o ajustado; tol_tsd_ms em ms absolutos (com as duas, vale a faixa mais larga)"},"banda_fonte":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banda Fonte"},"tsd_taps_ms":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Tsd Taps Ms"},"tsd_break_ms":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Tsd Break Ms","description":"o tempo MÁXIMO de interrupção do degrau S, tap a tap (G276)"},"tsd_hold_ms":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Tsd Hold Ms","description":"o tempo de NÃO atuação do degrau S, tap a tap — a borda rápida"},"t_inst_hold_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Inst Hold Ms"},"t_inst_disparo_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Inst Disparo Ms","description":"o tempo de DISPARO da instantânea, quando o fabricante o separa da interrupção (G311): o t_inst_ms é o total; este é a decisão"},"tms_padrao":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tms Padrao","description":"o TMS que o núcleo usa quando ninguém ajustou (G322): na curva I²t da IEC 60947-2 é o t1/tR em SEGUNDOS; nulo = o padrão de sempre"}},"type":"object","title":"FaixasDispositivo","description":"Os ajustes que aquele dispositivo aceita, estágio a estágio. Estágio que\nele não tem vem NULO — e nulo não é zero: um `isd` ausente quer dizer que o\ndisjuntor não tem retardo, não que ele esteja em 0."},"FeedbackIn":{"properties":{"mensagem":{"type":"string","maxLength":2000,"minLength":1,"title":"Mensagem"},"nota":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Nota"},"pagina":{"type":"string","maxLength":80,"title":"Pagina","default":""}},"additionalProperties":false,"type":"object","required":["mensagem"],"title":"FeedbackIn","description":"O feedback in-app — a mesma tabela do botão da plataforma (`public.feedback`)."},"FeedbackOut":{"properties":{"gravado":{"type":"boolean","title":"Gravado"}},"type":"object","required":["gravado"],"title":"FeedbackOut"},"FiltroIn":{"properties":{"incluir_11":{"type":"boolean","title":"Incluir 11","default":false},"sintonia":{"type":"number","maximum":1.0,"minimum":0.9,"title":"Sintonia","description":"n_tune = fator × ordem (0,95 = 5 % abaixo)","default":0.95},"q":{"type":"number","maximum":150.0,"minimum":10.0,"title":"Q","description":"fator de qualidade do reator do filtro","default":50.0}},"additionalProperties":false,"type":"object","title":"FiltroIn","description":"O filtro sintonizado de múltiplas seções (IEC 61642 / IEEE 1531): 5ª e 7ª,\ne a 11ª quando pedida — cada seção sintonizada um pouco ABAIXO da harmônica,\nmargem ao envelhecimento do capacitor."},"Folha":{"properties":{"local":{"type":"string","title":"Local","default":""},"equip":{"type":"string","title":"Equip","default":""},"resp":{"type":"string","title":"Resp","default":""},"crea":{"type":"string","title":"Crea","description":"registro do responsável no CREA","default":""},"art":{"type":"string","title":"Art","description":"nº da ART do estudo","default":""},"rev":{"type":"string","title":"Rev","description":"identificação da revisão (ex.: 'rev 3')","default":""},"rev_data":{"type":"string","title":"Rev Data","description":"data da revisão, como o emissor a escreve","default":""},"wl_name":{"type":"string","title":"Wl Name","default":""}},"additionalProperties":false,"type":"object","title":"Folha","description":"Carimbo do unifilar (sheet_meta): o que a UI sabe do estudo."},"ForaEscala":{"properties":{"label":{"type":"string","title":"Label"},"pickup_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pickup A"}},"type":"object","required":["label"],"title":"ForaEscala","description":"Uma proteção que está na folha de ajustes e NÃO tem curva na janela."},"GensetIn":{"properties":{"V_V":{"type":"number","exclusiveMinimum":0.0,"title":"V V","description":"tensão nominal do gerador (V)"},"Sn_kVA":{"type":"number","exclusiveMinimum":0.0,"title":"Sn Kva","description":"potência nominal do gerador (kVA)"},"xd_pct":{"type":"number","exclusiveMinimum":0.0,"title":"Xd Pct","description":"reatância transitória X'd (%)","default":25.0},"XR":{"type":"number","exclusiveMinimum":0.0,"title":"Xr","description":"relação X/R do gerador","default":20.0},"step_kVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Step Kva","description":"degrau em bloco (kVA)"},"step_pf":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Step Pf","description":"FP do degrau em bloco","default":0.4},"motor":{"type":"boolean","title":"Motor","description":"degrau = partida direta de motor","default":false},"P_kW":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"P Kw","description":"potência do motor (kW)"},"eta":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Eta","default":0.92},"pf":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Pf","description":"FP nominal do motor","default":0.86},"ip_in":{"type":"number","exclusiveMinimum":0.0,"title":"Ip In","description":"Ip/In do motor","default":6.0},"pf_lr":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Pf Lr","description":"FP de rotor bloqueado","default":0.3},"cable_mm2":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Cable Mm2","description":"cabo gerador→carga"},"cable_len_m":{"type":"number","minimum":0.0,"title":"Cable Len M","default":0.0},"cable_material":{"type":"string","enum":["Cu","Al"],"title":"Cable Material","default":"Cu"},"cable_parallel":{"type":"integer","minimum":1.0,"title":"Cable Parallel","default":1},"iso_class":{"type":"string","enum":["G1","G2","G3","G4"],"title":"Iso Class","default":"G2"},"dv_limit_pct":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Dv Limit Pct","description":"limite próprio; None = o da classe (G4 exige)"}},"additionalProperties":false,"type":"object","required":["V_V","Sn_kVA"],"title":"GensetIn","description":"Degrau de carga no grupo gerador (ISO 8528-5) — `study_genset_step`.\nBloco de carga (`step_kVA`) OU partida direta de motor (`motor=True` + `P_kW`)."},"GensetMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/GensetIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"GensetMemorialIn"},"GensetOut":{"properties":{"V_V":{"type":"number","title":"V V"},"Sn_kVA":{"type":"number","title":"Sn Kva"},"xd_pct":{"type":"number","title":"Xd Pct"},"XR":{"type":"number","title":"Xr"},"step_kVA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Step Kva"},"step_pf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Step Pf"},"step_load_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Step Load Pct"},"motor_In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Motor In A"},"motor_I_start_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Motor I Start A"},"Z_fonte":{"$ref":"#/components/schemas/ImpedanciaOut"},"Z_cabo":{"$ref":"#/components/schemas/ImpedanciaOut"},"Z_carga":{"$ref":"#/components/schemas/ImpedanciaOut"},"V_term_pu":{"type":"number","title":"V Term Pu"},"V_term_V":{"type":"number","title":"V Term V"},"dv_pct":{"type":"number","title":"Dv Pct","description":"afundamento transitório (%)"},"iso_class":{"type":"string","title":"Iso Class"},"dv_limit_pct":{"type":"number","title":"Dv Limit Pct"},"ok":{"type":"boolean","title":"Ok","description":"dv ≤ limite da classe"},"contactor_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Contactor Ok","description":"tensão suficiente para o contator não abrir"},"max_step_kVA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Step Kva","description":"maior degrau aceitável"},"max_step_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Step Pct"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"ISO 8528-5"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["V_V","Sn_kVA","xd_pct","XR","Z_fonte","Z_cabo","Z_carga","V_term_pu","V_term_V","dv_pct","iso_class","dv_limit_pct","ok"],"title":"GensetOut"},"Geometria":{"properties":{"G":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"G"},"D":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"D"},"W":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"W"},"H":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"H"},"P":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P"},"cfg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cfg"},"confirmado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Confirmado","description":"a geometria foi CONFERIDA em campo, e não assumida do padrão por tensão. Não muda cálculo nenhum — muda o que o memorial afirma, e afirmar que se mediu o que se herdou é o começo de um laudo errado"}},"additionalProperties":false,"type":"object","title":"Geometria","description":"A geometria de arco DAQUELA barra — uma declaração PARCIAL sobre o padrão\npor tensão do núcleo (BT: G=32 · D=610 · MT: G=152 · D=914).\n\nNenhum campo é obrigatório e nenhum tem default AQUI: quem sabe o padrão é o\nnúcleo, e repeti-lo no contrato seria a segunda definição dele. O que vier\nnulo continua sendo o padrão — é o que permite declarar só a distância de\ntrabalho de cinquenta barras sem afirmar medição do resto."},"GeometriaPadrao":{"properties":{"bt":{"anyOf":[{"$ref":"#/components/schemas/Geometria"},{"type":"null"}]},"mt":{"anyOf":[{"$ref":"#/components/schemas/Geometria"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"GeometriaPadrao","description":"A geometria padrão da PLANTA por classe de tensão — o 'study case' do arco\n(W6). Cada classe é uma declaração PARCIAL sobre o padrão do núcleo (o campo\nnulo continua sendo o dele), e a declaração POR BARRA prevalece sobre as duas.\nDuas classes porque o padrão do núcleo tem duas (até 1 kV · acima)."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HvDeeplinkOut":{"properties":{"semeado":{"type":"boolean","title":"Semeado"},"metodo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metodo"},"Voc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Voc"},"Ibf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ibf"},"T_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T P"},"D":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"D"},"G_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"G M"},"trabalho":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trabalho"},"motivo":{"type":"string","title":"Motivo","description":"por que não houve semeadura","default":""}},"type":"object","required":["semeado"],"title":"HvDeeplinkOut","description":"O handoff da TRIAGEM > 15 kV (IA → tela) já passado pelo gate do NÚCLEO\n(`calc_core.parse_deeplink_hv`). Não há handoff parcial aqui: a triagem da\nIA é sempre um cálculo completo, e o que o método não usa volta NULO — a\ntela não promete que a distância entrou numa triagem OSHA."},"HvDocIn":{"properties":{"entrada":{"$ref":"#/components/schemas/HvRequest"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"HvDocIn","description":"Relatório e etiqueta de TRIAGEM. São documentos, logo assinatura — e são\ndocumentos de TRIAGEM, que os próprios geradores carimbam como tal."},"HvOut":{"properties":{"metodo":{"type":"string","enum":["osha","lee","epri"],"title":"Metodo"},"Ei_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei Cal","description":"energia de triagem (cal/cm²); NULA quando a tabela é excedida — ver `excede_tabela`"},"excede_tabela":{"type":"boolean","title":"Excede Tabela","description":"OSHA: o tempo passou da última coluna (> 12 cal/cm²)","default":false},"banda_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banda Label","description":"'≤ 4' … '> 12' (cal/cm²)"},"banda_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Banda Cal","description":"cabeçalho da coluna (cal/cm²)"},"Ei_interp_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei Interp Cal","description":"estimativa interpolada no tempo — NÃO normativa"},"bloco":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bloco","description":"faixa de tensão da tabela"},"linha_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Linha Ka","description":"linha da tabela (round-up)"},"t_ciclos":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Ciclos"},"trabalho":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trabalho"},"DB_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Db Mm","description":"fronteira de 1,2 cal/cm² (mm)"},"Ei_J":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei J"},"Eave_kVm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eave Kvm"},"Varc_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Varc Kv"},"Phi_cal_s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Phi Cal S","description":"fluxo de energia (cal/cm²·s)"},"W_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"W Cal","description":"energia MÉDIA (cal/cm²)"},"Wmax_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wmax Cal","description":"W × fator estatístico k"},"k_stat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"K Stat"},"G_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"G M"},"D_assumida_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"D Assumida Mm","description":"distância a que a energia se refere; NULA na Tabela 7 da OSHA, que não fixa uma"},"categoria":{"anyOf":[{"$ref":"#/components/schemas/Categoria"},{"type":"null"}],"description":"banda de EPI da NBR 17227 Tab. 11/12 APLICADA à energia de triagem — a norma dá o MAPA banda→EPI, não endossa a energia; NULA quando a tabela do OSHA é excedida"},"epi":{"items":{"type":"string"},"type":"array","title":"Epi"},"avisos_faixa":{"items":{"type":"string"},"type":"array","title":"Avisos Faixa","description":"EPRI: extrapolação fora da faixa certificada em ensaio (Tabela 3)"},"escopo":{"type":"string","title":"Escopo","description":"a ressalva de escopo — este resultado é TRIAGEM, não laudo"},"engine":{"type":"string","title":"Engine","default":""},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["metodo","escopo"],"title":"HvOut","description":"O resultado da triagem. Cada método preenche os campos DELE e deixa os\noutros nulos — um Eave de método que não calcula Eave seria invenção.\n\n`Ei_cal` NULO com `excede_tabela=True` é o caso mais delicado: na OSHA, o\ntempo acima da última coluna significa energia ACIMA de 12 cal/cm², e não\nenergia desconhecida. Escrever 12 ali seria subestimar; escrever um número\ngrande seria inventar. O par (nulo + a banda '> 12') é o que a tabela\nrealmente diz — e é por isso que `categoria` e `epi` também ficam vazios:\na NBR não mapeia banda que a tabela não fecha."},"HvRequest":{"properties":{"metodo":{"type":"string","enum":["osha","lee","epri"],"title":"Metodo","default":"osha"},"Voc":{"type":"number","title":"Voc","description":"tensão de operação (kV) — o modo existe acima de 15 kV"},"Ibf":{"type":"number","title":"Ibf","description":"corrente de falta franca FASE-TERRA (kA)"},"T_p":{"type":"number","title":"T P","description":"tempo de eliminação (ms)"},"D":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"D","description":"distância de trabalho (mm) — exigida por Lee e EPRI; na OSHA a tabela já a fixa"},"G_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"G M","description":"comprimento de arco em METROS (vão físico fase-terra) — exigido pelo EPRI; NÃO é o gap do IEEE 1584"},"trabalho":{"type":"string","enum":["luva","vara"],"title":"Trabalho","description":"OSHA: 'luva' = Tabela 6 (4–46 kV, 380 mm) · 'vara' = Tabela 7 (4–800 kV)","default":"luva"},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["Voc","Ibf","T_p"],"title":"HvRequest","description":"Entrada da triagem > 15 kV (arco ao ar livre fase-terra).\n\nTrês métodos com exigências DIFERENTES, e o contrato não as achata: Lee\nprecisa de `D`, o EPRI precisa de `D` e de `G_m`, e a OSHA de nenhum dos\ndois (a tabela já embute a distância). Pedir tudo de todos obrigaria o\nusuário a inventar um número que o método dele não usa."},"Ident":{"properties":{"tag":{"type":"string","maxLength":120,"title":"Tag","description":"circuito/instalação","default":""},"empresa":{"type":"string","maxLength":120,"title":"Empresa","default":""},"resp":{"type":"string","maxLength":120,"title":"Resp","description":"responsável técnico","default":""}},"additionalProperties":false,"type":"object","title":"Ident","description":"Identificação do memorial — o que o expander do app pede antes do PDF."},"ImpactoArcoTcOut":{"properties":{"Ei_base_cal":{"type":"number","title":"Ei Base Cal","description":"a energia do ponto no tempo do relé, informada"},"Ei_eff_cal":{"type":"number","title":"Ei Eff Cal","description":"a energia com o atraso"},"dEi_cal":{"type":"number","title":"Dei Cal"},"pct":{"type":"number","title":"Pct"},"dt_ms":{"type":"number","title":"Dt Ms"},"limitado_2s":{"type":"boolean","title":"Limitado 2S","description":"o tempo com o atraso passou de 2 s e foi limitado"},"categoria_antes":{"type":"integer","title":"Categoria Antes"},"categoria_depois":{"type":"integer","title":"Categoria Depois"}},"type":"object","required":["Ei_base_cal","Ei_eff_cal","dEi_cal","pct","dt_ms","limitado_2s","categoria_antes","categoria_depois"],"title":"ImpactoArcoTcOut","description":"A energia incidente recomposta pelo atraso da saturação (G238) — Ei ∝ t\n(IEEE 1584), limitada a 2 s; a categoria é a da NBR 17227."},"ImpedanciaOut":{"properties":{"R_ohm":{"type":"number","title":"R Ohm"},"X_ohm":{"type":"number","title":"X Ohm"}},"type":"object","required":["R_ohm","X_ohm"],"title":"ImpedanciaOut","description":"Impedância complexa do núcleo, nomeada — é o 'porquê' do afundamento."},"IncluirMemorial":{"properties":{"curto":{"type":"boolean","title":"curto-circuito","description":"a memória de curto-circuito da BARRA na rede","default":true},"memoria_curto":{"type":"boolean","title":"memória do curto (equações)","description":"o desenvolvimento passo a passo (equações)","default":false},"coordenograma":{"type":"boolean","title":"coordenograma","description":"a folha TCC, os ajustes, a seletividade e o ERMS","default":true},"prancha":{"type":"boolean","title":"prancha (Anexo P)","description":"a prancha de proteção (Anexo P)","default":false},"sensibilidade":{"type":"boolean","title":"sensibilidade","description":"Ei × D · Ei × Ibf · Ei × T e os limiares","default":false},"teoria":{"type":"boolean","title":"teoria","description":"o fundamento das equações do IEEE 1584","default":false}},"additionalProperties":false,"type":"object","title":"IncluirMemorial","description":"O que o memorial da barra leva — as mesmas escolhas da aba do app."},"IndiceIn":{"properties":{"revisoes":{"items":{"$ref":"#/components/schemas/Revisao"},"type":"array","title":"Revisoes"},"estudos":{"additionalProperties":{"$ref":"#/components/schemas/EstudoDaPlanta"},"type":"object","title":"Estudos"}},"additionalProperties":false,"type":"object","title":"IndiceIn","description":"O índice é uma VISTA de (revisões, estudos) — não um subproduto do\ncálculo da planta.\n\nEle muda quando a revisão é declarada ou quando um estudo é carimbado, e\nnenhuma das duas recalcula energia nenhuma. Pedi-lo junto do estudo da\nplanta fazia a tela mostrar o índice de ANTES da última declaração: quem\nacabara de declarar a revisão via os cinco estudos ainda como pendentes."},"IndiceOut":{"properties":{"revisao":{"anyOf":[{"$ref":"#/components/schemas/Revisao"},{"type":"null"}]},"revisoes":{"items":{"$ref":"#/components/schemas/Revisao"},"type":"array","title":"Revisoes"},"linhas":{"items":{"$ref":"#/components/schemas/LinhaIndice"},"type":"array","title":"Linhas"},"contagem":{"additionalProperties":{"type":"integer"},"type":"object","title":"Contagem"},"em_dia":{"type":"boolean","title":"Em Dia","default":false},"pendentes":{"items":{"type":"string"},"type":"array","title":"Pendentes"}},"type":"object","title":"IndiceOut","description":"O índice dos estudos da planta contra a revisão vigente (D3).\n\n`revisao` é `None` quando a planta não declara nenhuma — e nesse caso NENHUM\nestudo aparece como `em_dia`: sem régua não há medida, e apresentar como\nconforme uma comparação que não aconteceu é o defeito que este contrato\nexiste para impedir."},"IntersecaoManual":{"properties":{"label":{"type":"string","title":"Label"},"t_ia_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Ia Ms"},"t_im_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Im Ms"}},"type":"object","required":["label"],"title":"IntersecaoManual","description":"O tempo de cada curva nas duas correntes de arco (plena e reduzida)."},"IpcaOut":{"properties":{"ok":{"type":"boolean","title":"Ok"},"serie":{"additionalProperties":{"type":"number"},"type":"object","title":"Serie"},"n":{"type":"integer","title":"N","default":0},"erro":{"type":"string","title":"Erro","default":""}},"type":"object","required":["ok"],"title":"IpcaOut","description":"A série 433 do BCB já parseada. A rede vive AQUI, nunca no núcleo — e\n`ok=False` é resposta legítima: sem a série o cálculo segue com o que o\nusuário colar, e o que faltar sai declarado parcela a parcela."},"LayoutOut":{"properties":{"id":{"type":"string","title":"Id"},"rotulo":{"type":"string","title":"Rotulo"}},"type":"object","required":["id","rotulo"],"title":"LayoutOut","description":"Um leiaute de PDF que o núcleo sabe ler (registro extensível)."},"LeituraOut":{"properties":{"reading":{"type":"string","title":"Reading"},"optimum_kw":{"type":"number","title":"Optimum Kw"},"optimum":{"$ref":"#/components/schemas/CenarioOut"},"band_kw":{"items":{"type":"number"},"type":"array","title":"Band Kw"},"current":{"anyOf":[{"$ref":"#/components/schemas/CenarioOut"},{"type":"null"}]},"saving_rs":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Saving Rs"},"max_recorded_kw":{"type":"number","title":"Max Recorded Kw"},"contraproof_extra_rs":{"type":"number","title":"Contraproof Extra Rs"},"optimum_no_tolerance_kw":{"type":"number","title":"Optimum No Tolerance Kw"},"tolerance_gain_rs":{"type":"number","title":"Tolerance Gain Rs"},"curve":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Curve","description":"[contratada, custo anual] ponto a ponto"}},"type":"object","required":["reading","optimum_kw","optimum","band_kw","max_recorded_kw","contraproof_extra_rs","optimum_no_tolerance_kw","tolerance_gain_rs"],"title":"LeituraOut","description":"A varredura sob UMA das duas leituras do art. 294, § 1º, II."},"LinhaAjuste":{"properties":{"label":{"type":"string","title":"Label"},"tag":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tag"},"type":{"type":"string","title":"Type"},"In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"In A"},"curve_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Curve Name"},"Ir_pu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ir Pu"},"TMS":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tms"},"Isd_pu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Isd Pu"},"tsd_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tsd Ms"},"Ii_pu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ii Pu"},"t_inst_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Inst Ms"}},"type":"object","required":["label","type"],"title":"LinhaAjuste","description":"Uma linha da FOLHA DE AJUSTES — as chaves do `coord_devices` do memorial.\n`tag` é o número do badge da curva no desenho; nulo = a curva não foi\ndesenhada (fora da escala). Os ajustes são os NATIVOS do equipamento."},"LinhaIndice":{"properties":{"slug":{"type":"string","title":"Slug"},"estudo":{"type":"string","title":"Estudo"},"norma":{"type":"string","title":"Norma"},"estado":{"type":"string","title":"Estado","description":"em_dia · defasado · revisao_desconhecida · sem_carimbo · sem_revisao · nao_realizado"},"detalhe":{"type":"string","title":"Detalhe","default":""},"rev":{"type":"string","title":"Rev","default":""},"data":{"type":"string","title":"Data","default":""},"obs":{"type":"string","title":"Obs","default":""}},"type":"object","required":["slug","estudo","norma","estado"],"title":"LinhaIndice","description":"Um estudo da planta no índice, com o estado dele contra a revisão vigente."},"LinhaLoteOut":{"properties":{"equipamento":{"type":"string","title":"Equipamento","default":""},"Voc_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Voc Kv"},"Ibf_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ibf Ka"},"Ei_cal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei Cal"},"LAS_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Las Mm"},"categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"},"erro":{"type":"string","title":"Erro","default":""},"tempo_limitado":{"type":"boolean","title":"Tempo Limitado","description":"o tempo de eliminação desta barra foi LIMITADO a 2 s (IEEE 1584:2018 §6.9.1): a proteção levaria mais — a etiqueta e o memorial declaram","default":false},"t_max_adotado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"T Max Adotado","description":"a barra está no tempo MÁXIMO (IEEE 1584:2018 §6.9.1) por uma corrente de arco que a proteção não vê (reduzida_cega · plena_cega, G313) ou por nenhuma delas com a opção `t_sem_atuacao_ms` (sem_atuacao, G329); nulo = a proteção eliminou as duas"}},"type":"object","title":"LinhaLoteOut","description":"Uma linha calculada. `Ei_cal` NULO = a linha não pôde ser calculada, e o\nmotivo vai em `erro` — sumir com ela faria o lote mentir sobre a cobertura."},"LinhaMestraOut":{"properties":{"bus_id":{"type":"string","title":"Bus Id"},"label":{"type":"string","title":"Label"},"Vn_kV":{"type":"number","title":"Vn Kv"},"Ibf_kA":{"type":"number","title":"Ibf Ka"},"Iarc_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Iarc Ka"},"Ibf_arco_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ibf Arco Ka","description":"a corrente de falta com que o Ei governante foi calculado (kA): a `Ibf_kA` sem o pior caso; com ele, a do modo que governou (G333)"},"ibf_base":{"anyOf":[{"type":"string","enum":["max","min","nominal"]},{"type":"null"}],"title":"Ibf Base","description":"o modo que o pior caso escolheu; nulo sem a opção"},"Imin_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Imin Ka","description":"a corrente de arco REDUZIDA da barra (kA)"},"cenario_governante":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cenario Governante","description":"o lado que governa (bus · line) e, no pior caso, o modo: 'line·min'"},"dispositivo_gov":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispositivo Gov","description":"a proteção que elimina no cenário governante"},"corrente_gov":{"anyOf":[{"type":"string","enum":["plena","reduzida"]},{"type":"null"}],"title":"Corrente Gov","description":"qual corrente de arco dá o Ei governante"},"t_pleno_gov_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Pleno Gov Ms","description":"o tempo da corrente plena no cenário governante (ms)"},"t_reduzido_gov_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Reduzido Gov Ms","description":"o tempo da corrente reduzida no cenário governante (ms)"},"AFB_gov_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Afb Gov Mm","description":"a distância-limite de aproximação (AFB) governante (mm)"},"estado_gov":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Gov","description":"o estado do lado governante (ver `Cenario.estado`)"},"regiao_gov":{"anyOf":[{"type":"string","enum":["instantanea","curto_retardo","inversa","nao_atua","banda"]},{"type":"null"}],"title":"Regiao Gov","description":"a região da curva de onde saiu o tempo da corrente que governa"},"ip_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ip Ka"},"Ith_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ith Ka"},"bus":{"anyOf":[{"$ref":"#/components/schemas/Cenario"},{"type":"null"}]},"line":{"anyOf":[{"$ref":"#/components/schemas/Cenario"},{"type":"null"}]},"governing":{"type":"string","title":"Governing","default":"none"},"Ei_gov":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei Gov"},"t_gov_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Gov Ms"},"categoria":{"anyOf":[{"$ref":"#/components/schemas/Categoria"},{"type":"null"}]},"Icu_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Icu Ka"},"duty_status":{"type":"string","title":"Duty Status","default":"nao_avaliavel"},"duty_margin_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duty Margin Pct"},"ajustes_do_estudo":{"type":"boolean","title":"Ajustes Do Estudo","description":"todos os dispositivos da cadeia com os ajustes do ESTUDO (ou curva fixa); falso = os padrão de triagem","default":false},"geometria":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometria","description":"a usada"},"geo_declarada":{"items":{"type":"string"},"type":"array","title":"Geo Declarada","description":"os campos que ESTA barra declarou; vazio = o padrão por tensão"},"geo_da_planta":{"items":{"type":"string"},"type":"array","title":"Geo Da Planta","description":"os campos que vieram do padrão da PLANTA (a barra não os declarou)"},"has_protection":{"type":"boolean","title":"Has Protection","default":false},"radial":{"type":"boolean","title":"Radial","default":true},"fora_escopo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fora Escopo"},"aviso_abertura":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aviso Abertura"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"operacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operacao"},"operacoes":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"object","title":"Operacoes"}},"type":"object","required":["bus_id","label","Vn_kV","Ibf_kA"],"title":"LinhaMestraOut","description":"Uma linha da TABELA-MESTRA da planta — a do §11 do laudo\n(`master_table_rows`): os DOIS lados do compartimento, o que governa, o pico e\na térmica da barra, a adequação da proteção de ENTRADA e a proveniência (os\najustes são do estudo ou os padrão de triagem; a geometria é declarada ou o\npadrão por tensão). Acima de 15 kV não há número do IEEE 1584: a barra é da\ntriagem > 15 kV, e `fora_escopo` diz isso no lugar do número."},"LoopCatalogoOut":{"properties":{"sistemas":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sistemas"},"circuitos":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Circuitos"},"situacoes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Situacoes"}},"type":"object","required":["sistemas","circuitos","situacoes"],"title":"LoopCatalogoOut","description":"Os esquemas, os tipos de circuito e as situações — do núcleo."},"LoopIn":{"properties":{"U0_V":{"type":"number","exclusiveMinimum":0.0,"title":"U0 V","description":"tensão fase-terra (V)"},"sistema":{"type":"string","enum":["TN","TT","IT"],"title":"Sistema","description":"IT é tratado como TN-equivalente na 2ª falta (com o aviso)","default":"TN"},"circuito_tipo":{"type":"string","enum":["terminal","terminal_fixo","distribuicao"],"title":"Circuito Tipo","description":"terminal só com equipamentos fixos e distribuição têm 5 s (Tab. 25)","default":"terminal"},"situacao":{"type":"integer","maximum":3.0,"minimum":1.0,"title":"Situacao","description":"1 seco · 2 molhado · 3 BB4","default":1},"Ia_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ia A","description":"corrente de atuação do dispositivo"},"In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"In A"},"curva_mcb":{"anyOf":[{"type":"string","enum":["B","C","D"]},{"type":"null"}],"title":"Curva Mcb"},"secao_fase_mm2":{"type":"number","exclusiveMinimum":0.0,"title":"Secao Fase Mm2","default":16.0},"material":{"type":"string","enum":["Cu","Al"],"title":"Material","default":"Cu"},"comprimento_m":{"type":"number","exclusiveMinimum":0.0,"title":"Comprimento M","default":50.0},"T_op":{"type":"number","title":"T Op","description":"temperatura de operação (°C)","default":70.0},"n_par":{"type":"integer","minimum":1.0,"title":"N Par","default":1},"secao_pe_mm2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Secao Pe Mm2","description":"None = Tab. 58"},"material_pe":{"anyOf":[{"type":"string","enum":["Cu","Al"]},{"type":"null"}],"title":"Material Pe"},"insulation":{"type":"string","enum":["PVC","EPR"],"title":"Insulation","default":"PVC"},"i_dn_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Dn A","description":"TT — corrente do DR (A)"},"RA_ohm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ra Ohm","description":"TT — resistência do aterramento"},"R_montante_mohm":{"type":"number","minimum":0.0,"title":"R Montante Mohm","description":"R do laço a montante (mΩ)","default":0.0},"X_montante_mohm":{"type":"number","minimum":0.0,"title":"X Montante Mohm","description":"X do laço a montante (mΩ)","default":0.0},"figura":{"type":"boolean","title":"Figura","description":"Zs × comprimento, do MESMO gerador do memorial","default":true}},"additionalProperties":false,"type":"object","required":["U0_V"],"title":"LoopIn","description":"Seccionamento automático (NBR 5410 §5.1.2.2) — `study_seccionamento`.\nInforme `Ia_A` OU (`In_A` + `curva_mcb`); no esquema TT, `i_dn_A`/`RA_ohm`."},"LoopMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/LoopIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"LoopMemorialIn"},"LoopOut":{"properties":{"sistema":{"type":"string","title":"Sistema"},"U0_V":{"type":"number","title":"U0 V"},"circuito_tipo":{"type":"string","title":"Circuito Tipo"},"t_req_s":{"type":"number","title":"T Req S","description":"tempo máximo de seccionamento (Tab. 25)"},"Ia_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ia A"},"Zs_ohm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Zs Ohm"},"Zs_max_ohm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Zs Max Ohm"},"If_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"If A"},"margem_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margem Pct"},"L_max_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"L Max M"},"secao_pe_mm2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Secao Pe Mm2"},"RA_ohm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ra Ohm"},"RA_max_ohm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ra Max Ohm"},"ok":{"type":"boolean","title":"Ok"},"criterio":{"type":"string","title":"Criterio"},"U_toque_V":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"U Toque V"},"U_toque_limite_V":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"U Toque Limite V"},"U_toque_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"U Toque Ok"},"k_pe":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"K Pe"},"S_pe_min_adiab_mm2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"S Pe Min Adiab Mm2"},"pe_adiab_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pe Adiab Ok"},"memoria_impedancias":{"items":{"$ref":"#/components/schemas/ParcelaLacoOut"},"type":"array","title":"Memoria Impedancias","description":"fase (ida), PE (retorno), montante e o laço total — fora do TT"},"figura_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Png B64","description":"Zs × comprimento — a figura do memorial"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"ABNT NBR 5410:2004 §5.1.2.2"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["sistema","U0_V","circuito_tipo","t_req_s","ok","criterio"],"title":"LoopOut"},"LoteDefaults":{"properties":{"G_mm":{"type":"number","title":"G Mm","default":32.0},"D_mm":{"type":"number","title":"D Mm","default":610.0},"cfg":{"type":"string","title":"Cfg","default":"VCB"},"Largura_mm":{"type":"number","title":"Largura Mm","default":508.0},"Altura_mm":{"type":"number","title":"Altura Mm","default":508.0},"Prof_mm":{"type":"number","title":"Prof Mm","default":508.0},"responsavel":{"type":"string","title":"Responsavel","default":""}},"additionalProperties":false,"type":"object","title":"LoteDefaults","description":"O invólucro aplicado às linhas que não o trazem. O arquivo do cliente\n(PTW, ETAP, DIgSILENT ou planilha própria) raramente traz geometria: o\ndefault entra onde falta, e a coluna do arquivo PREVALECE onde existe."},"LoteIn":{"properties":{"arquivo":{"$ref":"#/components/schemas/ArquivoIn","description":"o .csv ou .xlsx da planilha, em base64"},"defaults":{"$ref":"#/components/schemas/LoteDefaults"},"projeto":{"type":"string","maxLength":120,"title":"Projeto","default":""},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["arquivo"],"title":"LoteIn"},"LoteOut":{"properties":{"linhas":{"items":{"$ref":"#/components/schemas/LinhaLoteOut"},"type":"array","title":"Linhas"},"n_ok":{"type":"integer","title":"N Ok"},"n_recusadas":{"type":"integer","title":"N Recusadas"},"recusadas":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recusadas","description":"linhas que o parser rejeitou, com a linha do arquivo e o motivo"},"engine":{"type":"string","title":"Engine","default":""},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["linhas","n_ok","n_recusadas"],"title":"LoteOut"},"ManobraIn":{"properties":{"Scc_MVA":{"type":"number","exclusiveMinimum":0.0,"title":"Scc Mva","description":"potência de curto no ponto do banco"},"back_to_back":{"type":"boolean","title":"Back To Back","description":"energizar um estágio com outro em serviço","default":false},"L_bb_uH":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"L Bb Uh","description":"indutância entre estágios (µH); sem ela, a estimativa DECLARADA do núcleo"}},"additionalProperties":false,"type":"object","required":["Scc_MVA"],"title":"ManobraIn","description":"A manobra do banco (IEEE C37.012): inrush de energização isolada e, no\nbanco automático, a back-to-back entre estágios. Exige a tensão do banco."},"ManobraOut":{"properties":{"In_A":{"type":"number","title":"In A"},"i_pk_iso_kA":{"type":"number","title":"I Pk Iso Ka","description":"pico do inrush — banco isolado"},"f_iso_Hz":{"type":"number","title":"F Iso Hz"},"ratio_iso":{"type":"number","title":"Ratio Iso"},"i_design_A":{"type":"number","title":"I Design A","description":"corrente de projeto da proteção e do cabo"},"design_factor":{"type":"number","title":"Design Factor"},"classe_bt":{"type":"boolean","title":"Classe Bt"},"back_to_back":{"type":"boolean","title":"Back To Back"},"L_bb_uH":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"L Bb Uh"},"i_pk_bb_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Pk Bb Ka"},"f_bb_Hz":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"F Bb Hz"},"needs_reactor":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Needs Reactor"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"}},"type":"object","required":["In_A","i_pk_iso_kA","f_iso_Hz","ratio_iso","i_design_A","design_factor","classe_bt","back_to_back"],"title":"ManobraOut"},"MedicaoOut":{"properties":{"classe":{"type":"string","title":"Classe"},"FS":{"type":"number","title":"Fs"},"FS_eff":{"type":"number","title":"Fs Eff","description":"FS efetivo com a carga real — protege o instrumento"},"I_sec_security_A":{"type":"number","title":"I Sec Security A"},"instr_withstand_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Instr Withstand A"},"instrument_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Instrument Ok"},"In_A":{"type":"number","title":"In A"},"I_load_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Load A"},"load_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Load Pct"},"class_lower_pct":{"type":"number","title":"Class Lower Pct","description":"piso da faixa em que a classe vale"},"load_in_range":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Load In Range"},"Zbn_ohm":{"type":"number","title":"Zbn Ohm"},"Zb_real_ohm":{"type":"number","title":"Zb Real Ohm"},"burden_flag":{"type":"string","title":"Burden Flag"}},"type":"object","required":["classe","FS","FS_eff","I_sec_security_A","In_A","class_lower_pct","Zbn_ohm","Zb_real_ohm","burden_flag"],"title":"MedicaoOut"},"MemorialDaBarraRequest":{"properties":{"rede":{"$ref":"#/components/schemas/NetworkRequest"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes"},"barra_estudo":{"type":"string","title":"Barra Estudo"},"ajustes":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Ajustes","description":"por placement_key (ver resposta): curve, in, ir, tms, isden, isd, tsd, iien, ii, tinst, tab, a tolerância digitada toli/tolt/tolii (± % nos pickups · no tempo das curvas L e S · só na instantânea) e a curva térmica tabelada pts/pts_rapida/pts_base/pts_fonte (G325)"},"cb_open_ms":{"type":"number","maximum":500.0,"minimum":0.0,"title":"Cb Open Ms","description":"tempo de abertura do disjuntor (ms), somado ao tempo de atuação das proteções nos dois lados do compartimento. Com um RELÉ decidindo, 0 ms deixa de fora os ciclos do disjuntor que ele comanda — e o aviso sai em `avisos`","default":0.0},"t_sem_atuacao_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Sem Atuacao Ms","description":"OPÇÃO, desligada por padrão (nulo): o tempo máximo de arco, em ms, adotado na barra cuja proteção EXISTE e não vê nenhuma das correntes de arco (G329). Com ela a barra ganha energia no tempo declarado — sem somar abertura — e a marca `t_max_adotado = sem_atuacao`; sem ela, sai sem número, como sempre. Maior que zero e no máximo 2000 ms (IEEE 1584:2018 §6.9.1), senão 422. A barra sem proteção declarada continua sem número, e o alerta `retaguarda_cega` permanece"},"banda_padrao":{"anyOf":[{"type":"string","const":"norma"},{"type":"null"}],"title":"Banda Padrao","description":"banda PADRÃO do disparador de curto-circuito onde o banco não declara banda e nenhuma tolerância foi digitada: 'norma' aplica ±20 % na instantânea do disjuntor termomagnético (IEC 60947-2), dito na folha como premissa do estudo; eletrônico e relé seguem na curva ajustada. Nulo = a curva nominal, como sempre foi"},"base_ibf":{"anyOf":[{"type":"string","enum":["pior_caso","nominal"]},{"type":"null"}],"title":"Base Ibf","description":"OPÇÃO, desligada por padrão (nulo = a corrente de curto MÁXIMA, como sempre): 'pior_caso' calcula cada barra também com a corrente MÍNIMA (IEC 60909-0 §7.1.2, ou a fonte mínima que a concessionária declara em `fonte.Icc_min_kA`) e fica com a que dá MAIS energia no cenário governante (NBR 17227 §4.2.1.3 e §5.1.12). O modo que governou sai em `ibf_base` de cada cenário; a corrente mínima que não pôde ser calculada é 422. 'nominal' (G328) calcula a energia com a corrente de TENSÃO NOMINAL — c = 1,0 no ponto de falta, sem K_T e os cabos em `t_cabo_C` (nulo = a temperatura de cada cabo): a base dos estudos feitos em tensão nominal, FORA do §7.1.2, dita no laudo; a máxima da norma segue dimensionando a barra"},"t_cabo_C":{"anyOf":[{"type":"number","maximum":250.0,"minimum":-40.0},{"type":"null"}],"title":"T Cabo C","description":"a temperatura dos cabos (°C) na base `nominal` de Ibf (G328): nula = a temperatura declarada em cada cabo. Só vale com `base_ibf='nominal'`"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria","description":"por id de barra"},"geometria_padrao":{"$ref":"#/components/schemas/GeometriaPadrao","description":"a geometria padrão da PLANTA por classe de tensão (bt até 1 kV · mt acima), PARCIAL sobre o padrão do núcleo; a geometria da barra prevalece. Entra na energia de todas as barras da classe"},"figura":{"type":"boolean","title":"Figura","description":"renderiza a folha TCC (PNG base64)","default":true},"svg":{"type":"boolean","title":"Svg","description":"devolve também a folha em SVG (`tcc_svg`) — o mesmo desenho do PNG, com um id por curva: `tcc-curva-{n}` é o número do badge e o `tag` da folha de ajustes, e `tcc-faixa-reprovada-{par}-{k}` a faixa de seletividade do par","default":false},"I_max_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Max Ka"},"T_max_ms":{"type":"number","title":"T Max Ms","default":10000.0},"erms_on":{"type":"boolean","title":"Erms On","description":"modo MANUTENÇÃO (ERMS · NEC 240.87): desenha a curva de manutenção ao lado da normal e compara as duas energias. Não altera o ajuste de operação — é um modo comutável, para trabalho energizado","default":false},"erms_ii_pu":{"type":"number","exclusiveMinimum":0.0,"title":"Erms Ii Pu","description":"instantâneo do modo manutenção, em múltiplos de In","default":2.5},"camadas_elemento":{"$ref":"#/components/schemas/CamadasElemento","description":"liga as camadas derivadas do próprio unifilar (dano do trafo, partida dos motores); o que a rede não declara volta como PREMISSA"},"camadas_folha":{"$ref":"#/components/schemas/CamadasFolha","description":"as camadas de LEITURA da folha (arco, Ibf, Icc mín, ponto Ei, zonas de energia, Ith) — as mesmas da aba do coordenograma; nenhuma muda número"},"ferramentas":{"items":{"$ref":"#/components/schemas/EstudoDoCaderno"},"type":"array","title":"Ferramentas","description":"os estudos da SUÍTE que o projeto carrega (`v2.tools`), no mesmo formato do caderno. O que cada ferramenta publica vira CAMADA da folha TCC — a ponte entre a ferramenta e o estudo. O que não pode ser desenhado volta em `camadas_fora`, com o motivo"},"emissao_n":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Emissao N","description":"a emissão que o DOCUMENTO carrega hoje (C32); nula = nunca emitido"},"emissao_anterior_data":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Emissao Anterior Data","description":"a data da emissão que esta SUBSTITUI (a n−1, do histórico — `EmissaoDocumento.anterior_data`); a capa reemitida diz \"Substitui a rev. N, emitida em D\""},"incluir":{"$ref":"#/components/schemas/IncluirMemorial"},"consolidado":{"type":"boolean","title":"Consolidado","description":"o laudo consolidado §11: sumário e a tabela-mestra da instalação","default":false},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaIn"},{"type":"null"}],"description":"o Termo aceito e o hash do conjunto de alertas de que se deu ciência — sem ele o documento assinável não sai (428); com o conjunto mudado, também não (409)"}},"additionalProperties":false,"type":"object","required":["rede","protecoes","barra_estudo"],"title":"MemorialDaBarraRequest","description":"O MEMORIAL DA BARRA composto no SERVIDOR a partir do MODELO (W8): o corpo\ndo `study/bus` — a folha, os ajustes e a seletividade que a tela mostra são os\nque o documento imprime — mais o que só o documento carrega: a emissão (C32),\no que ele leva e se é o laudo consolidado §11."},"MemorialRequest":{"properties":{"Voc":{"type":"number","title":"Voc"},"Ibf":{"type":"number","title":"Ibf"},"G":{"type":"number","title":"G"},"D":{"type":"number","title":"D"},"T_p":{"type":"number","title":"T P"},"T_r":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T R"},"W":{"type":"number","title":"W","default":508.0},"H":{"type":"number","title":"H","default":508.0},"P_enc":{"type":"number","title":"P Enc","default":508.0},"cfg":{"type":"string","title":"Cfg","default":"VCB"},"equipamento":{"type":"string","title":"Equipamento","default":"—"},"local":{"type":"string","title":"Local","default":"—"},"responsavel":{"type":"string","title":"Responsavel","default":""},"lang":{"type":"string","title":"Lang","default":"pt"},"coord_fig_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coord Fig B64","description":"PNG da folha TCC (base64)"},"include_sc":{"type":"boolean","title":"Include Sc","default":false},"include_coord":{"type":"boolean","title":"Include Coord","default":false},"include_prancha":{"type":"boolean","title":"Include Prancha","default":false},"include_sensitivity":{"type":"boolean","title":"Include Sensitivity","default":false},"include_teoria":{"type":"boolean","title":"Include Teoria","default":false},"consolidado":{"type":"boolean","title":"Consolidado","description":"laudo consolidado §11 — acrescenta as seções de contexto ao memorial. NÃO liga a prancha do Anexo P: a folha paisagem depende de `include_prancha` E de um `coord_fig_b64`, porque desenhar uma prancha sem a figura do estudo daria uma folha vazia com carimbo","default":false},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaIn"},{"type":"null"}],"description":"o Termo aceito (S15) e o hash do conjunto de alertas de que se deu ciência (C29, `arc/ciencia`) — sem ele o memorial não sai (428); com o conjunto mudado, também não (409)"},"declaracoes":{"anyOf":[{"$ref":"#/components/schemas/DeclaracoesPonto"},{"type":"null"}],"description":"as declarações do checklist que entram no conjunto de alertas; ausentes = nada declarado"}},"additionalProperties":true,"type":"object","required":["Voc","Ibf","G","D","T_p"],"title":"MemorialRequest","description":"As entradas do `report_gen.generate_pdf`. Chaves extras (sc_result,\ncoord_devices, coord_selectivity, coord_erms, unifilar_svg, unifilar_kind,\nmaster_rows, sensitivity, wl_name…) passam adiante como estão."},"MetodoOut":{"properties":{"method":{"type":"string","title":"Method"},"label":{"type":"string","title":"Label"},"I_full_V_A":{"type":"number","title":"I Full V A"},"I_real_A":{"type":"number","title":"I Real A"},"V_bus_pu":{"type":"number","title":"V Bus Pu"},"V_term_pu":{"type":"number","title":"V Term Pu"},"dv_bus_pct":{"type":"number","title":"Dv Bus Pct"},"dv_term_pct":{"type":"number","title":"Dv Term Pct"},"C_start_pu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"C Start Pu","description":"None no VFD: o conjugado é do drive"},"dv_ok":{"type":"boolean","title":"Dv Ok"},"contactor_ok":{"type":"boolean","title":"Contactor Ok"},"accel_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Accel Ok","description":"None sem C_load_pu — sem a carga não há o que comparar"},"notes":{"items":{"type":"string"},"type":"array","title":"Notes"}},"type":"object","required":["method","label","I_full_V_A","I_real_A","V_bus_pu","V_term_pu","dv_bus_pct","dv_term_pct","dv_ok","contactor_ok"],"title":"MetodoOut"},"MitigacaoOut":{"properties":{"current_cat":{"type":"integer","title":"Current Cat"},"target_cat":{"type":"integer","title":"Target Cat"},"target_ei":{"type":"number","title":"Target Ei"},"T_current":{"type":"number","title":"T Current"},"D_current":{"type":"number","title":"D Current"},"T_target":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Target"},"T_at_D_rec":{"type":"boolean","title":"T At D Rec","default":false},"D_target":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"D Target"},"D_rec":{"type":"number","title":"D Rec"},"D_norm_met":{"type":"boolean","title":"D Norm Met"},"D_over_norm":{"type":"boolean","title":"D Over Norm"},"Ei_norm_ref":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei Norm Ref"},"Ei_current":{"type":"number","title":"Ei Current"},"T_var":{"type":"string","title":"T Var"}},"type":"object","required":["current_cat","target_cat","target_ei","T_current","D_current","D_rec","D_norm_met","D_over_norm","Ei_current","T_var"],"title":"MitigacaoOut","description":"`calc_core.mitigation_targets`: o tempo e a distância que levariam a\ncategoria de EPI para a faixa imediatamente abaixo. Alvo NÃO atingível vem\nNULO — nunca 0, que a tela leria como 'basta zerar'."},"MotoresIn":{"properties":{"P_kW":{"type":"number","exclusiveMinimum":0.0,"title":"P Kw","description":"potência somada do grupo (kW)"},"n":{"type":"integer","minimum":1.0,"title":"N","description":"número de motores","default":1},"cos_phi":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Cos Phi","default":0.85},"rendimento":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Rendimento","default":0.95},"Xd_sub_pu":{"type":"number","exclusiveMinimum":0.0,"title":"Xd Sub Pu","description":"reatância subtransitória (pu)","default":0.17},"RX_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rx Ratio","description":"None = classe do §6.10"}},"additionalProperties":false,"type":"object","required":["P_kW"],"title":"MotoresIn","description":"Grupo de motores na barra de cálculo (§6.10). Eles ENTRAM na corrente\nmáxima e são DESPREZADOS na mínima (§7.1.2, item 4) — não é opção da tela."},"NetworkRequest":{"properties":{"unifilar_interativo":{"type":"boolean","title":"Unifilar Interativo","description":"marca cada símbolo com `data-elem` para o clique (G126). É OPT-IN: o SVG default continua byte a byte o do laudo","default":false},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes","description":"as proteções posicionadas, só para o DESENHO — elas não entram no cálculo de curto-circuito. Sem elas o diagrama sai sem os símbolos de proteção, e quem acabou de pôr um disjuntor pelo desenho não o veria aparecer. Lista vazia = o SVG de sempre."},"datablock":{"type":"string","enum":["curto","arco","adequacao","protecao"],"title":"Datablock","description":"O QUE cabe no bloco de dados de cada barra, decidido no SERVIDOR — não é filtro de tela. `curto` traz as quatro correntes; `arco` traz só a Ik3φ, porque a energia e o tempo entram pelo estudo e quatro correntes ao lado deles tornam o bloco ilegível; `adequacao` traz Ik3φ e ip, que são as duas que o duty compara; `protecao` traz a máxima e a MÍNIMA, que são os limites entre os quais o pickup vive","default":"curto"},"unifilar_subrede":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unifilar Subrede","description":"id de barra: desenha só a ÁREA dela (a barra e o que está a jusante). As áreas da rede vêm em `areas`; None = a folha da rede inteira"},"barras":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Barras","description":"as barras (id, label, Vn_kV) — até 500 por rede (G342)"},"elementos":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Elementos","description":"transformadores, cabos, barramentos e reatores — até 1000 por rede (G342)"},"fonte":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Fonte","description":"a concessionária no ponto de conexão. Ausente (ou nula) só na rede alimentada por gerador — sem nenhum dos dois é recusa de forma"},"motores":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Motores"},"geradores":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Geradores","description":"geradores síncronos por barra (G334, IEC 60909-0 §6.6.1): bus_id, label, Sn_kVA, xd2_pu, cos_phi e os opcionais U_rG_kV, x0_pu, aterramento, Rn_ohm"},"cenarios":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Cenarios","description":"os cenários de OPERAÇÃO (G336): nome, `fontes` em serviço ('concessionaria' e as barras com gerador; ausente = todas) e `abertas` (os elementos abertos, [DE, PARA] ou 'DE→PARA'). Com eles o estudo de arco de cada barra é o do cenário de MAIS energia"},"lang":{"type":"string","title":"Lang","default":"pt"},"unifilar":{"type":"boolean","title":"Unifilar","default":true},"folha":{"anyOf":[{"$ref":"#/components/schemas/Folha"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["barras","elementos"],"title":"NetworkRequest","description":"Os registros dos data_editors (o mesmo contrato da tool `montar_rede`)."},"NetworkResponse":{"properties":{"duty":{"items":{"$ref":"#/components/schemas/DutyDispositivo"},"type":"array","title":"Duty","description":"a adequação de CADA proteção posicionada — o modo Curto não precisa do estudo da planta para julgar o equipamento, e a lista é a mesma que alimenta a Alert View"},"estudos_realizados":{"items":{"type":"string"},"type":"array","title":"Estudos Realizados","description":"as análises da planta (`ESTUDOS_DA_PLANTA`) que ESTA chamada produziu — é com elas que o índice é carimbado. Quem sabe que análise cada rota faz é o domínio; deduzir isso na tela seria recriar o catálogo do lado de lá"},"n_barras":{"type":"integer","title":"N Barras"},"barras":{"items":{"$ref":"#/components/schemas/BarraOut"},"type":"array","title":"Barras"},"maior_Icc_3ph":{"additionalProperties":true,"type":"object","title":"Maior Icc 3Ph"},"menor_Icc_3ph":{"additionalProperties":true,"type":"object","title":"Menor Icc 3Ph"},"barras_com_motores":{"items":{"type":"string"},"type":"array","title":"Barras Com Motores"},"barras_z0_por_elemento":{"items":{"type":"string"},"type":"array","title":"Barras Z0 Por Elemento"},"barras_multicaminho":{"items":{"type":"string"},"type":"array","title":"Barras Multicaminho"},"concessionaria":{"type":"boolean","title":"Concessionaria","description":"a rede tem concessionária (G334: falso = só gerador)","default":true},"geradores":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Geradores","description":"cada gerador com a impedância do §6.6.1 que o motor usou na máxima (K_G, R_GK e X_GK em mΩ, X/R) — para conferir à mão"},"operacoes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Operacoes","description":"G336: o curto de cada cenário de OPERAÇÃO declarado — as barras energizadas (máxima e mínima) e as desenergizadas. Vazio sem cenários; `barras` é a rede como desenhada, com todas as fontes e elementos"},"projeto":{"additionalProperties":true,"type":"object","title":"Projeto","description":"projeto .json schema v5 — o app abre"},"unifilar_svg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unifilar Svg"},"areas":{"items":{"$ref":"#/components/schemas/AreaOut"},"type":"array","title":"Areas","description":"ramos com sub-rede própria, para uma folha cada. VAZIA = a rede cabe numa folha só — não é falha de divisão"},"fonte_derivada":{"items":{"type":"string"},"type":"array","title":"Fonte Derivada","description":"o que a plataforma CONVERTEU do que a concessionária declarou (impedância em pu virando corrente, potência fase-terra virando corrente), com a identidade usada. VAZIA = a carta entrou na forma em que o motor trabalha e não houve conversão nenhuma — número derivado sem dizer de onde veio é o começo de um laudo que ninguém consegue conferir"},"engine":{"type":"string","title":"Engine"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["n_barras","barras","maior_Icc_3ph","menor_Icc_3ph","barras_com_motores","barras_z0_por_elemento","barras_multicaminho","projeto","engine","tier"],"title":"NetworkResponse"},"OpsIn":{"properties":{"rede":{"$ref":"#/components/schemas/NetworkRequest"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes","description":"as proteções de agora; voltam atualizadas (a remoção e a renomeação as acompanham)"},"op":{"type":"string","enum":["derivacao","motor","gerador","protecao","renomear","remover","sugerir_id"],"title":"Op"},"alvo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alvo","description":"`bus:<id>` · `edge:<de>→<para>` · `mot:<barra>` · `ger:<barra>` — a barra de onde sai (derivacao/motor/gerador/renomear) ou o elemento que sai (remover)"},"novo_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Novo Id","description":"id da barra nova (derivacao) ou o nome novo (renomear)"},"tipo":{"anyOf":[{"type":"string","enum":["cable","transformer","busbar","reactor"]},{"type":"null"}],"title":"Tipo"},"Vn_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vn Kv","description":"tensão da barra nova — só no transformador, que é quem muda o nível; no resto ela é herdada"},"motor":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Motor","description":"campos do grupo de motores (n_motores, P_kW, cos_phi, rendimento, Xd_sub_pu); ausentes caem no padrão do núcleo"},"gerador":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Gerador","description":"op `gerador` (G334): os campos do gerador (label, Sn_kVA, xd2_pu, cos_phi, U_rG_kV, x0_pu, aterramento, Rn_ohm); ausentes caem no padrão do núcleo"},"cabo":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Cabo","description":"op `motor` COM `novo_id`: os campos do cabo que alimenta o motor (secao_mm2, comprimento_m, material, T_op, num_conductors). O motor ganha uma barra nos TERMINAIS dele, e é ela que dá endereço ao estudo: sem barra não há onde pendurar o cabo nem a proteção, e o coordenograma do motor pede as três coisas juntas. Sem `novo_id` o motor entra como grupo NA barra, que é o modelo da contribuição dele para o curto e continua valendo"},"protecao":{"anyOf":[{"$ref":"#/components/schemas/Protecao"},{"type":"null"}],"description":"a proteção a posicionar; sem `ajustes`, que quem resolve é o modelo (fusível e MCB são de banda)"},"base":{"type":"string","maxLength":20,"title":"Base","description":"prefixo do id sugerido (op `sugerir_id`)","default":"QD"},"simular":{"type":"boolean","title":"Simular","description":"só a PRÉVIA: devolve o resumo da cascata sem aplicar, para a tela escrever a consequência no botão antes do clique","default":false},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["rede","op"],"title":"OpsIn","description":"Montar a rede PELO DIAGRAMA: acrescentar, renomear e remover.\n\nQuem sabe montar é o núcleo (`unifilar_ops`) — cabo e barramento herdam a\ntensão da origem porque o motor recusa passivo entre tensões diferentes;\nrenomear carrega TODAS as referências (aresta, motor, posição da proteção),\nsenão o motor recusaria a rede no run seguinte; e remover declara a cascata.\nCopiar isso no navegador seria a segunda cópia da mesma regra, que é o que\ncria defeito.\n\nO `alvo` é o MESMO `data-elem` do clique, resolvido pelo mesmo gate: id que\nnão existe na rede de agora não opera em nada."},"OpsOut":{"properties":{"barras":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Barras"},"elementos":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Elementos"},"motores":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Motores"},"geradores":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Geradores"},"cenarios":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Cenarios"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes"},"resumo":{"additionalProperties":{"type":"integer"},"type":"object","title":"Resumo","description":"o que a operação mexeu: barras, elementos, motores, geradores, protecoes"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"id_sugerido":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Sugerido"},"aplicado":{"type":"boolean","title":"Aplicado","description":"false na simulação","default":true}},"type":"object","title":"OpsOut","description":"A rede DEPOIS da operação — inteira, para a tela não remontar nada."},"OtpIn":{"properties":{"email":{"type":"string","maxLength":200,"minLength":5,"title":"Email","description":"e-mail convidado"}},"additionalProperties":false,"type":"object","required":["email"],"title":"OtpIn"},"OtpOut":{"properties":{"ok":{"type":"boolean","title":"Ok"},"email":{"type":"string","title":"Email"}},"type":"object","required":["ok","email"],"title":"OtpOut"},"OwnerIn":{"properties":{"token":{"type":"string","maxLength":200,"minLength":1,"title":"Token"}},"additionalProperties":false,"type":"object","required":["token"],"title":"OwnerIn","description":"O token de MANTENEDOR que a URL carrega (`?owner=…`, o mesmo endereço\nbookmarkável da plataforma). Vem CRU: quem confere é o servidor\n(`usage_metrics.owner_do_token`) — cliente não declara o próprio modo."},"OwnerOut":{"properties":{"marcado":{"type":"boolean","title":"Marcado"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo","description":"por que a sessão NÃO foi marcada como do mantenedor"}},"type":"object","required":["marcado"],"title":"OwnerOut"},"PanelIn":{"properties":{"P_W":{"type":"number","exclusiveMinimum":0.0,"title":"P W","description":"perdas totais dissipadas dentro do painel (W)"},"h_m":{"type":"number","exclusiveMinimum":0.0,"title":"H M","description":"altura (m)"},"w_m":{"type":"number","exclusiveMinimum":0.0,"title":"W M","description":"largura (m)"},"d_m":{"type":"number","exclusiveMinimum":0.0,"title":"D M","description":"profundidade (m)"},"montagem":{"type":"string","enum":["destacado","parede","fim_fila","central","central_cob"],"title":"Montagem","default":"destacado"},"ventilated":{"type":"boolean","title":"Ventilated","description":"aberturas de ventilação","default":false},"vent_area_cm2":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Vent Area Cm2","description":"área de saída"},"n_partitions":{"type":"integer","maximum":3.0,"minimum":0.0,"title":"N Partitions","description":"separações horizontais","default":0},"ambient_C":{"type":"number","title":"Ambient C","description":"temperatura ambiente (°C)","default":35.0},"device_limit_C":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Device Limit C","description":"limite do componente mais crítico"},"in_current_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"In Current A","description":"corrente nominal"},"regime":{"type":"string","enum":["BT","MT"],"title":"Regime","default":"BT"}},"additionalProperties":false,"type":"object","required":["P_W","h_m","w_m","d_m"],"title":"PanelIn","description":"Elevação de temperatura em painel (IEC 60890) — `study_panel_temp_rise`.\nA `montagem` é o vocabulário de `panel_temp_rise.MOUNTINGS` (a MESMA da\npágina): ela resolve as faces expostas e o tipo de instalação da Fig. 4."},"PanelMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/PanelIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"PanelMemorialIn"},"PanelOut":{"properties":{"P_W":{"type":"number","title":"P W"},"Ae_m2":{"type":"number","title":"Ae M2","description":"área efetiva de troca (Tab. 3)"},"ventilated":{"type":"boolean","title":"Ventilated"},"n_partitions":{"type":"integer","title":"N Partitions"},"ambient_C":{"type":"number","title":"Ambient C"},"branch":{"type":"string","title":"Branch","description":"ramo da norma (Ae > 1,25 m² ou ≤)"},"x":{"type":"number","title":"X"},"k":{"type":"number","title":"K"},"d":{"type":"number","title":"D"},"c":{"type":"number","title":"C"},"geom_label":{"type":"string","title":"Geom Label"},"geom_value":{"type":"number","title":"Geom Value"},"delta_t_mid_K":{"type":"number","title":"Delta T Mid K"},"delta_t_top_K":{"type":"number","title":"Delta T Top K"},"T_mid_C":{"type":"number","title":"T Mid C"},"T_top_C":{"type":"number","title":"T Top C"},"busbar_cap_C":{"type":"number","title":"Busbar Cap C"},"ok_busbar":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ok Busbar","description":"None em MT: lá a verificação é por ENSAIO, não por cálculo"},"busbar_margin_K":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Busbar Margin K"},"regime":{"type":"string","title":"Regime"},"device_limit_C":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Device Limit C"},"ok_device":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ok Device"},"device_margin_K":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Device Margin K"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"IEC 60890 · aceitação NBR IEC 61439-1 Tab. 6"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["P_W","Ae_m2","ventilated","n_partitions","ambient_C","branch","x","k","d","c","geom_label","geom_value","delta_t_mid_K","delta_t_top_K","T_mid_C","T_top_C","busbar_cap_C","regime"],"title":"PanelOut"},"ParSeletividade":{"properties":{"up":{"type":"string","title":"Up"},"dn":{"type":"string","title":"Dn"},"selective":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Selective"},"n_failures":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Failures"},"n_points_tested":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Points Tested"},"margin_required_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margin Required Pct"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo"},"falhas":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Falhas","description":"ponto a ponto: I_kA, t_up_ms, t_dn_ms, margin_pct e o tipo (issue)"},"faixas":{"items":{"$ref":"#/components/schemas/FaixaReprovada"},"type":"array","title":"Faixas","description":"as faixas de CORRENTE em que o par reprova — o que a camada `seletividade` da folha desenha; vazia no par seletivo ou não verificado"},"I_min_barra_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Min Barra Ka","description":"a MENOR corrente de falta nesta barra que atravessa o par (arco reduzido do ramo ou curto mínimo referido ao ramo) — cada falha diz em `na_faixa` se está acima dela (G233)"},"n_na_faixa":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Na Faixa","description":"quantos conflitos estão NA faixa de falta desta barra; os outros só existem com falta mais a jusante. Nulo no par não verificado"}},"type":"object","required":["up","dn"],"title":"ParSeletividade","description":"Um par de proteções ADJACENTES na cadeia e o veredito da seletividade\n(IEC 60255-151, margem mínima de 15 %). As chaves são as que o memorial\nimprime (`coord_selectivity`); o par não verificável tem `selective` NULO e o\nMOTIVO — \"não verificado\" nunca pode ser lido como \"conforme\"."},"ParametrosDoEstudo":{"properties":{"cb_open_ms":{"type":"number","maximum":500.0,"minimum":0.0,"title":"Cb Open Ms","description":"tempo de abertura do disjuntor (ms)","default":0.0},"camadas_folha":{"$ref":"#/components/schemas/CamadasFolha"},"erms_on":{"type":"boolean","title":"Erms On","default":false},"erms_ii_pu":{"type":"number","exclusiveMinimum":0.0,"title":"Erms Ii Pu","default":2.5},"geometria_padrao":{"$ref":"#/components/schemas/GeometriaPadrao","description":"a geometria padrão da PLANTA por classe de tensão (bt até 1 kV · mt acima), PARCIAL sobre o padrão do núcleo; a geometria da barra prevalece. Entra na energia de todas as barras da classe"},"banda_padrao":{"anyOf":[{"type":"string","const":"norma"},{"type":"null"}],"title":"Banda Padrao","description":"a banda padrão do disparador de curto-circuito (G330) guardada no projeto — a mesma opção de `StudyRequest.banda_padrao`"},"t_sem_atuacao_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Sem Atuacao Ms","description":"o tempo máximo de arco sem atuação (G329) guardado no projeto — a mesma opção de `StudyRequest.t_sem_atuacao_ms`"},"base_ibf":{"anyOf":[{"type":"string","enum":["pior_caso","nominal"]},{"type":"null"}],"title":"Base Ibf","description":"o pior caso de Ibf (G333) guardado no projeto — a mesma opção de `StudyRequest.base_ibf`"},"t_cabo_C":{"anyOf":[{"type":"number","maximum":250.0,"minimum":-40.0},{"type":"null"}],"title":"T Cabo C","description":"a temperatura dos cabos da base nominal (G328) guardada no projeto — a mesma opção de `StudyRequest.t_cabo_C`"}},"additionalProperties":false,"type":"object","title":"ParametrosDoEstudo","description":"Os parâmetros do estudo que o projeto guarda ao lado dos ajustes (no\n`coord.cfg` da plataforma): o tempo de abertura do disjuntor, que entra na\nenergia, as camadas de leitura da folha e o modo manutenção."},"ParcelaIn":{"properties":{"competencia":{"type":"string","title":"Competencia","description":"AAAA-MM"},"valor_rs":{"type":"number","minimum":0.0,"title":"Valor Rs","description":"valor recebido indevidamente, em módulo"},"descricao":{"type":"string","title":"Descricao","default":""}},"additionalProperties":false,"type":"object","required":["competencia","valor_rs"],"title":"ParcelaIn"},"ParcelaLacoOut":{"properties":{"parcela":{"type":"string","title":"Parcela"},"R_mohm":{"type":"number","title":"R Mohm"},"X_mohm":{"type":"number","title":"X Mohm"}},"type":"object","required":["parcela","R_mohm","X_mohm"],"title":"ParcelaLacoOut","description":"Uma parcela do laço de falta — a memória de impedâncias."},"ParcelaOut":{"properties":{"competencia":{"type":"string","title":"Competencia"},"descricao":{"type":"string","title":"Descricao"},"valor_rs":{"type":"number","title":"Valor Rs"},"no_alcance":{"type":"boolean","title":"No Alcance"},"meses_ate_constatacao":{"type":"integer","title":"Meses Ate Constatacao"},"dobro_aplicado":{"type":"boolean","title":"Dobro Aplicado"},"valor_dobrado":{"type":"number","title":"Valor Dobrado"},"fator_ipca":{"type":"number","title":"Fator Ipca"},"valor_atualizado":{"type":"number","title":"Valor Atualizado"},"juros_rs":{"additionalProperties":{"type":"number"},"type":"object","title":"Juros Rs"},"total_rs":{"additionalProperties":{"type":"number"},"type":"object","title":"Total Rs"},"ipca_faltante":{"items":{"type":"string"},"type":"array","title":"Ipca Faltante"}},"type":"object","required":["competencia","descricao","valor_rs","no_alcance","meses_ate_constatacao","dobro_aplicado","valor_dobrado","fator_ipca","valor_atualizado","juros_rs","total_rs"],"title":"ParcelaOut"},"PartidaIn":{"properties":{"P_kW":{"type":"number","exclusiveMinimum":0.0,"title":"P Kw","description":"potência do motor (kW)"},"V_V":{"type":"number","exclusiveMinimum":0.0,"title":"V V","description":"tensão nominal (V)"},"eta":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Eta","default":0.92},"pf":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Pf","description":"FP nominal","default":0.86},"Ip_In":{"type":"number","exclusiveMinimum":1.0,"title":"Ip In","description":"corrente de partida sobre a nominal","default":7.0},"pf_start":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Pf Start","description":"FP de rotor bloqueado","default":0.25},"Cp_Cn":{"type":"number","exclusiveMinimum":0.0,"title":"Cp Cn","description":"conjugado de partida sobre o nominal","default":2.0},"method":{"type":"string","enum":["direta","estrela_triangulo","compensadora_65","compensadora_80","soft_starter","vfd"],"title":"Method","default":"direta"},"fonte":{"type":"string","enum":["scc","trafo","gerador"],"title":"Fonte","default":"trafo"},"scc_MVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Scc Mva","description":"fonte 'scc'"},"icc_kA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Icc Ka","description":"fonte 'scc' (alternativa)"},"XR_fonte":{"type":"number","exclusiveMinimum":0.0,"title":"Xr Fonte","default":10.0},"Sn_kVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Sn Kva","description":"fonte 'trafo' ou 'gerador'"},"vcc_pct":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Vcc Pct","description":"fonte 'trafo'"},"xd_pct":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Xd Pct","description":"fonte 'gerador'"},"scc_up_MVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Scc Up Mva","description":"curto a montante do trafo"},"cable_mm2":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Cable Mm2"},"cable_m":{"type":"number","minimum":0.0,"title":"Cable M","default":0.0},"cable_material":{"type":"string","enum":["Cu","Al"],"title":"Cable Material","default":"Cu"},"cable_parallel":{"type":"integer","minimum":1.0,"title":"Cable Parallel","default":1},"C_load_pu":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"C Load Pu","description":"conjugado resistente da carga (pu); sem ele não há veredito de aceleração"},"dv_limit_pct":{"type":"number","exclusiveMinimum":0.0,"title":"Dv Limit Pct","description":"afundamento admissível na barra","default":10.0},"soft_limit_xIn":{"type":"number","exclusiveMinimum":0.0,"title":"Soft Limit Xin","default":3.0},"vfd_current_xIn":{"type":"number","exclusiveMinimum":0.0,"title":"Vfd Current Xin","default":1.5}},"additionalProperties":false,"type":"object","required":["P_kW","V_V"],"title":"PartidaIn","description":"Partida de motor (IEC 60034 / NEMA MG 1) — `study_motor_starting`.\nA FONTE entra por um dos três caminhos (`fonte`), porque a impedância vista\npelo motor é o que decide o afundamento; o cabo até o motor é opcional."},"PartidaMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/PartidaIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"PartidaMemorialIn"},"PartidaOut":{"properties":{"In_A":{"type":"number","title":"In A"},"I_start_dol_A":{"type":"number","title":"I Start Dol A"},"scc_bus_MVA":{"type":"number","title":"Scc Bus Mva"},"dv_limit_pct":{"type":"number","title":"Dv Limit Pct"},"Z_fonte":{"$ref":"#/components/schemas/ImpedanciaOut"},"Z_cabo":{"$ref":"#/components/schemas/ImpedanciaOut"},"Z_motor":{"$ref":"#/components/schemas/ImpedanciaOut"},"escolhido":{"$ref":"#/components/schemas/MetodoOut"},"comparacao":{"items":{"$ref":"#/components/schemas/MetodoOut"},"type":"array","title":"Comparacao"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"IEC 60034 · NEMA MG 1"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["In_A","I_start_dol_A","scc_bus_MVA","dv_limit_pct","Z_fonte","Z_cabo","Z_motor","escolhido","comparacao"],"title":"PartidaOut"},"PartidaTcResumoOut":{"properties":{"ratio":{"type":"string","title":"Ratio"},"I_start_A":{"type":"number","title":"I Start A"},"xr":{"type":"number","title":"Xr"},"pickup_A":{"type":"number","title":"Pickup A"},"pickup_sec_A":{"type":"number","title":"Pickup Sec A"},"I1_fund_max_A":{"type":"number","title":"I1 Fund Max A"},"I2_fund_max_A":{"type":"number","title":"I2 Fund Max A"},"I2_peak_rms_A":{"type":"number","title":"I2 Peak Rms A"},"secure_ideal":{"type":"boolean","title":"Secure Ideal"},"secure_fund":{"type":"boolean","title":"Secure Fund"},"secure_peak":{"type":"boolean","title":"Secure Peak"},"margin_ideal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margin Ideal"},"ts_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts Ms"},"ratio_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ratio Min"},"I_start_sec_A":{"type":"number","title":"I Start Sec A"},"margin_classic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margin Classic","description":"pickup ÷ partida eficaz (critério ≥ 1,2×); None = infinita"},"Xb_ohm":{"type":"number","title":"Xb Ohm"},"remanence":{"type":"number","title":"Remanence"},"S":{"type":"number","title":"S"},"N":{"type":"number","title":"N"}},"type":"object","required":["ratio","I_start_A","xr","pickup_A","pickup_sec_A","I1_fund_max_A","I2_fund_max_A","I2_peak_rms_A","secure_ideal","secure_fund","secure_peak","I_start_sec_A","Xb_ohm","remanence","S","N"],"title":"PartidaTcResumoOut","description":"A partida de motor no tempo — o MESMO resumo que o memorial imprime\n(`resumo_partida`)."},"PartidaTempoIn":{"properties":{"P_kW":{"type":"number","exclusiveMinimum":0.0,"title":"P Kw","description":"potência do motor (kW)"},"V_V":{"type":"number","exclusiveMinimum":0.0,"title":"V V","description":"tensão nominal (V)"},"eta":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Eta","default":0.92},"pf":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Pf","description":"FP nominal","default":0.86},"Ip_In":{"type":"number","exclusiveMinimum":1.0,"title":"Ip In","default":7.0},"pf_start":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Pf Start","default":0.25},"Cp_Cn":{"type":"number","exclusiveMinimum":0.0,"title":"Cp Cn","default":2.0},"fonte":{"type":"string","enum":["scc","trafo","gerador"],"title":"Fonte","default":"trafo"},"scc_MVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Scc Mva"},"icc_kA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Icc Ka"},"XR_fonte":{"type":"number","exclusiveMinimum":0.0,"title":"Xr Fonte","default":10.0},"Sn_kVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Sn Kva"},"vcc_pct":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Vcc Pct"},"xd_pct":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Xd Pct"},"scc_up_MVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Scc Up Mva"},"cable_mm2":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Cable Mm2"},"cable_m":{"type":"number","minimum":0.0,"title":"Cable M","default":0.0},"cable_material":{"type":"string","enum":["Cu","Al"],"title":"Cable Material","default":"Cu"},"cable_parallel":{"type":"integer","minimum":1.0,"title":"Cable Parallel","default":1},"poles":{"type":"integer","minimum":2.0,"title":"Poles","default":4},"freq_hz":{"type":"number","exclusiveMinimum":0.0,"title":"Freq Hz","default":60.0},"slip_n":{"type":"number","exclusiveMaximum":0.5,"exclusiveMinimum":0.0,"title":"Slip N","description":"escorregamento nominal (fração)","default":0.02},"modelo":{"type":"string","enum":["placa","circuito","curva"],"title":"Modelo","default":"placa"},"Cmax_Cn":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Cmax Cn","description":"placa: com Cmax > Cp a curva é a fiel (efeito pelicular)"},"circuito":{"anyOf":[{"$ref":"#/components/schemas/CircuitoMotorIn"},{"type":"null"}]},"curva":{"anyOf":[{"$ref":"#/components/schemas/CurvaMotorIn"},{"type":"null"}]},"carga":{"type":"string","title":"Carga","description":"preset da biblioteca de cargas (`tools/motor/cargas`)","default":"Bomba centrífuga"},"carga_c0_pu":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Carga C0 Pu","description":"conjugado de partida da carga (×Cn); nulo = o do preset"},"carga_pleno_pu":{"type":"number","exclusiveMinimum":0.0,"title":"Carga Pleno Pu","description":"conjugado da carga na rotação nominal (×Cn)","default":1.0},"carga_pontos":{"anyOf":[{"$ref":"#/components/schemas/CargaPontosIn"},{"type":"null"}]},"J_motor":{"type":"number","exclusiveMinimum":0.0,"title":"J Motor","description":"inércia do motor (kg·m²)","default":1.5},"J_carga":{"type":"number","minimum":0.0,"title":"J Carga","description":"inércia da carga refletida ao eixo","default":1.5},"gd2":{"type":"boolean","title":"Gd2","description":"as inércias vêm em GD² (J = GD²/4)","default":false},"t_lr_s":{"type":"number","exclusiveMinimum":0.0,"title":"T Lr S","description":"tempo de rotor bloqueado admissível (placa, a frio)","default":16.0},"margem_s":{"type":"number","minimum":0.0,"title":"Margem S","description":"folga exigida sobre a aceleração (N-313: 2 s)","default":2.0},"dt_s":{"type":"number","maximum":0.05,"exclusiveMinimum":0.0,"title":"Dt S","default":0.01},"t_max_s":{"type":"number","maximum":120.0,"exclusiveMinimum":0.0,"title":"T Max S","default":20.0},"figuras":{"type":"boolean","title":"Figuras","description":"as duas figuras do memorial, em PNG, do MESMO gerador","default":true}},"additionalProperties":false,"type":"object","required":["P_kW","V_V"],"title":"PartidaTempoIn","description":"Partida DIRETA no domínio do tempo (IEEE 3002.7 · NBR 17094) —\n`study_start_time`. O motor, a fonte e o cabo são os da partida por método\n(os mesmos campos); o que entra aqui é o que o TEMPO pede: polos, inércia,\na carga acionada, o modelo do motor e o rotor bloqueado."},"PartidaTempoMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/PartidaTempoIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"PartidaTempoMemorialIn"},"PartidaTempoOut":{"properties":{"t_accel_s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Accel S","description":"nulo quando não acelera — nunca zero"},"motivo":{"type":"string","title":"Motivo"},"desfecho":{"type":"string","title":"Desfecho"},"In_A":{"type":"number","title":"In A"},"I_partida_A":{"type":"number","title":"I Partida A"},"v_min_pct":{"type":"number","title":"V Min Pct"},"contator_ok":{"type":"boolean","title":"Contator Ok"},"n_s_rpm":{"type":"number","title":"N S Rpm"},"n_n_rpm":{"type":"number","title":"N N Rpm"},"J_kgm2":{"type":"number","title":"J Kgm2"},"modelo_txt":{"type":"string","title":"Modelo Txt"},"carga_txt":{"type":"string","title":"Carga Txt"},"curva_fiel":{"type":"boolean","title":"Curva Fiel","description":"o modelo de efeito pelicular foi usado"},"termico":{"$ref":"#/components/schemas/TermicoRotorOut"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"figura_txn_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Txn Png B64"},"figura_tempo_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Tempo Png B64"},"norma":{"type":"string","title":"Norma","default":"IEEE 3002.7 · ABNT NBR 17094"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["motivo","desfecho","In_A","I_partida_A","v_min_pct","contator_ok","n_s_rpm","n_n_rpm","J_kgm2","modelo_txt","carga_txt","curva_fiel","termico"],"title":"PartidaTempoOut"},"PassoSequencia":{"properties":{"label":{"type":"string","title":"Label"},"papel":{"type":"string","title":"Papel","description":"bus (lado da barra) · line (retaguarda) · ctx (contexto)"},"t_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Ms"},"ordem":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ordem"},"delta_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Delta Ms"}},"type":"object","required":["label","papel"],"title":"PassoSequencia","description":"Uma proteção na SEQUÊNCIA de operação: quando atuaria, em que ordem, e o\nintervalo até a anterior. Tempo NULO = não atua naquela corrente."},"PerdasCaboOut":{"properties":{"n_conductors":{"type":"integer","title":"N Conductors"},"R_phase_ohm":{"type":"number","title":"R Phase Ohm"},"P_loss_W":{"type":"number","title":"P Loss W"},"hours_year":{"type":"number","title":"Hours Year"},"E_year_kWh":{"type":"number","title":"E Year Kwh"},"cost_year":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost Year","description":"nulo sem a tarifa"},"tariff":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tariff"}},"type":"object","required":["n_conductors","R_phase_ohm","P_loss_W","hours_year","E_year_kWh"],"title":"PerdasCaboOut","description":"A perda por efeito Joule (I²R) nos condutores de fase a Ib e o custo anual\n(C75). R à temperatura máxima da isolação — conservador; sem neutro/PE nem\nperdas dielétricas."},"PeriodoOut":{"properties":{"index":{"type":"integer","title":"Index"},"A_p":{"type":"number","title":"A P","description":"corrente do período (A)"},"start_min":{"type":"number","title":"Start Min"},"end_min":{"type":"number","title":"End Min"}},"type":"object","required":["index","A_p","start_min","end_min"],"title":"PeriodoOut"},"PfcIn":{"properties":{"cargas":{"items":{"$ref":"#/components/schemas/CargaIn"},"type":"array","maxItems":40,"minItems":1,"title":"Cargas"},"fp_meta":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Fp Meta","description":"0,92 é o regulatório","default":0.92},"step_kvar":{"type":"number","exclusiveMinimum":0.0,"title":"Step Kvar","description":"degrau comercial do banco","default":5.0},"tarifa_kwh":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Tarifa Kwh","description":"R$/kWh"},"custo_por_kvar":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Custo Por Kvar","description":"R$/kvar instalado"},"V_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"V Kv","description":"tensão do banco (kV)"},"carga_min_pct":{"anyOf":[{"type":"number","maximum":100.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Carga Min Pct","description":"carga mínima (%) — checa sobrecorreção"},"use_catalog":{"type":"boolean","title":"Use Catalog","description":"usar unidades de catálogo","default":false},"Un_cap_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Un Cap Kv","description":"tensão nominal do capacitor"},"dias_mes":{"type":"number","maximum":31.0,"exclusiveMinimum":0.0,"title":"Dias Mes","default":30.0},"postos":{"anyOf":[{"$ref":"#/components/schemas/PostosIn"},{"type":"null"}]},"estagios":{"anyOf":[{"$ref":"#/components/schemas/EstagiosIn"},{"type":"null"}]},"manobra":{"anyOf":[{"$ref":"#/components/schemas/ManobraIn"},{"type":"null"}]},"figura":{"type":"boolean","title":"Figura","description":"o triângulo de potências em PNG, do MESMO gerador do memorial","default":true}},"additionalProperties":false,"type":"object","required":["cargas"],"title":"PfcIn","description":"Correção de fator de potência (REN ANEEL 1.000) — `reactive.pfc_study`.\nSem `tarifa_kwh`/`custo_por_kvar` o estudo sai SEM as contas de dinheiro\n(multa, economia, payback ficam nulos) — preço não se inventa."},"PfcMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/PfcIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"PfcMemorialIn"},"PfcOut":{"properties":{"P_kW":{"type":"number","title":"P Kw"},"Q_kvar":{"type":"number","title":"Q Kvar"},"S_kVA":{"type":"number","title":"S Kva"},"fp_atual":{"type":"number","title":"Fp Atual"},"fp_meta":{"type":"number","title":"Fp Meta"},"Qc_kvar":{"type":"number","title":"Qc Kvar","description":"reativo necessário para a meta"},"Qc_com_kvar":{"type":"number","title":"Qc Com Kvar","description":"banco comercial adotado"},"Q_final":{"type":"number","title":"Q Final"},"S_final":{"type":"number","title":"S Final"},"kwh_dia":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Kwh Dia"},"V_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"V Kv"},"In_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"In A","description":"corrente nominal do banco"},"norma":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Norma","description":"IEC 60831 (BT) ou 60871 (MT)"},"multa_mes":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Multa Mes","description":"None sem tarifa informada"},"economia_ano":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Economia Ano"},"investimento":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Investimento"},"payback_meses":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Payback Meses"},"carga_min_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Carga Min Pct"},"fp_carga_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fp Carga Min","description":"FP na carga mínima — sobrecorreção fica visível"},"q_resid_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Q Resid Min"},"Q_efetivo_kvar":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Q Efetivo Kvar"},"postos":{"anyOf":[{"$ref":"#/components/schemas/PostosOut"},{"type":"null"}]},"estagios":{"anyOf":[{"$ref":"#/components/schemas/EstagiosOut"},{"type":"null"}]},"manobra":{"anyOf":[{"$ref":"#/components/schemas/ManobraOut"},{"type":"null"}]},"complementos_fora":{"items":{"type":"string"},"type":"array","title":"Complementos Fora","description":"COBERTURA: o complemento pedido que não se aplica, e por quê"},"figura_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Png B64","description":"o triângulo de potências — o do memorial"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["P_kW","Q_kvar","S_kVA","fp_atual","fp_meta","Qc_kvar","Qc_com_kvar","Q_final","S_final"],"title":"PfcOut"},"PlantaOut":{"properties":{"duty":{"items":{"$ref":"#/components/schemas/DutyDispositivo"},"type":"array","title":"Duty","description":"a adequação de CADA proteção posicionada — a MESMA lista do modo Curto; é dela que saem os alertas de duty, nomeando a proteção"},"estudos_realizados":{"items":{"type":"string"},"type":"array","title":"Estudos Realizados","description":"a planta inteira é o estudo de ARCO de todas as barras; a folha de coordenação é de UMA barra e sai pelo `study/bus`"},"linhas":{"items":{"$ref":"#/components/schemas/LinhaLoteOut"},"type":"array","title":"Linhas"},"tabela_mestra":{"items":{"$ref":"#/components/schemas/LinhaMestraOut"},"type":"array","title":"Tabela Mestra","description":"a TABELA-MESTRA da planta — uma linha por barra, a do §11 do laudo"},"criterios":{"items":{"$ref":"#/components/schemas/CriterioOut"},"type":"array","title":"Criterios","description":"os CRITÉRIOS DO ESTUDO declarados (G318) — os mesmos do estudo da barra, para a planta inteira"},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaOut"},{"type":"null"}],"description":"o gate de emissão dos documentos da PLANTA (caderno e etiquetas): o Termo e os alertas da rede, com o hash"},"impressao_modelo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impressao Modelo","description":"a IMPRESSÃO DO MODELO (W8) — a mesma do estudo da barra para o mesmo modelo; é a que a capa do caderno imprime"},"sem_estudo":{"items":{"$ref":"#/components/schemas/BarraSemEstudo"},"type":"array","title":"Sem Estudo"},"alertas":{"items":{"$ref":"#/components/schemas/AlertaRedeOut"},"type":"array","title":"Alertas","description":"o que a rede denuncia: energia alta, retaguarda cega e duty"},"n_ok":{"type":"integer","title":"N Ok"},"n_sem_estudo":{"type":"integer","title":"N Sem Estudo"},"indice":{"anyOf":[{"$ref":"#/components/schemas/IndiceOut"},{"type":"null"}],"description":"estado dos estudos contra a revisão vigente; ausente quando a requisição não declara revisões nem estudos"},"engine":{"type":"string","title":"Engine"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["linhas","sem_estudo","n_ok","n_sem_estudo","engine","tier"],"title":"PlantaOut"},"PlantaRequest":{"properties":{"rede":{"$ref":"#/components/schemas/NetworkRequest"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes"},"ajustes":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Ajustes","description":"por placement_key, como em study/bus"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria","description":"por id de barra"},"cb_open_ms":{"type":"number","maximum":500.0,"minimum":0.0,"title":"Cb Open Ms","description":"tempo de abertura do disjuntor (ms) — o MESMO da folha: a etiqueta tem de dizer a energia que o estudo da barra diz","default":0.0},"t_sem_atuacao_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Sem Atuacao Ms","description":"OPÇÃO, desligada por padrão (nulo): o tempo máximo de arco, em ms, adotado na barra cuja proteção EXISTE e não vê nenhuma das correntes de arco (G329). Com ela a barra ganha energia no tempo declarado — sem somar abertura — e a marca `t_max_adotado = sem_atuacao`; sem ela, sai sem número, como sempre. Maior que zero e no máximo 2000 ms (IEEE 1584:2018 §6.9.1), senão 422. A barra sem proteção declarada continua sem número, e o alerta `retaguarda_cega` permanece"},"banda_padrao":{"anyOf":[{"type":"string","const":"norma"},{"type":"null"}],"title":"Banda Padrao","description":"a banda padrão do disparador de curto-circuito — a MESMA opção do estudo da barra (ver `StudyRequest.banda_padrao`): a etiqueta tem de dizer a energia que a folha diz. Nulo = a curva nominal"},"base_ibf":{"anyOf":[{"type":"string","enum":["pior_caso","nominal"]},{"type":"null"}],"title":"Base Ibf","description":"OPÇÃO, desligada por padrão (nulo = a corrente de curto MÁXIMA, como sempre): 'pior_caso' calcula cada barra também com a corrente MÍNIMA (IEC 60909-0 §7.1.2, ou a fonte mínima que a concessionária declara em `fonte.Icc_min_kA`) e fica com a que dá MAIS energia no cenário governante (NBR 17227 §4.2.1.3 e §5.1.12). O modo que governou sai em `ibf_base` de cada cenário; a corrente mínima que não pôde ser calculada é 422. 'nominal' (G328) calcula a energia com a corrente de TENSÃO NOMINAL — c = 1,0 no ponto de falta, sem K_T e os cabos em `t_cabo_C` (nulo = a temperatura de cada cabo): a base dos estudos feitos em tensão nominal, FORA do §7.1.2, dita no laudo; a máxima da norma segue dimensionando a barra"},"t_cabo_C":{"anyOf":[{"type":"number","maximum":250.0,"minimum":-40.0},{"type":"null"}],"title":"T Cabo C","description":"a temperatura dos cabos (°C) na base `nominal` de Ibf (G328): nula = a temperatura declarada em cada cabo. Só vale com `base_ibf='nominal'`"},"barras":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Barras","description":"subconjunto de barras; None = todas as que têm estudo"},"geometria_padrao":{"$ref":"#/components/schemas/GeometriaPadrao","description":"a geometria padrão da PLANTA por classe de tensão (bt até 1 kV · mt acima), PARCIAL sobre o padrão do núcleo; a geometria da barra prevalece. Entra na energia de todas as barras da classe"},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaIn"},{"type":"null"}],"description":"o Termo aceito e o hash do conjunto de alertas de que se deu ciência — sem ele o documento assinável não sai (428); com o conjunto mudado, também não (409)"},"projeto":{"type":"string","title":"Projeto","default":""},"responsavel":{"type":"string","title":"Responsavel","default":""},"revisoes":{"items":{"$ref":"#/components/schemas/Revisao"},"type":"array","title":"Revisoes","description":"histórico de revisões da planta, na ordem em que foi escrito; a vigente é a ÚLTIMA"},"estudos":{"additionalProperties":{"$ref":"#/components/schemas/EstudoDaPlanta"},"type":"object","title":"Estudos","description":"por slug de ESTUDOS_DA_PLANTA (arco, curto, coordenograma, seletividade, partida): a revisão contra a qual cada um foi feito"},"emissao":{"anyOf":[{"$ref":"#/components/schemas/EmissaoDocumento"},{"type":"null"}],"description":"a emissão do DOCUMENTO (C32) — a que o arquivo carrega HOJE, não a próxima: o número impresso e o arquivo guardado têm de dizer a mesma coisa. Ausente, a capa declara que o documento nunca foi emitido, em vez de inventar um número"},"origem":{"type":"string","title":"Origem","description":"procedência do MODELO (`_gerado_por`): rede montada por IA a partir dos documentos do engenheiro — a conferência é dele, e o documento registra de onde veio o modelo","default":""}},"type":"object","required":["rede"],"title":"PlantaRequest","description":"A planta INTEIRA a partir de UMA rede resolvida.\n\nO corpo é o do estudo por barra sem `barra_estudo`: a mesma rede, as mesmas\nproteções e os mesmos ajustes. A diferença é o produto — em vez da folha de\numa barra, a tabela de energia incidente de TODAS as barras que a cadeia de\nproteção alcança, pronta para virar etiqueta."},"PontoOut":{"properties":{"nome":{"type":"string","title":"Nome"},"I_kA":{"type":"number","title":"I Ka"},"t_ms":{"type":"number","title":"T Ms"}},"type":"object","required":["nome","I_kA","t_ms"],"title":"PontoOut"},"PostosIn":{"properties":{"consumo_dia_kwh":{"type":"number","minimum":0.0,"title":"Consumo Dia Kwh","description":"posto indutivo 06h–24h (kWh/mês)"},"fp_dia":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Fp Dia","description":"FP no posto indutivo"},"consumo_noite_kwh":{"type":"number","minimum":0.0,"title":"Consumo Noite Kwh","description":"posto capacitivo 00h–06h (kWh/mês)","default":0.0},"fp_noite":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Fp Noite","description":"módulo do FP no posto capacitivo","default":0.92}},"additionalProperties":false,"type":"object","required":["consumo_dia_kwh","fp_dia"],"title":"PostosIn","description":"A apuração do EREX por POSTO (REN 1.000): a referência 0,92 vale indutiva\ndas 06h às 24h e capacitiva das 00h às 06h — o posto noturno cobra a\nsobrecorreção do banco fixo em carga leve. Exige a tarifa do reativo."},"PostosOut":{"properties":{"ere_dia":{"type":"number","title":"Ere Dia","description":"excedente indutivo (06h–24h), R$/mês"},"ere_noite":{"type":"number","title":"Ere Noite","description":"excedente capacitivo (00h–06h), R$/mês"},"total":{"type":"number","title":"Total"}},"type":"object","required":["ere_dia","ere_noite","total"],"title":"PostosOut"},"PranchaRequest":{"properties":{"rede":{"$ref":"#/components/schemas/NetworkRequest"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes"},"barra_estudo":{"type":"string","title":"Barra Estudo"},"ajustes":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Ajustes","description":"por placement_key (ver resposta): curve, in, ir, tms, isden, isd, tsd, iien, ii, tinst, tab, a tolerância digitada toli/tolt/tolii (± % nos pickups · no tempo das curvas L e S · só na instantânea) e a curva térmica tabelada pts/pts_rapida/pts_base/pts_fonte (G325)"},"cb_open_ms":{"type":"number","maximum":500.0,"minimum":0.0,"title":"Cb Open Ms","description":"tempo de abertura do disjuntor (ms), somado ao tempo de atuação das proteções nos dois lados do compartimento. Com um RELÉ decidindo, 0 ms deixa de fora os ciclos do disjuntor que ele comanda — e o aviso sai em `avisos`","default":0.0},"t_sem_atuacao_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Sem Atuacao Ms","description":"OPÇÃO, desligada por padrão (nulo): o tempo máximo de arco, em ms, adotado na barra cuja proteção EXISTE e não vê nenhuma das correntes de arco (G329). Com ela a barra ganha energia no tempo declarado — sem somar abertura — e a marca `t_max_adotado = sem_atuacao`; sem ela, sai sem número, como sempre. Maior que zero e no máximo 2000 ms (IEEE 1584:2018 §6.9.1), senão 422. A barra sem proteção declarada continua sem número, e o alerta `retaguarda_cega` permanece"},"banda_padrao":{"anyOf":[{"type":"string","const":"norma"},{"type":"null"}],"title":"Banda Padrao","description":"banda PADRÃO do disparador de curto-circuito onde o banco não declara banda e nenhuma tolerância foi digitada: 'norma' aplica ±20 % na instantânea do disjuntor termomagnético (IEC 60947-2), dito na folha como premissa do estudo; eletrônico e relé seguem na curva ajustada. Nulo = a curva nominal, como sempre foi"},"base_ibf":{"anyOf":[{"type":"string","enum":["pior_caso","nominal"]},{"type":"null"}],"title":"Base Ibf","description":"OPÇÃO, desligada por padrão (nulo = a corrente de curto MÁXIMA, como sempre): 'pior_caso' calcula cada barra também com a corrente MÍNIMA (IEC 60909-0 §7.1.2, ou a fonte mínima que a concessionária declara em `fonte.Icc_min_kA`) e fica com a que dá MAIS energia no cenário governante (NBR 17227 §4.2.1.3 e §5.1.12). O modo que governou sai em `ibf_base` de cada cenário; a corrente mínima que não pôde ser calculada é 422. 'nominal' (G328) calcula a energia com a corrente de TENSÃO NOMINAL — c = 1,0 no ponto de falta, sem K_T e os cabos em `t_cabo_C` (nulo = a temperatura de cada cabo): a base dos estudos feitos em tensão nominal, FORA do §7.1.2, dita no laudo; a máxima da norma segue dimensionando a barra"},"t_cabo_C":{"anyOf":[{"type":"number","maximum":250.0,"minimum":-40.0},{"type":"null"}],"title":"T Cabo C","description":"a temperatura dos cabos (°C) na base `nominal` de Ibf (G328): nula = a temperatura declarada em cada cabo. Só vale com `base_ibf='nominal'`"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria","description":"por id de barra"},"geometria_padrao":{"$ref":"#/components/schemas/GeometriaPadrao","description":"a geometria padrão da PLANTA por classe de tensão (bt até 1 kV · mt acima), PARCIAL sobre o padrão do núcleo; a geometria da barra prevalece. Entra na energia de todas as barras da classe"},"figura":{"type":"boolean","title":"Figura","description":"renderiza a folha TCC (PNG base64)","default":true},"svg":{"type":"boolean","title":"Svg","description":"devolve também a folha em SVG (`tcc_svg`) — o mesmo desenho do PNG, com um id por curva: `tcc-curva-{n}` é o número do badge e o `tag` da folha de ajustes, e `tcc-faixa-reprovada-{par}-{k}` a faixa de seletividade do par","default":false},"I_max_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Max Ka"},"T_max_ms":{"type":"number","title":"T Max Ms","default":10000.0},"erms_on":{"type":"boolean","title":"Erms On","description":"modo MANUTENÇÃO (ERMS · NEC 240.87): desenha a curva de manutenção ao lado da normal e compara as duas energias. Não altera o ajuste de operação — é um modo comutável, para trabalho energizado","default":false},"erms_ii_pu":{"type":"number","exclusiveMinimum":0.0,"title":"Erms Ii Pu","description":"instantâneo do modo manutenção, em múltiplos de In","default":2.5},"camadas_elemento":{"$ref":"#/components/schemas/CamadasElemento","description":"liga as camadas derivadas do próprio unifilar (dano do trafo, partida dos motores); o que a rede não declara volta como PREMISSA"},"camadas_folha":{"$ref":"#/components/schemas/CamadasFolha","description":"as camadas de LEITURA da folha (arco, Ibf, Icc mín, ponto Ei, zonas de energia, Ith) — as mesmas da aba do coordenograma; nenhuma muda número"},"ferramentas":{"items":{"$ref":"#/components/schemas/EstudoDoCaderno"},"type":"array","title":"Ferramentas","description":"os estudos da SUÍTE que o projeto carrega (`v2.tools`), no mesmo formato do caderno. O que cada ferramenta publica vira CAMADA da folha TCC — a ponte entre a ferramenta e o estudo. O que não pode ser desenhado volta em `camadas_fora`, com o motivo"},"emissao_n":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Emissao N","description":"a emissão que o DOCUMENTO carrega hoje (C32); nula = nunca emitido, e o carimbo diz isso em vez de afirmar a 'Rev. 0'"},"emissao_anterior_data":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Emissao Anterior Data","description":"a data da emissão que esta SUBSTITUI (a n−1, do histórico — `EmissaoDocumento.anterior_data`); a capa reemitida a imprime"},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaIn"},{"type":"null"}],"description":"o Termo aceito e o hash do conjunto de alertas de que se deu ciência — sem ele o documento assinável não sai (428); com o conjunto mudado, também não (409)"}},"additionalProperties":false,"type":"object","required":["rede","protecoes","barra_estudo"],"title":"PranchaRequest","description":"O corpo do `study/bus` — a folha que a tela mostra é a que o documento\nimprime — mais o que só o DOCUMENTO carrega: a emissão (C32). A revisão da\nINSTALAÇÃO (G155) vem no carimbo (`rede.folha.rev`): são duas grandezas (D10)."},"ProjectIn":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"data":{"additionalProperties":true,"type":"object","title":"Data","description":"o .json arcflash-project (schema v1–5)"}},"additionalProperties":false,"type":"object","required":["name","data"],"title":"ProjectIn"},"ProjectList":{"properties":{"projetos":{"items":{"$ref":"#/components/schemas/ProjectMeta"},"type":"array","title":"Projetos"},"n":{"type":"integer","title":"N"}},"type":"object","required":["projetos","n"],"title":"ProjectList"},"ProjectMeta":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"schema_version":{"type":"string","title":"Schema Version"},"size_bytes":{"type":"integer","title":"Size Bytes"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","name","schema_version","size_bytes","created_at","updated_at"],"title":"ProjectMeta"},"ProjectOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"schema_version":{"type":"string","title":"Schema Version"},"size_bytes":{"type":"integer","title":"Size Bytes"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["id","name","schema_version","size_bytes","created_at","updated_at","data"],"title":"ProjectOut"},"ProjectPatch":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Name"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"}},"additionalProperties":false,"type":"object","title":"ProjectPatch"},"Protecao":{"properties":{"kind":{"type":"string","enum":["bus","edge"],"title":"Kind"},"ref":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"title":"Ref","description":"id da barra ('bus') ou [from_id, to_id] ('edge')"},"label":{"type":"string","title":"Label","default":""},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id","description":"id no devices_db; None = ajuste manual"},"color":{"type":"string","title":"Color","default":"#0550ae"},"ajustes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Ajustes","description":"ajustes DESTA proteção (curve, in, ir, tms, isden, isd, tsd, iien, ii, tinst, tab) e a tolerância DIGITADA de quem o banco não declara banda: toli (± % nos pickups), tolt (± % no tempo das curvas L e S) e tolii (± % só na instantânea — vence o toli no Ii). A identidade (placement_key) é resolvida no servidor, onde ela é definida — o cliente não a calcula. Fusível e MCB são de BANDA: aqui não há ajuste a fazer e o que vier é ignorado pelo núcleo. A curva TÉRMICA tabelada (G325), para o modelo cujo banco não a declara: `pts` (pontos [múltiplo, t_s] da borda lenta), `pts_rapida` (a rápida, opcional), `pts_base` ('Ir' ou 'In', obrigatória) e `pts_fonte` (de onde vieram)"}},"additionalProperties":false,"type":"object","required":["kind","ref"],"title":"Protecao"},"PsrcResumoOut":{"properties":{"ratio":{"type":"string","title":"Ratio"},"Vs_V":{"type":"number","title":"Vs V"},"Rct_ohm":{"type":"number","title":"Rct Ohm"},"Rb_ohm":{"type":"number","title":"Rb Ohm"},"N":{"type":"number","title":"N"},"Icc_kA":{"type":"number","title":"Icc Ka"},"xr":{"type":"number","title":"Xr"},"offset":{"type":"number","title":"Offset"},"remanence":{"type":"number","title":"Remanence"},"S":{"type":"number","title":"S"},"pickup_A":{"type":"number","title":"Pickup A"},"Xb_ohm":{"type":"number","title":"Xb Ohm"},"pickup_sec_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pickup Sec A"},"ts_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts Ms","description":"None = o núcleo não satura"},"I2_min_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I2 Min A"},"ratio_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ratio Min"},"t_pickup_ideal_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Pickup Ideal Ms"},"t_pickup_real_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Pickup Real Ms","description":"None = o relé não vê o pickup na janela simulada"},"dt_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dt Ms"},"reaches":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reaches","description":"a fundamental REAL alcança o pickup? None = pickup acima da falta"},"delays":{"type":"boolean","title":"Delays"},"window_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Window Ms"},"t_relay_ms":{"type":"number","title":"T Relay Ms"}},"type":"object","required":["ratio","Vs_V","Rct_ohm","Rb_ohm","N","Icc_kA","xr","offset","remanence","S","pickup_A","Xb_ohm","delays","t_relay_ms"],"title":"PsrcResumoOut","description":"A falta no tempo — o MESMO resumo que o memorial imprime (`resumo_psrc_falta`)."},"PuxamentoIn":{"properties":{"section_mm2":{"type":"number","exclusiveMinimum":0.0,"title":"Section Mm2","description":"seção do condutor (mm²)"},"material":{"type":"string","enum":["Cu","Al"],"title":"Material","default":"Cu"},"insulation":{"type":"string","enum":["PVC","EPR","XLPE"],"title":"Insulation","default":"XLPE"},"usar_catalogo":{"type":"boolean","title":"Usar Catalogo","description":"resolve diâmetro e peso pelo catálogo do núcleo","default":true},"od_mm":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Od Mm","description":"diâmetro externo medido"},"weight_kg_per_m":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Weight Kg Per M","description":"peso por metro"},"D_mm":{"type":"number","exclusiveMinimum":0.0,"title":"D Mm","description":"diâmetro interno do eletroduto (mm)"},"route":{"items":{"$ref":"#/components/schemas/TrechoIn"},"type":"array","maxItems":60,"minItems":1,"title":"Route"},"n_cables":{"type":"integer","enum":[1,3],"title":"N Cables","description":"esta versão cobre 1 ou 3 cabos","default":1},"config":{"type":"string","enum":["auto","unico","trifolio","berco"],"title":"Config","default":"auto"},"jaqueta":{"anyOf":[{"type":"string","enum":["PVC/PE","XLPE/EPR"]},{"type":"null"}],"title":"Jaqueta"},"duto":{"anyOf":[{"type":"string","enum":["PVC/PEAD","aço"]},{"type":"null"}],"title":"Duto"},"lubrificacao":{"anyOf":[{"type":"string","enum":["seco","lubrificado"]},{"type":"null"}],"title":"Lubrificacao"},"mu":{"type":"number","exclusiveMinimum":0.0,"title":"Mu","description":"usado quando o trio acima não vem","default":0.5},"attachment":{"type":"string","enum":["olhal","malha"],"title":"Attachment","default":"olhal"},"cable_class":{"type":"string","enum":["BT_unipolar","BT_multipolar","MT_blindado","armado"],"title":"Cable Class","default":"BT_unipolar"},"swbp_class":{"type":"string","enum":["BT","MT","controle","armado"],"title":"Swbp Class","default":"BT"},"back_tension_N":{"type":"number","minimum":0.0,"title":"Back Tension N","description":"tração de entrada","default":0.0},"simultaneity":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"Simultaneity","default":1.0}},"additionalProperties":false,"type":"object","required":["section_mm2","D_mm","route"],"title":"PuxamentoIn","description":"Puxamento de cabos (IEEE 1185/525 · NBR 5410/9511) — `study_cable_pulling`.\nO cabo entra pelo CATÁLOGO (seção/material/isolação) ou pelos dados medidos;\no atrito sai da tabela do núcleo quando os três descritores são informados."},"PuxamentoMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/PuxamentoIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"PuxamentoMemorialIn"},"PuxamentoOut":{"properties":{"config":{"type":"string","title":"Config"},"od_mm":{"type":"number","title":"Od Mm"},"weight_kg_per_m":{"type":"number","title":"Weight Kg Per M"},"W_N_per_m":{"type":"number","title":"W N Per M"},"mu":{"type":"number","title":"Mu"},"wf":{"type":"number","title":"Wf","description":"fator de correção de peso (atrito na configuração)"},"jam_ratio":{"type":"number","title":"Jam Ratio"},"jam_risk":{"type":"string","title":"Jam Risk"},"clearance_mm":{"type":"number","title":"Clearance Mm"},"fill_pct":{"type":"number","title":"Fill Pct"},"fill_limit_pct":{"type":"number","title":"Fill Limit Pct"},"ok_fill":{"type":"boolean","title":"Ok Fill"},"T_allow_N":{"type":"number","title":"T Allow N"},"tension_limit_label":{"type":"string","title":"Tension Limit Label"},"ok_tension":{"type":"boolean","title":"Ok Tension"},"swbp_limit_N_per_m":{"type":"number","title":"Swbp Limit N Per M"},"ok_swbp":{"type":"boolean","title":"Ok Swbp"},"min_bend_radius_mm":{"type":"number","title":"Min Bend Radius Mm"},"min_bend_radius_static_mm":{"type":"number","title":"Min Bend Radius Static Mm"},"bends_radius_ok":{"items":{"type":"boolean"},"type":"array","title":"Bends Radius Ok"},"ok_bend_radius":{"type":"boolean","title":"Ok Bend Radius"},"overall_ok":{"type":"boolean","title":"Overall Ok"},"recomendado":{"type":"string","title":"Recomendado","description":"sentido de menor tração"},"sentidos":{"items":{"$ref":"#/components/schemas/SentidoOut"},"type":"array","title":"Sentidos"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"IEEE 1185/525 · ABNT NBR 5410/9511"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["config","od_mm","weight_kg_per_m","W_N_per_m","mu","wf","jam_ratio","jam_risk","clearance_mm","fill_pct","fill_limit_pct","ok_fill","T_allow_N","tension_limit_label","ok_tension","swbp_limit_N_per_m","ok_swbp","min_bend_radius_mm","min_bend_radius_static_mm","ok_bend_radius","overall_ok","recomendado","sentidos"],"title":"PuxamentoOut"},"RecuperacaoIn":{"properties":{"parcelas":{"items":{"$ref":"#/components/schemas/ParcelaIn"},"type":"array","minItems":1,"title":"Parcelas"},"data_constatacao":{"type":"string","title":"Data Constatacao","description":"AAAA-MM-DD — é ela que resolve o alcance"},"data_calculo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Calculo"},"ipca":{"additionalProperties":{"type":"number"},"type":"object","title":"Ipca","description":"competência AAAA-MM → variação % do mês"},"atribuicao":{"type":"string","enum":["distribuidora","consumidor","terceiro"],"title":"Atribuicao","default":"distribuidora"},"sentido":{"type":"string","enum":["a_maior","a_menor"],"title":"Sentido","default":"a_maior"},"juros_am":{"type":"number","minimum":0.0,"title":"Juros Am","description":"juros ao mês (%)","default":1.0},"dobro":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dobro","description":"None = o padrão do regime; nunca conveniência"},"regime_alcance":{"type":"string","enum":["vigente","literal"],"title":"Regime Alcance","default":"vigente"},"comp_referencia":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comp Referencia"}},"additionalProperties":false,"type":"object","required":["parcelas","data_constatacao"],"title":"RecuperacaoIn"},"RecuperacaoMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/RecuperacaoIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19/M1) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"RecuperacaoMemorialIn"},"RecuperacaoOut":{"properties":{"atribuicao":{"type":"string","title":"Atribuicao"},"sentido":{"type":"string","title":"Sentido"},"alcance_ciclos":{"type":"integer","title":"Alcance Ciclos"},"alcance_fundamento":{"type":"string","title":"Alcance Fundamento"},"regime_alcance":{"type":"string","title":"Regime Alcance"},"alcance_alternativo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Alcance Alternativo"},"total_alternativo_rs":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Total Alternativo Rs"},"dobro_devido":{"type":"boolean","title":"Dobro Devido"},"juros_am":{"type":"number","title":"Juros Am"},"principal_rs":{"type":"number","title":"Principal Rs"},"principal_no_alcance_rs":{"type":"number","title":"Principal No Alcance Rs"},"principal_precluso_rs":{"type":"number","title":"Principal Precluso Rs"},"dobrado_rs":{"type":"number","title":"Dobrado Rs"},"atualizado_rs":{"type":"number","title":"Atualizado Rs"},"juros_rs":{"additionalProperties":{"type":"number"},"type":"object","title":"Juros Rs"},"total_rs":{"additionalProperties":{"type":"number"},"type":"object","title":"Total Rs"},"divergencia_juros_rs":{"type":"number","title":"Divergencia Juros Rs"},"prazo_devolucao":{"type":"string","title":"Prazo Devolucao"},"parcelas":{"items":{"$ref":"#/components/schemas/ParcelaOut"},"type":"array","title":"Parcelas"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"norma":{"type":"string","title":"Norma","default":"REN ANEEL 1.000/2021 (art. 323)"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["atribuicao","sentido","alcance_ciclos","alcance_fundamento","regime_alcance","dobro_devido","juros_am","principal_rs","principal_no_alcance_rs","principal_precluso_rs","dobrado_rs","atualizado_rs","juros_rs","total_rs","divergencia_juros_rs","prazo_devolucao"],"title":"RecuperacaoOut","description":"A cascata do art. 323, § 2º na ordem LITERAL (dobro → IPCA sobre o\ndobrado → juros sobre o atualizado), com as DUAS leituras do termo inicial\ndos juros lado a lado: o núcleo não escolhe por quem vai protocolar."},"ReferidaOut":{"properties":{"ligacao":{"type":"string","title":"Ligacao"},"fator":{"type":"number","title":"Fator"},"I_max_kA":{"type":"number","title":"I Max Ka"},"mech_break_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mech Break Ka"},"ansi_point":{"$ref":"#/components/schemas/PontoOut"},"curva":{"$ref":"#/components/schemas/CurvaOut"}},"type":"object","required":["ligacao","fator","I_max_kA","ansi_point","curva"],"title":"ReferidaOut","description":"A curva de dano referida ao OUTRO lado do transformador pela ligação\n(C37.91): o núcleo desloca só a corrente — a razão de transformação cancela\nao referir."},"ReferralIn":{"properties":{"utm_source":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Utm Source"},"utm_medium":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Utm Medium"},"utm_campaign":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Utm Campaign"},"utm_term":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Utm Term"},"utm_content":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Utm Content"},"pagina":{"type":"string","maxLength":200,"title":"Pagina","description":"o caminho em que a visita chegou","default":""}},"type":"object","title":"ReferralIn","description":"Os `utm_*` da URL, CRUS — quem decide o que vale é a whitelist do núcleo\n(`logger.utm_limpo`), a mesma do app. Chave fora da lista é ignorada."},"ReferralOut":{"properties":{"registrado":{"type":"boolean","title":"Registrado"},"evento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evento","description":"mcp_referral · referral"},"utm":{"additionalProperties":{"type":"string"},"type":"object","title":"Utm","description":"o que a whitelist aceitou"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo","description":"por que nada foi registrado"}},"type":"object","required":["registrado"],"title":"ReferralOut"},"RequerimentoOut":{"properties":{"via":{"type":"string","title":"Via"},"destinatario":{"type":"string","title":"Destinatario"},"texto":{"type":"string","title":"Texto"},"regras":{"items":{"type":"string"},"type":"array","title":"Regras"},"competencias":{"items":{"type":"string"},"type":"array","title":"Competencias"},"fundamentos":{"items":{"type":"string"},"type":"array","title":"Fundamentos"},"valor_rs":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Valor Rs"},"valor_kwh":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Valor Kwh"},"confianca":{"type":"string","title":"Confianca","default":"confirmado"},"achados":{"type":"integer","title":"Achados","default":0}},"type":"object","required":["via","destinatario","texto"],"title":"RequerimentoOut"},"Revisao":{"properties":{"n":{"type":"string","title":"N","description":"identificação da revisão, como o emissor a escreve"},"data":{"type":"string","title":"Data","default":""},"motivo":{"type":"string","title":"Motivo","default":""}},"additionalProperties":false,"type":"object","required":["n"],"title":"Revisao","description":"Uma revisão do estudo da planta.\n\nO gatilho é o da NBR 17227 §11.3 — mudança na instalação ou publicação de\nnorma —, e é por isso que o `motivo` existe: o que justifica a revisão é o\nfato, não a passagem do tempo."},"RobustezOut":{"properties":{"kappa":{"type":"number","title":"Kappa"},"ip_A":{"type":"number","title":"Ip A","description":"valor de crista da corrente de curto"},"Icc_equiv_A":{"type":"number","title":"Icc Equiv A"},"Ith_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ith A"},"Ith_eq_A":{"type":"number","title":"Ith Eq A","description":"térmica equivalente no tempo de referência"},"thermal_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Thermal Ok"},"Idyn_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Idyn A"},"Idyn_assumed":{"type":"boolean","title":"Idyn Assumed","description":"Idyn arbitrado como 2,5·Ith","default":false},"dynamic_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dynamic Ok"},"m_dc":{"type":"number","title":"M Dc"}},"type":"object","required":["kappa","ip_A","Icc_equiv_A","Ith_eq_A","m_dc"],"title":"RobustezOut"},"SaturacaoCcOut":{"properties":{"ratio":{"type":"string","title":"Ratio"},"xr":{"type":"number","title":"Xr"},"Tp_ms":{"type":"number","title":"Tp Ms","description":"constante de tempo do primário"},"Ks":{"type":"number","title":"Ks","description":"fator de saturação transitória"},"alf_eff":{"type":"number","title":"Alf Eff"},"alf_req_dc":{"type":"number","title":"Alf Req Dc","description":"fator-limite que a componente CC exigiria"},"saturates_dc":{"type":"boolean","title":"Saturates Dc"},"ts_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts Ms","description":"tempo até saturar; None = não satura"},"recovery_ms":{"type":"number","title":"Recovery Ms"},"delays":{"type":"boolean","title":"Delays","description":"a saturação ATRASA a atuação?"},"dt_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dt Ms","description":"None = não finito"},"source":{"type":"string","title":"Source","description":"'gate' (estimativa) ou 'psrc' (Δt real ao pickup)"},"pickup_sec_A":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pickup Sec A"},"psrc_reaches_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Psrc Reaches Pickup"},"psrc_ratio_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Psrc Ratio Min"},"onda_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Onda Png B64","description":"a forma de onda simplificada (critério 'gate'); com o pickup do 50 a figura é a do PSRC, no bloco psrc"},"tc_sem_saturacao_cc":{"anyOf":[{"$ref":"#/components/schemas/TcSemSaturacaoCcOut"},{"type":"null"}],"description":"o menor TC que não satura nem na CC (proteção rápida/diferencial); None = nenhuma relação comercial evita"},"atraso_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Atraso Pct","description":"o atraso em % de energia incidente (Ei ∝ t); None = a saturação não atrasa a atuação"},"impacto_arco":{"anyOf":[{"$ref":"#/components/schemas/ImpactoArcoTcOut"},{"type":"null"}],"description":"a energia recomposta pelo atraso — só com Ei_ponto_cal"}},"type":"object","required":["ratio","xr","Tp_ms","Ks","alf_eff","alf_req_dc","saturates_dc","recovery_ms","delays","source"],"title":"SaturacaoCcOut"},"ScPointRequest":{"properties":{"Vn_kV":{"type":"number","title":"Vn Kv"},"Scc_MVA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Scc Mva"},"Icc_rede_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Icc Rede Ka"},"XR_rede":{"type":"number","title":"Xr Rede","default":10.0},"com_trafo":{"type":"boolean","title":"Com Trafo","default":false},"Sn_kVA":{"type":"number","title":"Sn Kva","default":1000.0},"Vcc_pct":{"type":"number","title":"Vcc Pct","default":5.0},"Vn2_kV":{"type":"number","title":"Vn2 Kv","default":0.48},"XR_trafo":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Xr Trafo"},"tipo_aterramento":{"type":"string","title":"Tipo Aterramento","default":"solido"},"Rn_ohm":{"type":"number","title":"Rn Ohm","default":0.0},"com_cabo":{"type":"boolean","title":"Com Cabo","default":false},"cabo_secao_mm2":{"type":"number","title":"Cabo Secao Mm2","default":50.0},"cabo_material":{"type":"string","title":"Cabo Material","default":"Cu"},"cabo_m":{"type":"number","title":"Cabo M","default":50.0},"cabo_num_condutores":{"type":"integer","title":"Cabo Num Condutores","default":1},"cabo_T_op":{"type":"number","title":"Cabo T Op","default":20.0}},"additionalProperties":false,"type":"object","required":["Vn_kV"],"title":"ScPointRequest"},"ScPointResponse":{"properties":{"tensao_referencia_kV":{"type":"number","title":"Tensao Referencia Kv"},"Icc_3ph_kA":{"type":"number","title":"Icc 3Ph Ka"},"Icc_2ph_kA":{"type":"number","title":"Icc 2Ph Ka"},"Icc_1ph_kA":{"type":"number","title":"Icc 1Ph Ka"},"XR_total":{"type":"number","title":"Xr Total"},"ip_kA":{"type":"number","title":"Ip Ka"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"engine_id":{"type":"string","title":"Engine Id"},"validado":{"type":"string","title":"Validado"},"tier":{"type":"string","title":"Tier"}},"additionalProperties":true,"type":"object","required":["tensao_referencia_kV","Icc_3ph_kA","Icc_2ph_kA","Icc_1ph_kA","XR_total","ip_kA","avisos","engine_id","validado","tier"],"title":"ScPointResponse"},"ScStudyIn":{"properties":{"Vn_kV":{"type":"number","exclusiveMinimum":0.0,"title":"Vn Kv","description":"tensão nominal da fonte (kV)"},"Scc_MVA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Scc Mva"},"Icc_rede_kA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Icc Rede Ka"},"XR_rede":{"type":"number","exclusiveMinimum":0.0,"title":"Xr Rede","default":10.0},"Icc_1ph_rede_kA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Icc 1Ph Rede Ka"},"XR_1ph_rede":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Xr 1Ph Rede"},"tipo_aterramento":{"type":"string","enum":["solido","resistivo","isolado"],"title":"Tipo Aterramento","default":"solido"},"Rn_ohm":{"type":"number","minimum":0.0,"title":"Rn Ohm","default":0.0},"usar_trafo":{"type":"boolean","title":"Usar Trafo","default":true},"Sn_kVA":{"type":"number","exclusiveMinimum":0.0,"title":"Sn Kva","default":1000.0},"Vcc_pct":{"type":"number","exclusiveMinimum":0.0,"title":"Vcc Pct","description":"impedância percentual Z (%)","default":5.0},"Pcu_W":{"type":"number","exclusiveMinimum":0.0,"title":"Pcu W","default":10000.0},"Vn2_kV":{"type":"number","exclusiveMinimum":0.0,"title":"Vn2 Kv","default":0.48},"XR_trafo":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Xr Trafo","description":"da plaqueta; PREVALECE sobre o Pcu"},"U_rT_HV_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"U Rt Hv Kv","description":"tensão ATRIBUÍDA"},"U_rT_LV_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"U Rt Lv Kv"},"usar_reator":{"type":"boolean","title":"Usar Reator","default":false},"reator_ukr_pct":{"type":"number","exclusiveMinimum":0.0,"title":"Reator Ukr Pct","default":6.0},"reator_irr_A":{"type":"number","exclusiveMinimum":0.0,"title":"Reator Irr A","default":400.0},"usar_cabo":{"type":"boolean","title":"Usar Cabo","default":true},"secao_mm2":{"type":"number","exclusiveMinimum":0.0,"title":"Secao Mm2","default":50.0},"material":{"type":"string","enum":["Cu","Al"],"title":"Material","default":"Cu"},"comprimento_m":{"type":"number","exclusiveMinimum":0.0,"title":"Comprimento M","default":50.0},"num_conductors":{"type":"integer","minimum":1.0,"title":"Num Conductors","default":1},"T_op":{"type":"number","title":"T Op","description":"temperatura do cabo (°C) — 20 na MÁXIMA","default":20.0},"motores":{"anyOf":[{"$ref":"#/components/schemas/MotoresIn"},{"type":"null"}]},"Tk_s":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Tk S","description":"duração da falta; sem ela não há Ith a reportar"},"theta_e_C":{"type":"number","exclusiveMinimum":0.0,"title":"Theta E C","default":160.0},"c_factor":{"anyOf":[{"type":"number","maximum":1.2,"minimum":0.8},{"type":"null"}],"title":"C Factor","description":"o fator de tensão c NO PONTO de falta na corrente MÁXIMA (nulo = Tabela 1 da IEC 60909-0). A fonte segue com o c do ponto de conexão (Fórmula 4). 1,0 com `aplicar_kt=False` = a base de tensão nominal, FORA do §7.1.2 — as premissas dizem. A mínima não muda"},"aplicar_kt":{"type":"boolean","title":"Aplicar Kt","description":"a correção K_T do §6.3.3 no transformador, na corrente MÁXIMA; False = sem correção (fora do §7.1.2). A mínima nunca a aplica","default":true}},"additionalProperties":false,"type":"object","required":["Vn_kV"],"title":"ScStudyIn","description":"As entradas do `short_circuit.calcular_curto` — a topologia é\nFonte → (Transformador) → (Reator) → (Cabo) → ponto de cálculo, cada\nelemento opcional."},"ScStudyOut":{"properties":{"tensao_referencia_kV":{"type":"number","title":"Tensao Referencia Kv"},"maxima":{"$ref":"#/components/schemas/CorrentesOut"},"minima":{"$ref":"#/components/schemas/CorrentesOut"},"impedancias":{"additionalProperties":{"$ref":"#/components/schemas/ElementoZOut"},"type":"object","title":"Impedancias","description":"total, trafo, cabo, reator e fonte"},"Z_mod_ohm":{"type":"number","title":"Z Mod Ohm"},"K_T":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"K T","description":"correção do §6.3.3"},"c_Q":{"type":"number","title":"C Q"},"z0_fonte":{"type":"string","title":"Z0 Fonte"},"z0_trafo_bloqueado":{"type":"boolean","title":"Z0 Trafo Bloqueado","description":"o delta do Dyn bloqueia a sequência zero de montante"},"z0_incoerente":{"type":"boolean","title":"Z0 Incoerente","default":false},"premissas":{"items":{"type":"string"},"type":"array","title":"Premissas"},"norma":{"type":"string","title":"Norma","default":"IEC 60909-0:2016"},"engine_id":{"type":"string","title":"Engine Id","default":""},"validado":{"type":"string","title":"Validado","default":"IEC TR 60909-4:2000, cláusula 3 (exemplo publicado)"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["tensao_referencia_kV","maxima","minima","Z_mod_ohm","c_Q","z0_fonte","z0_trafo_bloqueado"],"title":"ScStudyOut","description":"O estudo de UM ponto: os DOIS procedimentos do §7.1.2 lado a lado, porque\neles decidem coisas diferentes — a máxima dimensiona o equipamento e a\nmínima ajusta a sensibilidade da proteção. Devolver só uma delas obrigaria a\ntela a escolher, e a escolha não é da tela."},"SecaoMemorialOut":{"properties":{"chave":{"type":"string","title":"Chave"},"rotulo":{"type":"string","title":"Rotulo"},"descricao":{"type":"string","title":"Descricao","default":""},"padrao":{"type":"boolean","title":"Padrao","default":false}},"type":"object","required":["chave","rotulo"],"title":"SecaoMemorialOut","description":"Uma seção que o memorial da barra pode levar — do PRÓPRIO contrato\n(`IncluirMemorial`): a chave, o rótulo e o padrão. A tela monta as escolhas\ndaqui e não conhece o nome de seção nenhuma."},"SecaoOut":{"properties":{"index":{"type":"integer","title":"Index"},"total_Ah":{"type":"number","title":"Total Ah"},"n_linhas":{"type":"integer","title":"N Linhas"}},"type":"object","required":["index","total_Ah","n_linhas"],"title":"SecaoOut"},"SentidoOut":{"properties":{"label":{"type":"string","title":"Label"},"T_final_N":{"type":"number","title":"T Final N"},"T_max_N":{"type":"number","title":"T Max N"},"swbp_max_N_per_m":{"type":"number","title":"Swbp Max N Per M"},"swbp_max_bend":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Swbp Max Bend"},"bends_swbp_N_per_m":{"items":{"type":"number"},"type":"array","title":"Bends Swbp N Per M"},"low_tension_bends":{"items":{"type":"integer"},"type":"array","title":"Low Tension Bends","description":"curvas em que a aproximação SUBESTIMA a tração"},"estacoes":{"items":{"$ref":"#/components/schemas/EstacaoOut"},"type":"array","title":"Estacoes"}},"type":"object","required":["label","T_final_N","T_max_N","swbp_max_N_per_m"],"title":"SentidoOut"},"SerieSensibilidade":{"properties":{"variavel":{"type":"string","title":"Variavel"},"x":{"items":{"type":"number"},"type":"array","title":"X"},"Ei":{"items":{"type":"number"},"type":"array","title":"Ei"},"limiar_12":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Limiar 12"}},"type":"object","required":["variavel","x","Ei"],"title":"SerieSensibilidade","description":"Uma varredura: o valor no eixo e o Ei em cada ponto. `limiar_12` é o\nvalor da variável em que o Ei cruza 12 cal/cm² — NULO quando a curva não\ncruza, porque um limiar que não existe não é 0."},"SessionOut":{"properties":{"user":{"$ref":"#/components/schemas/SessionUser"},"tier":{"type":"string","title":"Tier","description":"anon · free · full"},"expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires At","description":"epoch (s) do access token"}},"type":"object","required":["user","tier"],"title":"SessionOut","description":"Quem está logado e com que plano. Os TOKENS nunca vêm no corpo — só nos\ncookies HttpOnly (a página não os vê; o Streamlit os lê do mesmo domínio)."},"SessionUser":{"properties":{"id":{"type":"string","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["id"],"title":"SessionUser"},"SinCatalogoOut":{"properties":{"versao":{"type":"string","title":"Versao"},"contrato":{"type":"string","title":"Contrato"},"raio":{"type":"integer","title":"Raio"},"anos":{"items":{"type":"integer"},"type":"array","title":"Anos"},"patamares":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object","title":"Patamares"},"patamares_concluidos":{"additionalProperties":{"items":{"type":"integer"},"type":"array"},"type":"object","title":"Patamares Concluidos","default":{}},"situacoes":{"additionalProperties":{"type":"string"},"type":"object","title":"Situacoes"},"tiers":{"additionalProperties":{"type":"string"},"type":"object","title":"Tiers"},"totais":{"additionalProperties":{"type":"integer"},"type":"object","title":"Totais"},"legenda":{"additionalProperties":true,"type":"object","title":"Legenda","default":{}},"gerado":{"additionalProperties":true,"type":"object","title":"Gerado","default":{}},"pontos":{"items":{"$ref":"#/components/schemas/SinPontoOut"},"type":"array","title":"Pontos"}},"type":"object","required":["versao","contrato","raio","anos","patamares","situacoes","tiers","totais","pontos"],"title":"SinCatalogoOut","description":"`catalogo.json` do lote + a tabela de tiers da rota — a UI lê, nunca escreve."},"SinPontoOut":{"properties":{"pwf_bus":{"type":"integer","title":"Pwf Bus"},"nome":{"type":"string","title":"Nome"},"kv":{"type":"number","title":"Kv"},"uf":{"type":"string","title":"Uf"},"grupos":{"items":{"type":"string"},"type":"array","title":"Grupos"},"nomes":{"items":{"type":"string"},"type":"array","title":"Nomes","default":[]},"folhas":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object","title":"Folhas","default":{}},"recusas":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recusas","default":[]}},"type":"object","required":["pwf_bus","nome","kv","uf","grupos"],"title":"SinPontoOut","description":"Um ponto do catálogo do lote (`gerar_folhas.py --catalogo`): a identidade é o\n`pwf_bus`; `folhas` diz o que existe por ano e patamar; `recusas` traz o motivo."},"StudyRequest":{"properties":{"rede":{"$ref":"#/components/schemas/NetworkRequest"},"protecoes":{"items":{"$ref":"#/components/schemas/Protecao"},"type":"array","title":"Protecoes"},"barra_estudo":{"type":"string","title":"Barra Estudo"},"ajustes":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Ajustes","description":"por placement_key (ver resposta): curve, in, ir, tms, isden, isd, tsd, iien, ii, tinst, tab, a tolerância digitada toli/tolt/tolii (± % nos pickups · no tempo das curvas L e S · só na instantânea) e a curva térmica tabelada pts/pts_rapida/pts_base/pts_fonte (G325)"},"cb_open_ms":{"type":"number","maximum":500.0,"minimum":0.0,"title":"Cb Open Ms","description":"tempo de abertura do disjuntor (ms), somado ao tempo de atuação das proteções nos dois lados do compartimento. Com um RELÉ decidindo, 0 ms deixa de fora os ciclos do disjuntor que ele comanda — e o aviso sai em `avisos`","default":0.0},"t_sem_atuacao_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Sem Atuacao Ms","description":"OPÇÃO, desligada por padrão (nulo): o tempo máximo de arco, em ms, adotado na barra cuja proteção EXISTE e não vê nenhuma das correntes de arco (G329). Com ela a barra ganha energia no tempo declarado — sem somar abertura — e a marca `t_max_adotado = sem_atuacao`; sem ela, sai sem número, como sempre. Maior que zero e no máximo 2000 ms (IEEE 1584:2018 §6.9.1), senão 422. A barra sem proteção declarada continua sem número, e o alerta `retaguarda_cega` permanece"},"banda_padrao":{"anyOf":[{"type":"string","const":"norma"},{"type":"null"}],"title":"Banda Padrao","description":"banda PADRÃO do disparador de curto-circuito onde o banco não declara banda e nenhuma tolerância foi digitada: 'norma' aplica ±20 % na instantânea do disjuntor termomagnético (IEC 60947-2), dito na folha como premissa do estudo; eletrônico e relé seguem na curva ajustada. Nulo = a curva nominal, como sempre foi"},"base_ibf":{"anyOf":[{"type":"string","enum":["pior_caso","nominal"]},{"type":"null"}],"title":"Base Ibf","description":"OPÇÃO, desligada por padrão (nulo = a corrente de curto MÁXIMA, como sempre): 'pior_caso' calcula cada barra também com a corrente MÍNIMA (IEC 60909-0 §7.1.2, ou a fonte mínima que a concessionária declara em `fonte.Icc_min_kA`) e fica com a que dá MAIS energia no cenário governante (NBR 17227 §4.2.1.3 e §5.1.12). O modo que governou sai em `ibf_base` de cada cenário; a corrente mínima que não pôde ser calculada é 422. 'nominal' (G328) calcula a energia com a corrente de TENSÃO NOMINAL — c = 1,0 no ponto de falta, sem K_T e os cabos em `t_cabo_C` (nulo = a temperatura de cada cabo): a base dos estudos feitos em tensão nominal, FORA do §7.1.2, dita no laudo; a máxima da norma segue dimensionando a barra"},"t_cabo_C":{"anyOf":[{"type":"number","maximum":250.0,"minimum":-40.0},{"type":"null"}],"title":"T Cabo C","description":"a temperatura dos cabos (°C) na base `nominal` de Ibf (G328): nula = a temperatura declarada em cada cabo. Só vale com `base_ibf='nominal'`"},"geometria":{"additionalProperties":{"$ref":"#/components/schemas/Geometria"},"type":"object","title":"Geometria","description":"por id de barra"},"geometria_padrao":{"$ref":"#/components/schemas/GeometriaPadrao","description":"a geometria padrão da PLANTA por classe de tensão (bt até 1 kV · mt acima), PARCIAL sobre o padrão do núcleo; a geometria da barra prevalece. Entra na energia de todas as barras da classe"},"figura":{"type":"boolean","title":"Figura","description":"renderiza a folha TCC (PNG base64)","default":true},"svg":{"type":"boolean","title":"Svg","description":"devolve também a folha em SVG (`tcc_svg`) — o mesmo desenho do PNG, com um id por curva: `tcc-curva-{n}` é o número do badge e o `tag` da folha de ajustes, e `tcc-faixa-reprovada-{par}-{k}` a faixa de seletividade do par","default":false},"I_max_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Max Ka"},"T_max_ms":{"type":"number","title":"T Max Ms","default":10000.0},"erms_on":{"type":"boolean","title":"Erms On","description":"modo MANUTENÇÃO (ERMS · NEC 240.87): desenha a curva de manutenção ao lado da normal e compara as duas energias. Não altera o ajuste de operação — é um modo comutável, para trabalho energizado","default":false},"erms_ii_pu":{"type":"number","exclusiveMinimum":0.0,"title":"Erms Ii Pu","description":"instantâneo do modo manutenção, em múltiplos de In","default":2.5},"camadas_elemento":{"$ref":"#/components/schemas/CamadasElemento","description":"liga as camadas derivadas do próprio unifilar (dano do trafo, partida dos motores); o que a rede não declara volta como PREMISSA"},"camadas_folha":{"$ref":"#/components/schemas/CamadasFolha","description":"as camadas de LEITURA da folha (arco, Ibf, Icc mín, ponto Ei, zonas de energia, Ith) — as mesmas da aba do coordenograma; nenhuma muda número"},"ferramentas":{"items":{"$ref":"#/components/schemas/EstudoDoCaderno"},"type":"array","title":"Ferramentas","description":"os estudos da SUÍTE que o projeto carrega (`v2.tools`), no mesmo formato do caderno. O que cada ferramenta publica vira CAMADA da folha TCC — a ponte entre a ferramenta e o estudo. O que não pode ser desenhado volta em `camadas_fora`, com o motivo"}},"additionalProperties":false,"type":"object","required":["rede","protecoes","barra_estudo"],"title":"StudyRequest"},"StudyResponse":{"properties":{"camadas":{"items":{"type":"string"},"type":"array","title":"Camadas","description":"o que a folha TCC desenha além das curvas: as camadas das FERRAMENTAS da suíte, as do PRÓPRIO elemento e as de leitura pedidas (o Ith, com o tempo e o m; as zonas de energia)"},"camadas_fora":{"items":{"$ref":"#/components/schemas/CamadaFora"},"type":"array","title":"Camadas Fora","description":"COBERTURA: os estudos da suíte que não viraram camada, com o motivo"},"camadas_premissas":{"items":{"type":"string"},"type":"array","title":"Camadas Premissas","description":"o que a camada ASSUME porque a rede não declara (inrush, tempos de partida) — padrão da plataforma não pode passar por dado do equipamento"},"folha_declara":{"items":{"type":"string"},"type":"array","title":"Folha Declara","description":"o que a FOLHA somou e de onde veio cada banda (G307 · G308): a curva do relé com os ciclos do disjuntor que ele comanda (e se foram assumidos) e a banda do fabricante de cada disjuntor, com a fonte — o que o traço não diz sozinho"},"estudos_realizados":{"items":{"type":"string"},"type":"array","title":"Estudos Realizados","description":"o estudo de UMA barra resolve a cadeia de proteção e a energia incidente dela: são as duas análises, e o índice recebe as duas"},"barra":{"additionalProperties":true,"type":"object","title":"Barra"},"correntes":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"object","title":"Correntes"},"criterios":{"items":{"$ref":"#/components/schemas/CriterioOut"},"type":"array","title":"Criterios","description":"os CRITÉRIOS DO ESTUDO declarados (G318): regras, corrente de curto da energia, fontes máxima e mínima, c, K_T, cabos, banda, tempo máximo sem atuação, abertura do disjuntor e o teto de 2 s"},"pior_caso":{"anyOf":[{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object"},{"type":"null"}],"title":"Pior Caso","description":"com `base_ibf='pior_caso'` (G333): os DOIS modos que o estudo comparou — max e min, cada um com a corrente (ibf_kA), o Ei governante e o lado que governou. O que valeu está em `ibf_base` dos cenários. Nulo sem a opção"},"operacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operacao","description":"G336: o cenário de OPERAÇÃO que governa a barra (o de mais energia) — a folha, o desenho e os números são os dele. Nulo sem cenários"},"operacoes":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Operacoes","description":"G336: a energia governante da barra em cada cenário em que ela está energizada (nulo = sem número nele)"},"placement_keys":{"items":{"type":"string"},"type":"array","title":"Placement Keys"},"janela":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Janela"},"cenarios":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/Cenario"},{"type":"null"}]},"type":"object","title":"Cenarios"},"governante":{"type":"string","title":"Governante"},"Ei_gov":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ei Gov"},"t_gov_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Gov Ms"},"categoria":{"anyOf":[{"$ref":"#/components/schemas/Categoria"},{"type":"null"}]},"arco":{"anyOf":[{"$ref":"#/components/schemas/ArcoDaBarra"},{"type":"null"}],"description":"o DETALHE do arco na barra — o `arc/study` das MESMAS entradas (tensão, falta franca, geometria e o par de tempos do cenário governante); nulo quando nenhuma proteção atua"},"ciencia":{"anyOf":[{"$ref":"#/components/schemas/CienciaOut"},{"type":"null"}],"description":"o gate de emissão dos documentos DESTA barra: o Termo e o conjunto de alertas (checklist, entrada, resultado e os da rede nela), com o hash de que a ciência depende"},"impressao_modelo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impressao Modelo","description":"a IMPRESSÃO DO MODELO (W8): sha256 (16 hex) da forma canônica do que define os números — rede, proteções, ajustes, geometria e tempo de abertura. É a que a capa do documento imprime; o carimbo e o idioma não a mudam, e é a MESMA no estudo da planta"},"tabela_mestra":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tabela Mestra"},"tags":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tags"},"tcc_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tcc Png B64"},"tcc_svg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tcc Svg","description":"a MESMA folha em SVG (só com `svg=true`), com um id por curva"},"erms":{"anyOf":[{"$ref":"#/components/schemas/ErmsOut"},{"type":"null"}],"description":"preenchido só com erms_on=true e quando os dois cenários fecham"},"seletividade":{"items":{"$ref":"#/components/schemas/ParSeletividade"},"type":"array","title":"Seletividade","description":"os pares ADJACENTES da cadeia e o veredito — o MESMO que a aba do coordenograma mostra e o memorial imprime"},"sequencia":{"additionalProperties":{"items":{"$ref":"#/components/schemas/PassoSequencia"},"type":"array"},"type":"object","title":"Sequencia","description":"quem abre e em quantos ms: `ibf` na falta franca (a da coordenação) e `iarc` na corrente de arco (a da energia), com o intervalo até a seguinte"},"resumo_ajustes":{"items":{"$ref":"#/components/schemas/LinhaAjuste"},"type":"array","title":"Resumo Ajustes","description":"a FOLHA DE AJUSTES da figura: cada curva com o número do badge (`tag`, nulo se não foi desenhada) e os ajustes NATIVOS — a mesma tabela do memorial e da prancha"},"fora_escala":{"items":{"$ref":"#/components/schemas/ForaEscala"},"type":"array","title":"Fora Escala","description":"as proteções da folha de ajustes SEM curva na janela do gráfico, com o pickup — calar a ausência seria mostrar menos curvas do que a tabela lista"},"fora_escala_nota":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fora Escala Nota","description":"o porquê e o remédio, no texto do núcleo"},"I_max_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"I Max Ka","description":"a corrente máxima do eixo da folha — a que foi usada"},"unifilar_svg":{"type":"string","title":"Unifilar Svg"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"engine":{"type":"string","title":"Engine"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["barra","correntes","placement_keys","janela","cenarios","governante","tabela_mestra","tags","unifilar_svg","avisos","engine","tier"],"title":"StudyResponse"},"SugestaoRede":{"properties":{"id":{"type":"string","title":"Id"},"ref":{"type":"string","title":"Ref","default":""},"titulo":{"type":"string","title":"Titulo"},"descricao":{"type":"string","title":"Descricao","default":""},"campos":{"additionalProperties":true,"type":"object","title":"Campos","description":"o que aplicar nas barras de `ref`"}},"type":"object","required":["id","titulo"],"title":"SugestaoRede","description":"O que a plataforma SABE consertar. Apontar o erro e deixar a correção com\nquem já não sabia é metade do serviço."},"TcAnsiIn":{"properties":{"direcao":{"type":"string","enum":["iec_ansi","ansi_iec"],"title":"Direcao"},"burden_VA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Burden Va"},"ALF":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Alf"},"Rct_ohm":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Rct Ohm"},"classe_ansi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classe Ansi","description":"C10…C800 — do catálogo"}},"additionalProperties":false,"type":"object","required":["direcao"],"title":"TcAnsiIn","description":"O tradutor IEC ↔ ANSI/IEEE C57.13 — `study_iec_ansi`. Cada direção pede o\nque ELA usa: IEC → ANSI pede burden, ALF e Rct; ANSI → IEC, a classe."},"TcAnsiOut":{"properties":{"direcao":{"type":"string","title":"Direcao"},"classe_ansi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classe Ansi","description":"IEC → ANSI: nula = abaixo de C10"},"V_class_V":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"V Class V"},"Eal_V":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eal V"},"classe_iec":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classe Iec"},"burden_VA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Burden Va"},"Z_b_ohm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Z B Ohm"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"norma":{"type":"string","title":"Norma","default":"IEC 61869-2 · IEEE C57.13"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["direcao","notas"],"title":"TcAnsiOut"},"TcCatalogoOut":{"properties":{"classes_tp":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Classes Tp"},"ciclos":{"items":{"type":"string"},"type":"array","title":"Ciclos"},"isr":{"items":{"type":"number"},"type":"array","title":"Isr"},"aplicacoes_pr":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Aplicacoes Pr"},"classes_ansi":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Classes Ansi"},"alf_padrao":{"items":{"type":"integer"},"type":"array","title":"Alf Padrao"},"margem_vk_vs":{"type":"number","title":"Margem Vk Vs"},"metrosil_vp_V":{"type":"number","title":"Metrosil Vp V"},"remanencias":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Remanencias"},"psrc_S_padrao":{"type":"number","title":"Psrc S Padrao","default":20.0},"polarizacoes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Polarizacoes"},"caracteristicas":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Caracteristicas"},"primarios":{"items":{"type":"number"},"type":"array","title":"Primarios"},"tr2ptdf":{"additionalProperties":{"type":"number"},"type":"object","title":"Tr2Ptdf"}},"type":"object","required":["classes_tp","ciclos","isr","aplicacoes_pr","classes_ansi","alf_padrao","margem_vk_vs","metrosil_vp_V"],"title":"TcCatalogoOut","description":"As listas das verificações avançadas do TC, do núcleo (`catalogo_avancado`)."},"TcDiffIn":{"properties":{"Sn_MVA":{"type":"number","maximum":500.0,"exclusiveMinimum":0.0,"title":"Sn Mva","description":"potência de referência do 87T (IrW = Sn/(√3·U) em cada lado)"},"U1_kV":{"type":"number","maximum":500.0,"exclusiveMinimum":0.0,"title":"U1 Kv","description":"tensão do lado 1 (kV)"},"U2_kV":{"type":"number","maximum":500.0,"exclusiveMinimum":0.0,"title":"U2 Kv","description":"tensão do lado 2 — o do TC adotado (kV)"},"Ip1_A":{"type":"number","exclusiveMinimum":0.0,"title":"Ip1 A","description":"primário do TC do lado 1 (A)"},"Isn1_A":{"type":"number","enum":[1.0,5.0],"title":"Isn1 A","description":"secundário do TC do lado 1","default":5.0},"ALF1":{"type":"number","exclusiveMinimum":1.0,"title":"Alf1","description":"fator-limite do TC do lado 1","default":20.0},"VA1":{"type":"number","exclusiveMinimum":0.0,"title":"Va1","description":"carga nominal do TC do lado 1 (VA)","default":10.0},"Rct1_ohm":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Rct1 Ohm","description":"Rct do TC do lado 1; None = estimada"},"Zb1_ohm":{"type":"number","maximum":10.0,"exclusiveMinimum":0.0,"title":"Zb1 Ohm","description":"carga REAL do lado 1 (relé + fiação, laço)","default":0.22},"remanencia1":{"type":"number","exclusiveMaximum":1.0,"minimum":0.0,"title":"Remanencia1","default":0.0},"Xb1_ohm":{"type":"number","maximum":5.0,"minimum":0.0,"title":"Xb1 Ohm","default":0.0},"I_passante_kA":{"anyOf":[{"type":"number","maximum":200.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"I Passante Ka","description":"falta passante vista do lado 2; None = o Icc do dimensionamento"},"xr":{"anyOf":[{"type":"number","maximum":60.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Xr","description":"X/R da passante; None = o X/R da entrada"},"polarizacao":{"type":"string","enum":["ret630","max"],"title":"Polarizacao","default":"ret630"},"caracteristica":{"type":"string","enum":["ret630","generic"],"title":"Caracteristica","default":"ret630"},"Iop_min_pu":{"type":"number","maximum":1.0,"minimum":0.05,"title":"Iop Min Pu","default":0.2},"inclinacao2_pct":{"type":"number","maximum":100.0,"minimum":10.0,"title":"Inclinacao2 Pct","default":40.0},"fim2_pu":{"type":"number","maximum":5.0,"minimum":1.0,"title":"Fim2 Pu","default":1.5},"fim1_pu":{"type":"number","maximum":2.0,"minimum":0.1,"title":"Fim1 Pu","description":"só na característica genérica (no TR2PTDF é fixo)","default":0.5},"inclinacao3_pct":{"type":"number","maximum":200.0,"minimum":50.0,"title":"Inclinacao3 Pct","description":"só na característica genérica (no TR2PTDF é fixa)","default":100.0}},"additionalProperties":false,"type":"object","required":["Sn_MVA","U1_kV","U2_kV","Ip1_A"],"title":"TcDiffIn","description":"O 87T de dois núcleos na falta passante (G203): o lado 2 é o TC ADOTADO; aqui\nvão o transformador, o núcleo do lado 1 e a característica do relé. As\npremissas do lado 2 (S, remanência, Xb) são as do bloco `psrc`, como na\npágina; sem ele, as do núcleo."},"TcDiffOut":{"properties":{"resumo":{"$ref":"#/components/schemas/DiffResumoOut"},"figura_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Png B64"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"}},"type":"object","required":["resumo"],"title":"TcDiffOut","description":"O 87T de dois núcleos: o resumo, a figura do gerador do memorial e os avisos."},"TcHzIn":{"properties":{"If_ext_kA":{"type":"number","exclusiveMinimum":0.0,"title":"If Ext Ka","description":"falta PASSANTE máxima (kA)"},"N":{"type":"number","exclusiveMinimum":0.0,"title":"N","description":"relação (400 = 400/1)"},"Rct_ohm":{"type":"number","exclusiveMinimum":0.0,"title":"Rct Ohm","description":"Rct do PIOR TC"},"RL_ohm":{"type":"number","minimum":0.0,"title":"Rl Ohm","description":"resistência de UM condutor (o 2 é ida e volta)"},"Vk_V":{"type":"number","exclusiveMinimum":0.0,"title":"Vk V","description":"joelho disponível do TC"},"Ir_mA":{"type":"number","exclusiveMinimum":0.0,"title":"Ir Ma","description":"corrente de operação do relé"},"VA_rele":{"type":"number","minimum":0.0,"title":"Va Rele","description":"burden do relé","default":0.0},"n_tc":{"type":"integer","minimum":2.0,"title":"N Tc","description":"TCs em paralelo"},"Ie_mA":{"type":"number","minimum":0.0,"title":"Ie Ma","description":"excitação de UM TC no Vset"},"fator_vset":{"type":"number","maximum":2.0,"minimum":1.0,"title":"Fator Vset","description":"Vset/Vs — 1,5 a 2,0, de fabricante","default":2.0},"If_int_kA":{"type":"number","exclusiveMinimum":0.0,"title":"If Int Ka","description":"falta INTERNA máxima (kA)"},"margem":{"type":"number","minimum":1.0,"title":"Margem","description":"Vk/Vs exigida — margem de fabricante, não IEC","default":2.0}},"additionalProperties":false,"type":"object","required":["If_ext_kA","N","Rct_ohm","RL_ohm","Vk_V","Ir_mA","n_tc","Ie_mA","If_int_kA"],"title":"TcHzIn","description":"Diferencial de alta impedância (PX/PXR) — `study_high_impedance`."},"TcHzOut":{"properties":{"Vs_V":{"type":"number","title":"Vs V","description":"tensão de estabilidade na falta passante"},"Vk_req_V":{"type":"number","title":"Vk Req V"},"Vk_V":{"type":"number","title":"Vk V"},"estavel":{"type":"boolean","title":"Estavel"},"Vset_V":{"type":"number","title":"Vset V"},"Rst_ohm":{"type":"number","title":"Rst Ohm","description":"resistor estabilizador"},"Ip_A":{"type":"number","title":"Ip A","description":"sensibilidade — corrente de operação primária"},"Vf_V":{"type":"number","title":"Vf V","description":"tensão teórica sem supressor na falta interna"},"Vp_V":{"type":"number","title":"Vp V","description":"tensão de pico na falta interna"},"metrosil":{"type":"boolean","title":"Metrosil","description":"Vp acima de 3 kV exige supressor não linear"},"classe_ansi_min":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classe Ansi Min","description":"nula = acima de C800"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"norma":{"type":"string","title":"Norma","default":"IEC 61869-2 (PX/PXR)"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["Vs_V","Vk_req_V","Vk_V","estavel","Vset_V","Rst_ohm","Ip_A","Vf_V","Vp_V","metrosil","notas"],"title":"TcHzOut"},"TcIn":{"properties":{"Icc_A":{"type":"number","exclusiveMinimum":0.0,"title":"Icc A","description":"corrente de curto no primário (A)"},"Isn_A":{"type":"number","enum":[1.0,5.0],"title":"Isn A","description":"secundário nominal (A)","default":5.0},"classe":{"type":"string","enum":["5P","10P"],"title":"Classe","default":"5P"},"ALF":{"type":"number","exclusiveMinimum":1.0,"title":"Alf","description":"fator-limite de exatidão nominal","default":20.0},"burden_VA":{"type":"number","exclusiveMinimum":0.0,"title":"Burden Va","description":"carga nominal do TC","default":10.0},"relay_ohm":{"type":"number","minimum":0.0,"title":"Relay Ohm","description":"impedância do relé","default":0.1},"cable_ohm_km":{"type":"number","minimum":0.0,"title":"Cable Ohm Km","description":"Ω/km do cabo de controle","default":8.0},"dist_m":{"type":"number","minimum":0.0,"title":"Dist M","description":"distância até o relé","default":50.0},"loop":{"type":"boolean","title":"Loop","description":"ida e volta (laço) no cabo","default":true},"Rct_ohm":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Rct Ohm","description":"resistência do enrolamento; None = estimada"},"I_load_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"I Load A","description":"corrente de carga"},"Fter":{"type":"number","exclusiveMinimum":0.0,"title":"Fter","description":"fator de sobrecorrente térmica","default":1.0},"xr":{"type":"number","exclusiveMinimum":0.0,"title":"Xr","description":"X/R do curto — decide a componente CC","default":15.0},"t_relay_ms":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"T Relay Ms","description":"tempo do relé; None = sem verificação de saturação CC"},"pickup_sec_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Pickup Sec A","description":"pickup do 50 no secundário — troca o gate pelo Δt real"},"Ei_ponto_cal":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Ei Ponto Cal","description":"energia incidente no ponto NO TEMPO DO RELÉ (cal/cm²) — recompõe a energia com o atraso da saturação e diz a categoria (G238)"},"Ith_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Ith A","description":"Ith de placa do TC"},"t_s":{"type":"number","exclusiveMinimum":0.0,"title":"T S","description":"duração da falta (s)","default":1.0},"tth_s":{"type":"number","exclusiveMinimum":0.0,"title":"Tth S","description":"tempo de referência do Ith","default":1.0},"Idyn_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Idyn A","description":"Idyn de placa; None = 2,5·Ith"},"medicao":{"type":"boolean","title":"Medicao","description":"há núcleo de medição a verificar","default":false},"classe_medicao":{"type":"string","enum":["0.2S","0.2","0.5S","0.5","1"],"title":"Classe Medicao","default":"0.5"},"FS":{"type":"number","exclusiveMinimum":0.0,"title":"Fs","description":"fator de segurança do núcleo de medição","default":5.0},"In_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"In A","description":"corrente PRIMÁRIA nominal do TC de medição (≈ 1,2× a carga máxima) — é ela que define a relação; a do circuito é I_load_A"},"instr_withstand_A":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Instr Withstand A","description":"suportabilidade do instrumento"},"adotado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Adotado","description":"relação adotada (ex.: '600/5'); None = a recomendada — é ela que vai ao memorial e às verificações"},"psrc":{"anyOf":[{"$ref":"#/components/schemas/TcPsrcIn"},{"type":"null"}],"description":"a falta no tempo (IEEE PSRC) — exige t_relay_ms"},"partida":{"anyOf":[{"$ref":"#/components/schemas/TcPartidaIn"},{"type":"null"}],"description":"a partida de motor contra o 50 — usa o pickup e as premissas de psrc"},"diferencial":{"anyOf":[{"$ref":"#/components/schemas/TcDiffIn"},{"type":"null"}],"description":"o 87T de dois núcleos na falta passante — o lado 2 é o TC adotado"}},"additionalProperties":false,"type":"object","required":["Icc_A"],"title":"TcIn","description":"Dimensionamento de TC de proteção (IEC 61869-2) — `ct_sizing.size_ct` e as\nverificações que decidem junto: robustez ao curto, saturação pela componente\nCC e, quando há núcleo de medição, a classe de exatidão.\n\nESCOPO desta rota: o dimensionamento, as três verificações acima e — pelos\nblocos `psrc` e `partida` — a falta e a partida de motor NO TEMPO (IEEE PSRC),\ncom as figuras do memorial (G202) — e, pelo bloco `diferencial`, a estabilidade\ndo 87T de dois núcleos na falta passante (G203)."},"TcMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/TcIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"TcMemorialIn"},"TcOut":{"properties":{"Icc_A":{"type":"number","title":"Icc A"},"Isn_A":{"type":"number","title":"Isn A"},"ALF":{"type":"number","title":"Alf"},"designacao":{"type":"string","title":"Designacao","description":"ex.: 5P20 — classe e fator-limite"},"burden_VA":{"type":"number","title":"Burden Va"},"Zb_real_ohm":{"type":"number","title":"Zb Real Ohm","description":"carga REAL do secundário (relé + cabo)"},"Fter":{"type":"number","title":"Fter"},"recomendado":{"anyOf":[{"$ref":"#/components/schemas/CandidatoTcOut"},{"type":"null"}],"description":"None quando nenhuma relação comercial atende"},"candidatos":{"items":{"$ref":"#/components/schemas/CandidatoTcOut"},"type":"array","title":"Candidatos"},"robustez":{"$ref":"#/components/schemas/RobustezOut"},"saturacao_cc":{"anyOf":[{"$ref":"#/components/schemas/SaturacaoCcOut"},{"type":"null"}],"description":"None sem t_relay_ms — sem tempo não há o que verificar"},"medicao":{"anyOf":[{"$ref":"#/components/schemas/MedicaoOut"},{"type":"null"}]},"adotado":{"anyOf":[{"$ref":"#/components/schemas/CandidatoTcOut"},{"type":"null"}],"description":"o TC adotado — o que vai ao memorial e às verificações"},"psrc":{"anyOf":[{"$ref":"#/components/schemas/TcPsrcOut"},{"type":"null"}],"description":"a falta no tempo (IEEE PSRC), quando pedida"},"partida":{"anyOf":[{"$ref":"#/components/schemas/TcPartidaOut"},{"type":"null"}],"description":"a partida de motor no tempo, quando pedida"},"diferencial":{"anyOf":[{"$ref":"#/components/schemas/TcDiffOut"},{"type":"null"}],"description":"o 87T de dois núcleos na falta passante, quando pedido"},"escopo":{"type":"string","title":"Escopo","default":"dimensionamento + robustez ao curto + saturação CC + classe de medição + o TC no tempo (IEEE PSRC): a falta, a partida de motor e o 87T de dois núcleos, pelos blocos psrc, partida e diferencial"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"IEC 61869-2"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["Icc_A","Isn_A","ALF","designacao","burden_VA","Zb_real_ohm","Fter","robustez"],"title":"TcOut"},"TcPartidaIn":{"properties":{"I_partida_A":{"type":"number","exclusiveMinimum":0.0,"title":"I Partida A","description":"corrente de partida (rotor bloqueado), A primários eficazes"},"xr":{"type":"number","maximum":100.0,"exclusiveMinimum":0.0,"title":"Xr","description":"X/R do circuito na partida (motores de MT: 15–40)","default":20.0}},"additionalProperties":false,"type":"object","required":["I_partida_A"],"title":"TcPartidaIn","description":"A partida de motor com offset CC contra o 50 do alimentador — o mesmo modelo e\nas mesmas premissas da falta (`psrc`)."},"TcPartidaOut":{"properties":{"resumo":{"$ref":"#/components/schemas/PartidaTcResumoOut"},"figura_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Png B64"}},"type":"object","required":["resumo"],"title":"TcPartidaOut","description":"A partida no tempo: o resumo e a figura do gerador do memorial."},"TcPrIn":{"properties":{"kr":{"type":"number","maximum":0.95,"minimum":0.0,"title":"Kr","description":"fator de remanência Kr (p.u.)"},"alf_eff":{"type":"number","exclusiveMinimum":0.0,"title":"Alf Eff","description":"ALF' efetivo — o do dimensionamento, com a carga real"},"Icc_kA":{"type":"number","exclusiveMinimum":0.0,"title":"Icc Ka"},"In_A":{"type":"number","exclusiveMinimum":0.0,"title":"In A","description":"primário nominal do TC (A)"},"aplicacao":{"type":"string","title":"Aplicacao","description":"função de proteção: 51, 87, 21 ou 79","default":"51"},"xr":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Xr","description":"X/R — com ele a exigência inclui a componente CC"}},"additionalProperties":false,"type":"object","required":["kr","alf_eff","Icc_kA","In_A"],"title":"TcPrIn","description":"Remanência e classe PR — `study_remanence`, triagem de pior caso de\nmeio-ciclo. Sem X/R a exigência é a simétrica; com ele entra (1+X/R)."},"TcPrOut":{"properties":{"kr":{"type":"number","title":"Kr"},"baixa_remanencia":{"type":"boolean","title":"Baixa Remanencia"},"alf_eff":{"type":"number","title":"Alf Eff"},"alf_rem":{"type":"number","title":"Alf Rem"},"razao_exigida":{"type":"number","title":"Razao Exigida"},"assimetrica":{"type":"boolean","title":"Assimetrica"},"ok":{"type":"boolean","title":"Ok"},"margem":{"type":"number","title":"Margem"},"aplicacao":{"type":"string","title":"Aplicacao"},"recomenda_pr":{"type":"boolean","title":"Recomenda Pr"},"motivo_pr":{"type":"string","title":"Motivo Pr"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"norma":{"type":"string","title":"Norma","default":"IEC 61869-2"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["kr","baixa_remanencia","alf_eff","alf_rem","razao_exigida","assimetrica","ok","margem","aplicacao","recomenda_pr","motivo_pr","notas"],"title":"TcPrOut"},"TcPsrcIn":{"properties":{"pickup_A":{"type":"number","exclusiveMinimum":0.0,"title":"Pickup A","description":"pickup do 50 que este TC alimenta (A primários)"},"S":{"type":"number","maximum":40.0,"minimum":5.0,"title":"S","description":"declividade S da curva de excitação (típico 15–25)","default":20.0},"remanencia":{"type":"number","exclusiveMaximum":1.0,"minimum":0.0,"title":"Remanencia","description":"fluxo remanescente antes da falta, em fração do de saturação","default":0.0},"Xb_ohm":{"type":"number","maximum":5.0,"minimum":0.0,"title":"Xb Ohm","description":"reatância do burden — só o PSRC a usa","default":0.0}},"additionalProperties":false,"type":"object","required":["pickup_A"],"title":"TcPsrcIn","description":"A falta NO TEMPO (IEEE PSRC) do TC adotado — o pickup do 50 em A primários e\nas premissas do modelo, que o memorial declara (G202)."},"TcPsrcOut":{"properties":{"resumo":{"$ref":"#/components/schemas/PsrcResumoOut"},"figura_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Png B64"}},"type":"object","required":["resumo"],"title":"TcPsrcOut","description":"A falta no tempo: o resumo e a figura do gerador do memorial."},"TcSemSaturacaoCcOut":{"properties":{"ratio":{"type":"string","title":"Ratio"},"ALF_eff":{"type":"number","title":"Alf Eff"},"alf_exigido":{"type":"number","title":"Alf Exigido","description":"(Icc/Ip)·(1 + X/R) — o que a componente CC exige"}},"type":"object","required":["ratio","ALF_eff","alf_exigido"],"title":"TcSemSaturacaoCcOut","description":"O menor TC que não satura nem na falta assimétrica (G238)."},"TcTpIn":{"properties":{"classe":{"type":"string","title":"Classe","description":"TPX, TPY ou TPZ"},"ciclo":{"type":"string","title":"Ciclo","description":"C-O ou C-O-C-O","default":"C-O"},"Ipsc_kA":{"type":"number","exclusiveMinimum":0.0,"title":"Ipsc Ka","description":"curto simétrico no primário (kA)"},"Ipr_kA":{"type":"number","exclusiveMinimum":0.0,"title":"Ipr Ka","description":"corrente primária nominal (kA)"},"Tp_ms":{"type":"number","exclusiveMinimum":0.0,"title":"Tp Ms","description":"constante de tempo primária (ms) — (X/R)/(2π·f)"},"Ts_s":{"type":"number","exclusiveMinimum":0.0,"title":"Ts S","description":"constante de tempo secundária (s), de fabricante"},"t_al_ms":{"type":"number","exclusiveMinimum":0.0,"title":"T Al Ms","description":"tempo até o limite de exatidão t'al (ms)"},"tfr_ms":{"type":"number","minimum":0.0,"title":"Tfr Ms","description":"tempo morto do religamento (ms) — só no C-O-C-O","default":0.0},"Rct_ohm":{"type":"number","exclusiveMinimum":0.0,"title":"Rct Ohm","description":"resistência do enrolamento secundário"},"Rb_ohm":{"type":"number","minimum":0.0,"title":"Rb Ohm","description":"carga resistiva do secundário"},"Isr_A":{"type":"number","title":"Isr A","description":"secundário nominal: 1 ou 5 A"},"Ek_V":{"type":"number","exclusiveMinimum":0.0,"title":"Ek V","description":"FEM de joelho disponível do TC (V)"}},"additionalProperties":false,"type":"object","required":["classe","Ipsc_kA","Ipr_kA","Tp_ms","Ts_s","t_al_ms","Rct_ohm","Rb_ohm","Isr_A","Ek_V"],"title":"TcTpIn","description":"Classes transitórias TP (IEC 61869-2 / TR 61869-100) — `study_tp_class`.\nA classe e o ciclo vêm do catálogo servido (`tools/ct/catalogo`); Ts é de\nFABRICANTE, e a resposta diz quando ele sai da faixa típica da classe."},"TcTpOut":{"properties":{"classe":{"type":"string","title":"Classe"},"ciclo":{"type":"string","title":"Ciclo"},"Kssc":{"type":"number","title":"Kssc"},"Ktf1":{"type":"number","title":"Ktf1"},"Ktd":{"type":"number","title":"Ktd"},"metodo":{"type":"string","title":"Metodo","description":"simplificado (ks) quando Ts ≫ Tp; senão o Ktf geral"},"Eal_V":{"type":"number","title":"Eal V","description":"FEM secundária limite exigida"},"Ek_V":{"type":"number","title":"Ek V"},"ok":{"type":"boolean","title":"Ok"},"folga":{"type":"number","title":"Folga","description":"Ek/Eal"},"deficit_V":{"type":"number","title":"Deficit V"},"notas":{"items":{"type":"string"},"type":"array","title":"Notas"},"norma":{"type":"string","title":"Norma","default":"IEC 61869-2 · IEC TR 61869-100"},"tier":{"type":"string","title":"Tier","default":""}},"type":"object","required":["classe","ciclo","Kssc","Ktf1","Ktd","metodo","Eal_V","Ek_V","ok","folga","deficit_V","notas"],"title":"TcTpOut"},"TccManualAbrirOut":{"properties":{"curvas":{"items":{"$ref":"#/components/schemas/CurvaManual"},"type":"array","title":"Curvas"},"ref_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ref Kv"},"Icc_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Icc Ka"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"}},"type":"object","required":["curvas"],"title":"TccManualAbrirOut","description":"O estudo antigo no formato manual, reaberto como curvas da ferramenta."},"TccManualIn":{"properties":{"curvas":{"items":{"$ref":"#/components/schemas/CurvaManual"},"type":"array","maxItems":4,"minItems":1,"title":"Curvas"},"ref_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Ref Kv","description":"tensão de referência da folha; ausente, a do ponto da falta (`arco_kV`) ou, sem ela, a menor tensão das curvas"},"Icc_kA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Icc Ka","description":"corrente de falta franca no ponto (kA)"},"arco_kV":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Arco Kv","description":"tensão do ponto da falta: com ela e o Icc, a corrente de ARCO sai do motor IEEE 1584 com a geometria típica dessa tensão, e a folha diz o tempo que vai ao arco"},"I_max_kA":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"I Max Ka"},"T_max_ms":{"type":"number","exclusiveMinimum":0.0,"title":"T Max Ms","default":10000.0},"lang":{"type":"string","title":"Lang","default":"pt"}},"additionalProperties":false,"type":"object","required":["curvas"],"title":"TccManualIn","description":"O coordenograma MANUAL — a Ferramenta de transição do D8: até quatro\ncurvas sem rede, a falta digitada. A folha é referida ao ponto da falta."},"TccManualOut":{"properties":{"tcc_png_b64":{"type":"string","title":"Tcc Png B64"},"tags":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tags"},"resumo_ajustes":{"items":{"$ref":"#/components/schemas/LinhaAjuste"},"type":"array","title":"Resumo Ajustes"},"intersecoes":{"items":{"$ref":"#/components/schemas/IntersecaoManual"},"type":"array","title":"Intersecoes"},"tempo_ao_arco":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tempo Ao Arco","description":"o dispositivo que ELIMINA a falta de arco (o mais rápido em Iarc) e o tempo dele — é o que o estudo de energia recebe"},"fora_escala":{"items":{"$ref":"#/components/schemas/ForaEscala"},"type":"array","title":"Fora Escala"},"fora_escala_nota":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fora Escala Nota"},"fora":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Fora","description":"curvas que não resolveram, com o motivo"},"ref_kV":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ref Kv"},"I_max_kA":{"type":"number","title":"I Max Ka"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["tcc_png_b64","tags","resumo_ajustes","I_max_kA","tier"],"title":"TccManualOut"},"TermicoRotorOut":{"properties":{"t_lr_s":{"type":"number","title":"T Lr S"},"folga_s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Folga S","description":"t_rb − t_aceleração; nula quando o motor não acelera"},"i2t_partida":{"type":"number","title":"I2T Partida"},"i2t_capacidade":{"type":"number","title":"I2T Capacidade"},"uso_pct":{"type":"number","title":"Uso Pct"},"LRC":{"type":"number","title":"Lrc","description":"Ip/In a tensão plena"},"accel_ok":{"type":"boolean","title":"Accel Ok"},"thermal_ok":{"type":"boolean","title":"Thermal Ok"}},"type":"object","required":["t_lr_s","i2t_partida","i2t_capacidade","uso_pct","LRC","accel_ok","thermal_ok"],"title":"TermicoRotorOut"},"TipicoOut":{"properties":{"nome":{"type":"string","title":"Nome"},"Voc":{"type":"number","title":"Voc"},"G":{"type":"number","title":"G"},"Ibf":{"type":"number","title":"Ibf"},"W":{"type":"number","title":"W"},"H":{"type":"number","title":"H"},"P":{"type":"number","title":"P"},"cfg":{"type":"string","title":"Cfg"},"D":{"type":"number","title":"D"}},"type":"object","required":["nome","Voc","G","Ibf","W","H","P","cfg","D"],"title":"TipicoOut","description":"Um elemento típico do catálogo do núcleo (`calc_core.TIPICOS`) — a tabela\nNÃO é copiada para a UI: a página escolhe daqui."},"ToolInfo":{"properties":{"slug":{"type":"string","title":"Slug"},"titulo":{"type":"string","title":"Titulo"},"norma":{"type":"string","title":"Norma"},"rota":{"type":"string","title":"Rota","description":"rota de cálculo (livre, com teto)"},"memorial":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memorial","description":"rota do PDF (assinatura)"}},"type":"object","required":["slug","titulo","norma","rota"],"title":"ToolInfo"},"ToolList":{"properties":{"ferramentas":{"items":{"$ref":"#/components/schemas/ToolInfo"},"type":"array","title":"Ferramentas"},"n":{"type":"integer","title":"N"}},"type":"object","required":["ferramentas","n"],"title":"ToolList"},"TrafoCatalogoOut":{"properties":{"ligacoes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Ligacoes"},"frequencias":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Frequencias"},"tipos":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tipos"},"fases":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Fases"},"inrush_pico":{"additionalProperties":{"type":"number"},"type":"object","title":"Inrush Pico"},"fla_t_ms":{"type":"number","title":"Fla T Ms"}},"type":"object","required":["ligacoes","frequencias","tipos","fases","inrush_pico","fla_t_ms"],"title":"TrafoCatalogoOut","description":"As ligações com o fator, as frequências de falta, os tipos, as fases e os\ndois pontos opcionais — do núcleo."},"TrafoDanoIn":{"properties":{"Sn_kVA":{"type":"number","exclusiveMinimum":0.0,"title":"Sn Kva","description":"potência nominal (kVA)"},"Vn_kV":{"type":"number","exclusiveMinimum":0.0,"title":"Vn Kv","description":"tensão do enrolamento em estudo (kV)"},"Z_pct":{"type":"number","exclusiveMinimum":0.0,"title":"Z Pct","description":"impedância de curto-circuito Z (%)"},"phases":{"type":"string","enum":["3ph","1ph"],"title":"Phases","default":"3ph"},"fault_frequency":{"type":"string","enum":["infrequent","frequent"],"title":"Fault Frequency","description":"frequente = mais de 10 faltas passantes na vida","default":"infrequent"},"transformer_type":{"type":"string","enum":["liquid","dry"],"title":"Transformer Type","default":"liquid"},"k_inrush":{"type":"number","exclusiveMinimum":0.0,"title":"K Inrush","description":"múltiplo de In no inrush","default":12.0},"t_inrush_ms":{"type":"number","exclusiveMinimum":0.0,"title":"T Inrush Ms","default":100.0},"connection":{"type":"string","enum":["none","dyg","ygd","dd","yy","ygyg"],"title":"Connection","description":"ligação primário–secundário (C37.91): desloca a curva referida ao outro lado — Δ-Yg ×0,58 · Δ-Δ/Y-Y ×0,87","default":"none"},"referida":{"type":"boolean","title":"Referida","description":"a curva referida ao outro lado","default":false},"inrush_pico":{"type":"boolean","title":"Inrush Pico","description":"o inrush de pico (25×In em 10 ms)","default":false},"ponto_fla":{"type":"boolean","title":"Ponto Fla","description":"a corrente nominal a 1000 s","default":false},"figura":{"type":"boolean","title":"Figura","description":"a curva em PNG, do MESMO gerador do memorial","default":true}},"additionalProperties":false,"type":"object","required":["Sn_kVA","Vn_kV","Z_pct"],"title":"TrafoDanoIn","description":"Curva de dano do transformador (IEEE C57.109) — `study_transformer_damage`.\nA categoria sai da potência; a curva MECÂNICA só existe em faltas frequentes\ndas categorias II a IV, que é o que a norma prevê."},"TrafoDanoMemorialIn":{"properties":{"entrada":{"$ref":"#/components/schemas/TrafoDanoIn"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro (S19) — sob ela a marca própria some do documento inteiro, capa, rodapé e /Author"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"TrafoDanoMemorialIn"},"TrafoDanoOut":{"properties":{"Sn_kVA":{"type":"number","title":"Sn Kva"},"Vn_kV":{"type":"number","title":"Vn Kv"},"Z_pct":{"type":"number","title":"Z Pct"},"phases":{"type":"string","title":"Phases"},"category":{"type":"string","title":"Category","description":"I a IV — pela potência (C57.109 Tab. 1)"},"fault_frequency":{"type":"string","title":"Fault Frequency"},"transformer_type":{"type":"string","title":"Transformer Type"},"In_kA":{"type":"number","title":"In Ka"},"I_max_pu":{"type":"number","title":"I Max Pu","description":"corrente passante máxima, em múltiplos de In"},"I_max_kA":{"type":"number","title":"I Max Ka"},"mech_break_kA":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mech Break Ka","description":"joelho da curva mecânica; None quando ela não se aplica"},"k_inrush":{"type":"number","title":"K Inrush"},"ansi_point":{"$ref":"#/components/schemas/PontoOut"},"inrush_point":{"$ref":"#/components/schemas/PontoOut"},"curvas":{"items":{"$ref":"#/components/schemas/CurvaOut"},"type":"array","title":"Curvas","description":"dano (governante), térmica e — quando aplicável — mecânica"},"fator_ligacao":{"type":"number","title":"Fator Ligacao","description":"deslocamento da ligação (C37.91)","default":1.0},"referida":{"anyOf":[{"$ref":"#/components/schemas/ReferidaOut"},{"type":"null"}],"description":"a curva referida ao outro lado — nula quando não pedida ou quando a ligação não desloca"},"pontos":{"items":{"$ref":"#/components/schemas/PontoOut"},"type":"array","title":"Pontos","description":"o inrush de pico e o FLA, quando pedidos"},"complementos_fora":{"items":{"type":"string"},"type":"array","title":"Complementos Fora","description":"COBERTURA: o complemento pedido que não se aplica, e por quê"},"figura_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Figura Png B64","description":"a curva em PNG — a do memorial"},"avisos":{"items":{"type":"string"},"type":"array","title":"Avisos"},"norma":{"type":"string","title":"Norma","default":"IEEE C57.109"},"tier":{"type":"string","title":"Tier","description":"anon · free · full","default":""}},"type":"object","required":["Sn_kVA","Vn_kV","Z_pct","phases","category","fault_frequency","transformer_type","In_kA","I_max_pu","I_max_kA","k_inrush","ansi_point","inrush_point","curvas"],"title":"TrafoDanoOut"},"TrechoIn":{"properties":{"kind":{"type":"string","enum":["reto","curva"],"title":"Kind"},"length_m":{"type":"number","minimum":0.0,"title":"Length M","description":"só no trecho reto","default":0.0},"incline_deg":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Incline Deg","description":"subida positiva","default":0.0},"bend_deg":{"type":"number","maximum":180.0,"minimum":0.0,"title":"Bend Deg","description":"só na curva","default":0.0},"radius_m":{"type":"number","minimum":0.0,"title":"Radius M","description":"raio da curva (m)","default":0.0}},"additionalProperties":false,"type":"object","required":["kind"],"title":"TrechoIn","description":"Um trecho da rota: 'reto' (com inclinação) ou 'curva' (ângulo e raio)."},"UcOut":{"properties":{"uc":{"type":"string","title":"Uc"},"rotulo":{"type":"string","title":"Rotulo","default":""},"faturas":{"type":"integer","title":"Faturas","default":0},"competencias":{"items":{"type":"string"},"type":"array","title":"Competencias"}},"type":"object","required":["uc"],"title":"UcOut","description":"Uma unidade consumidora presente nos documentos."},"ValidacaoOut":{"properties":{"prontas":{"additionalProperties":{"type":"integer"},"type":"object","title":"Prontas"},"pendentes":{"items":{"type":"string"},"type":"array","title":"Pendentes","description":"linha em digitação ainda não é rede (G130), declarada com o id"},"recusas":{"items":{"$ref":"#/components/schemas/AchadoRede"},"type":"array","title":"Recusas"},"avisos":{"items":{"$ref":"#/components/schemas/AchadoRede"},"type":"array","title":"Avisos","description":"o motor aceita, e provavelmente não é o que se quis"},"sugestoes":{"items":{"$ref":"#/components/schemas/SugestaoRede"},"type":"array","title":"Sugestoes"}},"type":"object","title":"ValidacaoOut","description":"O que a instalação já é, o que ainda não é, e o que o motor recusaria —\nSEM calcular. Não substitui o motor: recusa que só o cálculo revela continua\nsaindo de lá, com a mensagem da norma."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerifyIn":{"properties":{"email":{"type":"string","maxLength":200,"minLength":5,"title":"Email"},"code":{"type":"string","maxLength":12,"minLength":4,"title":"Code","description":"o código recebido por e-mail; o NÚMERO de dígitos é configuração do projeto Supabase (Email OTP Length), por isso a faixa é larga e quem julga é o GoTrue"}},"additionalProperties":false,"type":"object","required":["email","code"],"title":"VerifyIn"},"VigilanciaIn":{"properties":{"entrada":{"$ref":"#/components/schemas/AuditoriaIn"},"competencia":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}$"},{"type":"null"}],"title":"Competencia","description":"o ciclo do relatório (AAAA-MM); vazio = o último da série"},"ident":{"$ref":"#/components/schemas/Ident"},"white_label":{"anyOf":[{"$ref":"#/components/schemas/WhiteLabel"},{"type":"null"}],"description":"marca do parceiro — sob ela a marca própria some do documento inteiro"}},"additionalProperties":false,"type":"object","required":["entrada"],"title":"VigilanciaIn","description":"O relatório MENSAL da vigilância da fatura (P5): a série da UC e o ciclo do mês."},"WhiteLabel":{"properties":{"nome":{"type":"string","maxLength":80,"title":"Nome","default":""},"logo_png_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Png B64","description":"PNG em base64; passa pelo MESMO gate do upload do app"}},"additionalProperties":false,"type":"object","title":"WhiteLabel","description":"A marca do PARCEIRO no documento (S19/M1). Sob white-label a marca da\nplataforma some do documento INTEIRO, inclusive do Termo de\nResponsabilidade — resta só a versão do motor.\n\nVale nos TRÊS documentos que o implementam (parecer de faturas, memorial de\ndemanda e de recuperação — o \"pacote do parceiro\" da G106). Os memoriais das\nferramentas e o caderno da planta ainda não o suportam, e por isso não o\ndeclaram: campo que o gerador ignora é promessa quebrada em silêncio."},"ZonasNr10Out":{"properties":{"Rr_m":{"type":"number","title":"Rr M"},"Rc_m":{"type":"number","title":"Rc M"},"faixa":{"type":"string","title":"Faixa"}},"type":"object","required":["Rr_m","Rc_m","faixa"],"title":"ZonasNr10Out","description":"As zonas de aproximação da NR-10, Anexo II (Tabela 1), para a tensão: o raio\nda zona de RISCO e o da CONTROLADA. É proteção contra CHOQUE — não se\nconfunde com a fronteira de arco (LAS)."}}}}