factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Dashboard estático de acompanhamento da climatização das unidades escolares da rede municipal de Fortaleza, da Secretaria Municipal da Educação (SME) / COINF. Mostra, num mapa interativo (Leaflet) com drill-down (Fortaleza → Distrito → Regional → Bairro), o status de execução de cada uma das 512 unidades, além de indicadores de salas climatizadas, investimento, cobertura, subestação/estudo elétrico e a ficha por unidade. É 100% front-end estático: HTML + CSS + JavaScript puro, sem build nem framework. Os dados entram como que populam variáveis globais (window.ESCOLAS, window.EXECUCAO, etc.).README 전문 보기 ↗
Dashboard estático de acompanhamento da climatização das unidades escolares da rede municipal de Fortaleza, da Secretaria Municipal da Educação (SME) / COINF.
Mostra, num mapa interativo (Leaflet) com drill-down (Fortaleza → Distrito → Regional →
Bairro), o status de execução de cada uma das 512 unidades, além de indicadores de
salas climatizadas, investimento, cobertura, subestação/estudo elétrico e a ficha por
unidade. É 100% front-end estático: HTML + CSS + JavaScript puro, sem build nem
framework. Os dados entram como <script> que populam variáveis globais (window.ESCOLAS,
window.EXECUCAO, etc.).
Servidor estático em PowerShell (Windows), porta 8123:
powershell -ExecutionPolicy Bypass -File serve.ps1 -Port 8123
Depois abra http://localhost:8123/.
serve.ps1 serve a pasta web/ (parâmetros: -Port padrão 8123, -Root padrão web/).python -m http.server 8123 dentro de web/).
O importante é servir a pasta web/ por HTTP — abrir o index.html via file:// quebra
os fetch/carregamentos..claude/launch.json (alvo portal, porta 8123).portal/
├── web/ # a aplicação (tudo que vai pro navegador)
│ ├── index.html # estrutura da página (single page)
│ ├── styles.css # CSS principal do portal
│ ├── fortaleza-design-system.css # tokens/classes institucionais PMF (importado antes do styles.css)
│ ├── app.js # toda a lógica (mapa, ficha, filtros, funil, balão, subestação)
│ ├── assets/ # imagens (ex.: brasão oficial quando chegar)
│ └── data/ # dados como JS (carregados por <script>)
│ ├── dados.js # ESCOLAS / EXECUCAO / DIAGNOSTICO / OS (base principal)
│ ├── bairros.js · bairros_areas.js · distritos.js · regionais.js # geojson (geografia)
│ ├── subestacao.js # subestação por SGE (ficha)
│ ├── mapa_sub.js # SGE → CATEGORIA (mapa de subestação)
│ ├── salas_prof.js # SGE → status da sala dos professores (rosca de salas)
│ └── etapa02.js # SGE → status instalação etapa 02 (fantasma da rosca)
│
├── serve.ps1 # servidor estático local (porta 8123)
├── build.ps1 # gera os web/data/*.js a partir dos CSV/planilhas
├── xlsx2csv.ps1 # converte as planilhas .xlsx em CSV intermediário
├── geocode.ps1 # geocodifica endereços (Nominatim/OpenStreetMap, sem chave)
├── writeback.ps1 # escreve dados de volta para planilha
│
├── .claude/
│ ├── launch.json # config de preview (servidor portal:8123)
│ └── skills/identidade-pmf/ # skill da identidade visual PMF/SME (versionada)
│
├── AUDITORIA.md · DESIGN_SYSTEM.md · ANTES_DEPOIS.md # referência de identidade/mudanças
└── README.md
A fonte primária é a planilha mestra no Google Sheets (base da SME/COINF), aba
BASE MESTRA (512). Ela não está no repositório.
tools/importa_mestra.py → web/data/*.js (versionados).web/data/*.js, que estão no git. Ou seja: após git clone, o portal roda direto..xlsx baixado — e não grava nada se o portão de validação reprovar:python tools/importa_mestra.py "CAMINHO/PLANILHA.xlsx" web/data # ensaio
python tools/importa_mestra.py "CAMINHO/PLANILHA.xlsx" web/data --gravar # grava
python tools/importa_mestra.py --sheet <ID> web/data --gravar # ao vivo
.github/workflows/atualiza-dados.yml faz isso sozinho de hora em hora.
Configuração e regras em tools/ROBO.md.build.ps1, xlsx2csv.ps1, geocode.ps1,
writeback.ps1) são do fluxo anterior, baseado em .xlsx local com caminhos fixos.
Ficam por referência histórica; quem gera os dados hoje é o tools/importa_mestra.py.Regra do projeto: nunca editar
web/data/*.jsà mão — eles são gerados. Ajustes de dado se fazem na planilha mestra + regeneração.
A pele segue a identidade institucional da Prefeitura de Fortaleza / Secretaria da Educação (fonte Montserrat, laranja #F15A22, verde #009889, azul #00A0DC, petróleo #325565).
.claude/skills/identidade-pmf/SKILL.md
— tokens oficiais, componentes (masthead, botões, status, rodapé) e regras de ouro.web/fortaleza-design-system.css (variáveis --fz-*) e o bloco :root
do web/styles.css (--laranja, --verde, --azul, --fonte-ui, --cor-2025/2026, etc.).AUDITORIA.md (extração do Portal da Educação), DESIGN_SYSTEM.md
(manual resumido) e ANTES_DEPOIS.md (o que mudou em cada rodada).Ao mexer em qualquer parte visual, usar sempre as variáveis (nunca hex solto) e seguir a skill
identidade-pmf. Brasão: usar só o vetor oficial — hoje há um placeholder tipográfico no rodapé até a Comunicação da SME enviarweb/assets/brasao-branco.svg.
ESCOLAS inteiro; só a busca
textual filtra. Conferido em 28/09/2026.Contagens conferidas no registro publicado em 28/09/2026.
ETAPA.SEINF,
PENDENTE ELÉTRICA, PRONTA) onde deveria haver número.DATA DIAGNÓSTICO/VISITA e DIAGNÓSTICO — 173 e 111 unidades preenchidas;
o robô passou a ler as duas colunas e a ficha já as mostra. (11/09/2026)TEM EXECUÇÃO — preenchida nas 512.STATUS A.S. CIVIL e O.S. (Nº) — continuam vazias.TEM/FALTA) — opcional; hoje é derivada de
status ≥ 2, o que faz o estudo mudar sozinho quando alguém mexe no status.A equipe levantou por telefone os ambientes já climatizados de cada escola e a Luana está lançando na mestra em levas. A primeira entrou em 28/09/2026: 123 unidades, +348 salas, e o percentual foi de 44,6% para 49,0%. A conferência completa fica para quando ela concluir — achados até agora no quadro de pendências.
Concluído nesta rodada: carga da base mestra, salas medidas, execução regenerada, mapa de subestação recalculado, faixa de indicadores reorganizada em 5 cards, bloco de orçamento na ficha, carimbo de data no rodapé e o robô de atualização. O item "Panorama: 6 → 4 cards" saiu da lista: hoje são 5, por pedido da gestão.
web/* e recarregar o navegador.Portal Climatizacao <portal@local>.