Do Decidim ao ecossistema Brasil Participativo — mapa de leitura
Mapa de leitura · Decidim · Brasil Participativo

Do Decidim ao ecossistema Brasil Participativo

O que começou como "um app Decidim" virou uma constelação de documentos — modelo institucional, arquitetura, gems próprias, módulos internos, análise de upgrade, triagem de bugs, plano de publicação no RubyGems. Este texto não substitui nenhum deles: dá a ordem certa de leitura e o porquê de cada um existir.

Documentos linkados: 12 Camadas: institucional → produto → framework → núcleo Gems do BP: 11 → 20 sob bp-* Atualizado: set/2026

1O que é o Decidim

Tudo parte de uma peça que a equipe não escreveu.

O Decidim é um framework livre de democracia participativa em Ruby on Rails, usado por governos como Barcelona e a Comissão Europeia. A ideia central é simples — uma prefeitura ou ministério quer abrir parte da gestão para participação popular (orçamento, consultas, propostas), e o Decidim entrega a estrutura pronta: organizações, espaços participativos (processos, assembleias, conferências) e componentes plugáveis dentro deles (propostas, reuniões, orçamentos, surveys…).

O detalhe que explica quase tudo que vem depois: o Decidim é modular. Cada decidim-* é uma gem independente, e customizar o framework normalmente significa estender essas gems por fora — não reescrevê-las.

framework

decidim.org — o projeto oficial

Site institucional do Decidim: o que é, quem usa, documentação oficial.

decidim.org

2O Participa: o Decidim virando produto de governo

O relatório de arquitetura é a leitura de entrada se você quer entender o app, não o framework: como o repositório é, na prática, um wrapper Rails fino sobre o Decidim, com uma engine própria (decidim-govbr) carregando a identidade visual e o login gov.br, um esquema multi-tenant ("um Decidim, um banco, muitos órgãos" — um schema PostgreSQL por organização) e um roteiro histórico em camadas: fundação multi-tenant → identidade GovBR → expansão de módulos.

produto

Participa: como o sistema é concebido e o que ele entrega

Arquitetura do app, multi-tenant, identidade GovBR, top 10 funcionalidades e roadmap por ciclos.

pages.dev.caicara.dev/participa-como-o-sistema-e-concebido-e-o-que-ele-entrega

2.1 Participação multicanal

Um fio secundário desse mesmo produto: participação por outros canais além da web — WhatsApp e Telegram viram interações estruturadas que sincronizam com o Decidim.

stub · em construção

Como a participação multicanal se conecta ao Brasil Participativo

WhatsApp/Telegram/Web viram participação estruturada e sincronizam com o Decidim — página ainda inicial.

pages.dev.caicara.dev/como-a-participacao-multicanal-se-conecta-ao-brasil-participativo

3Como isso chega aos municípios

O software é uma condição necessária, não suficiente. Falta o desenho institucional que faz um município de porte médio efetivamente rodar um processo participativo — e é isso que o guia de implantação resolve.

institucional

Brasil Participativo · Modelo de uso e execução nos municípios

Dois pilares institucionais, o micro-ciclo de cinco fases, o calendário atrelado ao PPA/LDO/LOA, o modelo jurídico-financeiro escolhido e o roteiro de implantação em 180 dias.

pages.dev.caicara.dev/brasil-participativo-modelo-de-uso-e-execucao-nos-municipios

3.1 Dois pilares que se encaixam

Audiência pública e consulta pública não competem — se sequenciam. Cada pilar institucional brasileiro tem um tradutor direto na plataforma: a audiência pública (oral, síncrona, convocada) vira o componente Encontros; a consulta pública (escrita, assíncrona, com prazo) vira um Processo com Textos participativos.

Falso amigo

O espaço "Consultas" dentro do Decidim é um mecanismo de votação/referendo com urna eletrônica — não é a consulta pública brasileira. O equivalente funcional é um Processo com componentes escritos (Textos participativos, Comentários, Emendas).

3.2 O micro-ciclo e o calendário do orçamento

Toda receita de processo é uma variação de cinco fases — convocar → habilitar → deliberar → responder → prestar contas — desenhadas para que a participação produza consequência, que é onde a maioria das iniciativas falha. Regra de ouro: um processo que não chega a "responder" e "prestar contas" é, para o cidadão, indistinguível de nenhum processo. No plano anual, esse ciclo se amarra ao calendário orçamentário (PPA, LDO, LOA) — o único ponto em que a participação incide sobre decisão vinculante de recursos.

3.3 O Termo de Adesão e o roteiro de 180 dias

De seis caminhos jurídico-financeiros mapeados, um venceu com a maior pontuação: o Termo de Adesão intergovernamental (modelo Rede GOV.BR / Transferegov), rodando sobre infraestrutura de bem público federal com cofinanciamento estadual opcional. A União entrega plataforma, hospedagem e capacitação; o município assume ponto focal, comitê gestor, calendário publicado e resposta fundamentada a 100% das contribuições.

4,4/5pontuação do modelo escolhido
180dde adesão ao 1º relatório público
24mvigência do termo, renovável
3níveis de capacitação previstos
Ponto de atenção

A capacitação (Níveis 1–3) ainda não existe e precisa estar pronta antes do primeiro município-piloto — os 180 dias de cada cidade começam atrasados se a trilha não estiver no ar antes da semana 9, e o atraso se acumula a cada nova cidade que entra na rede.

4O ecossistema de gems: estender sem fork

O Participa não implementa suas regras de negócio brasileiras dentro do próprio app — ele as isola em onze repositórios próprios, publicados via git (ainda não no RubyGems), cada um travado numa revisão fixa no Gemfile.lock. A tese central: estender em tempo de boot vale mais que forkar — nove dos onze módulos inserem código na frente das classes do core sem copiá-las, o que faz o ecossistema sobreviver a upgrades do Decidim com pouco atrito. O único fork do conjunto (decidim-bp_templates) é, previsivelmente, o mais caro de manter — e é ele que hoje trava um diretório inteiro de features desativadas (.disabled-for-0.32/).

catálogo

O ecossistema de gems criado pelo Brasil Participativo

Os onze repositórios, a natureza de cada um (customização, módulo novo, integração ou fork) e como plugam no Participa.

sg-pages.dev.caicara.dev/o-ecossistema-de-gems-criado-pelo-brasil-participativo
Nota

Vale ler esta página antes das duas seguintes: ela dá o vocabulário (prepend, to_prepare, Deface, "engine") que os módulos individuais pressupõem.

5As duas peças mais tocadas: forms e surveys

Dentro desse pacote de gems, duas ficam no coração do produto de consulta pública, e por isso ganharam explicações dedicadas:

deep dive

Como funcionam os Surveys no Decidim

Um survey quase não tem dados próprios — é uma casca sobre um questionário genérico. Ciclo de vida, anonimato e publicação por pergunta.

pages.dev.caicara.dev/como-funcionam-os-surveys-no-decidim
deep dive

Como funciona o decidim-forms

A biblioteca sem rotas próprias que sustenta surveys, inscrições em reuniões e mais — perguntas, condições e exportações.

pages.dev.caicara.dev/como-funciona-o-decidim-forms

É justamente o módulo decidim-module-questionnaires — a customização do BP sobre esse decidim-forms — o mais ativo dos onze repositórios do ecossistema (71 commits), o que ajuda a explicar por que forms & surveys concentram tanta atenção mais adiante neste mapa.

6O que o Decidim 0.33 exige da gente

Como o Participa se acopla ao Decidim "por dentro" (via prepend em classes internas, não por uma API pública estável), cada nova versão do framework é um risco a calcular, não só uma atualização de versão. A metodologia é clara — três caminhos pelos quais uma mudança upstream pode nos atingir: o upstream avisa, o upstream mexeu num arquivo que enganchamos, ou o upstream mudou um contrato que assumimos sem tocar o arquivo.

análise de risco

O que o Decidim 0.33 muda e onde isso encosta no Participa

396 commits e 2445 arquivos de diff cruzados com nossos ganchos internos — matriz de severidade × confiança e plano de ação.

sg-pages.dev.caicara.dev/o-que-o-decidim-0-33-muda-e-onde-isso-encosta-no-participa
Achado sensível

Participantes de login efêmero e login gov.br podem ficar ocultos por padrão nas listagens públicas — mudança de produto, não só de código. E, previsivelmente, o fork community_templates volta a aparecer como o elo mais frágil do upgrade.

7Quando a manutenção vira dor: triagem e RubyGems

Este é o ponto em que os fios se cruzam — e agora dá para contar com números reais.

7.1 A triagem: o mesmo bug em três planos

Um defeito em forms/surveys pode viver em três lugares ao mesmo tempo — a comunidade relata no Metadecidim, o upstream discute em issue/PR no GitHub, e o fork de produção (decidimbr/decidim, base 0.32.1) corrige antes de qualquer um dos dois responder.

55bugs da comunidade (2021+), 33 sem resposta
301dmediana até a primeira resposta oficial
51PRs abertos no upstream · forms 9 · surveys 6
7defeitos de QA já mapeados no fork
relatório · MDC-REL

Triagem da comunidade — Decidim forms & surveys, núcleo

Cruza Metadecidim × GitHub upstream × spec interna do fork. Tabela de leitura cruzada e recomendações.

pages.dev.caicara.dev/mdc-rel-2026-09-02-triagem-da-comunidade-decidim-forms-and-surveys-nucleo
01
Formulário "encerrado" dentro da janela de respostasEstado inconsistente entre admin, público e o que o servidor aceita.
implementado
02
Condicionantes não executam como configuradasCondições duplicadas, auto-referentes ou com dono errado.
implementado
03
Respostas enviadas mesmo com formulário encerradoInclusive por requisição direta (POST), fora da janela.
implementado
04
Edição de resposta enviadaDecisão de produto: participante responde uma única vez.
removido
05
Exportação com HTML quebrado e colunas vaziasCabeçalhos com marcação HTML e colunas de separadores.
implementado
06
Perguntas de arquivo: limite, extensões e anexos invisíveisParticipante não vê limite nem extensões; anexos somem do detalhe.
parcial
07
Formulário não numera as questõesSem numeração automática, pulando separadores e blocos de título.
pendente
Próximo alvo

O achado mais incômodo confirma a proposta já publicada no Metadecidim: a exportação de surveys muito grandes (issue upstream #15443, ~250 mil respostas estourando memória) segue sem PR aberto no upstream, e o próprio fork já registrou isso como follow-up fora do escopo atual.

Metadecidim

QA triage of forms & surveys: fixes from a production fork

A proposta publicada na comunidade oficial do Decidim, resumindo o achado acima.

meta.decidim.org/en/processes/bug-report/f/210/proposals/18814

7.2 O PRD: profissionalizar a distribuição

Esse mesmo fork — que já modifica decidim-forms, decidim-surveys e adiciona decidim-govbr, mais uma dúzia de módulos de terceiros vendored — hoje só chega a aplicações downstream via path:/git: no Gemfile, sem versionamento semântico e fácil de confundir com as gems oficiais do Decidim.

PRD

Publicação de gems bp-* no RubyGems

Namespace bp-*, meta-gem bp-decidim, versionamento sincronizado ao upstream, monorepo vs. polyrepo, DAG de publicação.

pages.dev.caicara.dev/prd-publicacao-de-gems-bp-no-ruby-gems
20gems a publicar sob bp-*
1meta-gem — bp-decidim instala tudo
0mudanças em namespace Ruby ou diretórios
Decisão central

Sem tocar em namespace Ruby nem em diretórios físicos, para preservar a capacidade de rebase contra o upstream. E o detalhe que mais amarra com a seção 7.1 — pré-requisito duro: não publicar antes de aplicar as simplificações planejadas do decidim-surveys e sem os specs de forms/surveys passando em baseline.

8Como usar este mapa

SeçõesPara quem
1 → 2 → 3Contexto suficiente para entender o produto e como ele chega ao cidadão de um município real — sem tocar em código.
4 · 5 · 6Para quem vai mexer em código, revisar as gems ou planejar o upgrade para o Decidim 0.33.
7O "porquê agora": é dali que nasce a urgência de arrumar a casa das gems.
Mapa de leitura · gerado a partir dos documentos internos do time · o conteúdo original de cada link permanece a fonte de verdade.