{
  "markdown": "# sisprev\n\nAuditoria e validação das regras de aposentadoria e pensão por morte do\nSisprev — o sistema de regime próprio de previdência de Rondônia — para que\ncada regra possa ser aplicada no sistema com segurança jurídica.\n\n## Objetivo\n\nO Sisprev decide qual regra de aposentadoria ou pensão por morte se aplica a\ncada servidor com base numa tabela de regras: cada uma define elegibilidade\n(datas de admissão e de aquisição do direito, sexo), forma de cálculo dos\nproventos (integral, por média, proporcional) e a fundamentação legal\ncorrespondente. O número de regras não é fixo — cresce e muda conforme\nlegislação nova é editada e regras antigas são revistas; o que é estrutural\né o próprio modelo: cada regra tem um `TIPO DE BENEFICIO`, um\n`CICLO DE VALIDAÇÃO` (a ordem em que deve ser revisada) e dois sinalizadores\nde validação jurídica, `VALIDADO PGE` e `VALIDADO PRESIDENCIA`.\n\nNa última atualização da planilha (`data/raw/regras-sisprev.csv`), todas as\nregras então cadastradas já estavam ativas no sistema\n(`ATUALMENTE NO SISTEMA = TRUE`) mas nenhuma tinha concluído o ciclo de\nvalidação jurídica (`VALIDADO PGE` e `VALIDADO PRESIDENCIA` ambos `FALSE`\nem toda a tabela). Isso é o estado de um momento específico, não uma\ncaracterística do sistema — a proporção validada deve mudar à medida que\nregras forem revisadas; **não assuma esses números sem reconferir a\nplanilha atual.**\n\nEste repositório existe para fechar essa lacuna de validação: transformar a\nplanilha de regras em algo que dê para **revisar regra por regra** —\nconferir se a fundamentação legal citada está correta e atualizada, se a\njanela de elegibilidade bate com a legislação, se o método de cálculo é o\nexigido — e registrar o resultado dessa revisão de forma auditável (quem\nrevisou, o quê mudou, quando), até que cada regra tenha sido de fato\nvalidada pela PGE e pela Presidência.\n\n## Por que um bundle OKF, e não só a planilha\n\nA planilha original (`data/raw/regras-sisprev.csv`) é a baseline congelada da\nimportação, não a fonte de verdade corrente — o registro vivo e autoritativo\napós o bootstrap é o bundle `okf/regras-sisprev/`. Ela também não é um bom\nformato para auditoria: dezenas de linhas × 27 colunas em uma única tabela\nlarga, sem histórico linha-a-linha, sem como comentar uma regra específica.\n\nEste repo mantém a mesma informação também como um bundle [Open Knowledge\nFormat (OKF) v0.1][okf-spec] — um arquivo markdown por regra. Toda a regra\n(as 27 colunas do Sisprev, fundamentação legal inclusa) vive no **frontmatter**\n— o frontmatter *é* a regra deployável, só com os campos que o Sisprev já tem.\nO **corpo do markdown fica livre para a nossa análise da regra** (reconciliação,\ndúvidas, notas de auditoria), nunca uma coluna do CSV. Isso dá:\n\n- **Diff e histórico por regra**: cada alteração numa regra (e cada\n  validação) vira um commit em `okf/regras-sisprev/regras/regra-NNNN.md`,\n  revisável em Pull Request.\n- **Revisão em paralelo**: cada regra é um arquivo — dá para distribuir a\n  revisão entre pessoas/ciclos sem conflito, não importa quantas regras\n  existam no momento.\n- **Comentário e citação por regra**: PRs comentam a fundamentação de uma\n  regra específica, linkam para o texto legal, sem afetar as demais.\n\n**`data/raw/regras-sisprev.csv` é a importação original, congelada — nunca é\nsobrescrita.** `derivar.py` recusa com erro se alguém apontar a saída para lá,\ne o CI confere que cada arquivo congelado tem exatamente um commit na história:\no da importação. Ela existe como a linha de base da auditoria — o estado exato\nem que as regras foram recebidas, preservado para sempre.\n\nA partir da importação inicial, **o bundle OKF é o registro vivo**: correções\nde auditoria (fundamentação, datas, status de validação) são feitas\ndiretamente nos `regra-NNNN.md`, não na planilha. O export plano do estado\natual do bundle, para consumo pelo Sisprev, é gerado por `derivar.py` em\n`data/regras-sisprev.csv` — fora de `data/raw/`, nunca substituindo o\noriginal.\n\n## Estrutura\n\n```\ndata/raw/regras-sisprev.csv     # importação original — SOMENTE LEITURA, nunca sobrescrita\ndata/regras-sisprev.csv         # export plano do estado ATUAL do bundle — commitado, conferido pelo CI a cada mudança\nokf/regras-sisprev/\n├── index.md                    # listagem raiz do bundle\n├── regras-sisprev.md           # doc \"Dataset\": schema das 27 colunas + metadados\n└── regras/\n    ├── index.md                # listagem de todas as regras\n    └── regra-0001.md ...       # uma regra por arquivo (frontmatter = a regra; corpo = análise) — registro vivo, editado durante a auditoria\nscripts/\n├── derivar.py                   # bundle OKF -> CSV derivado + índices + snapshot do site\n└── gerar_relatorio_pdf.py       # site/dist/ -> relatório da PGE em PDF\n```\n\nCada `regra-NNNN.md` traz no frontmatter **todas** as colunas do Sisprev:\ntipo de benefício, ciclo de validação, status de validação (PGE/Presidência),\nelegibilidade (datas, sexo), paridade, forma de cálculo e a fundamentação\nlegal proporcional, integral e geral — o frontmatter é a regra deployável. O\ncorpo do markdown fica livre para a análise da regra durante a auditoria\n(conferência da fundamentação contra a legislação, notas, dúvidas).\n\n## Cronograma de validacao\n\nO plano operacional de cinco regras por dia esta em [docs/cronograma-validacao.md](docs/cronograma-validacao.md).\n\n## Fluxo de trabalho de auditoria\n\n**Mudanças são sempre feitas no `.md` da regra — nunca editando um CSV à\nmão.** O CSV derivado (`data/regras-sisprev.csv`) é gerado por script a\npartir do bundle, nunca o contrário.\n\n1. Abra as regras de um ciclo (`CICLO DE VALIDAÇÃO`) em\n   `okf/regras-sisprev/regras/` — comece pelo `1º`.\n2. Para cada regra: confira a fundamentação legal citada contra o texto\n   vigente da lei/emenda, confira se as datas de elegibilidade e o método\n   de cálculo (`TIPO_CALCULO`) fazem sentido com essa fundamentação.\n3. Registre o resultado da revisão (correções na fundamentação, ajuste de\n   datas, ou confirmação) como uma alteração direta no `regra-NNNN.md`\n   correspondente.\n4. Rode `uv run scripts/derivar.py` — isso regenera\n   `data/regras-sisprev.csv` **e os `index.md`** a partir do bundle\n   atualizado. Commite o `.md` alterado **junto com** os artefatos derivados\n   no mesmo PR. O CI confere que esses derivados batem exatamente com o\n   conteúdo atual das regras — falha se alguém commitar só o `.md` e esquecer\n   de regenerar, ou vice-versa.\n5. Quando uma regra estiver de fato aprovada pela PGE/Presidência fora\n   deste repo, atualize `validado_pge` / `validado_presidencia` para\n   `'TRUE'` no `regra-NNNN.md` correspondente (e regenere o CSV, passo 4).\n\n## Comandos\n\n```bash\n# a cada edição de regra ou achado: regenera CSV derivado, índices e snapshot\nuv run scripts/derivar.py\n\n# conformidade OKF, um bundle por vez\nuv run okf-parser check okf/regras-sisprev\n```\n\n## Antes de commitar\n\n```bash\nuv run ruff format --check && uv run ruff check\nuv run mdformat --check --number okf docs README.md CLAUDE.md\nuv run scripts/derivar.py\n```\n\nVeja `CLAUDE.md` para detalhes de arquitetura e as regras de manter CSV e\nbundle sincronizados.\n\n[okf-spec]: https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md\n",
  "bytes": 7221,
  "sha": "033b313a0245f73cf049a4c3329c6d868a52e7b660a30d4cc2dd3460eb7e2bd2",
  "repo_slug": "franklinbaldo/sisprev",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_franklinbaldo_sisprev_okf_regras_propost_bf0ee5f2/readme"
}