AvisoMétodoAPI← o jornalv0.23.6

Console

The state of the newsroom right now. Every number on this page counts files in this repository.

  • O aviso tem de falar da telemetria antes de ela ligar — redacao/correio/dinis.humano/assuntos/bloqueados/004__o-aviso-tem-de-falar-da-telemetria-antes-de-ela-ligar.md
  • Decidir os três tipos novos da ontologia — redacao/correio/dinis.humano/assuntos/abertos/002__decidir-os-tipos-novos-da-ontologia.md
  • Decidir o pedido de acesso à ANACOM — redacao/correio/dinis.humano/assuntos/abertos/003__decidir-o-pedido-de-acesso-a-anacom.md
  • Decidir se o grafo passa a ser a linguagem visual do site — redacao/correio/dinis.humano/assuntos/abertos/005__o-grafo-como-linguagem-visual-do-site.md
  • Decidir onde ficam as fichas de proveniência — redacao/correio/dinis.humano/assuntos/abertos/006__onde-ficam-as-fichas-de-proveniencia.md
  • Decidir o modo escuro — redacao/correio/dinis.humano/assuntos/abertos/007__modo-escuro.md
  • Decidir se a carteira fica no cabeçalho do leitor — redacao/correio/dinis.humano/assuntos/abertos/008__a-carteira-no-cabecalho-do-leitor.md
  • Decidir quão magra a edição pode parecer — redacao/correio/dinis.humano/assuntos/abertos/009__quao-magra-a-edicao-pode-parecer.md
  • O leitor de PDF diz que o diploma é digitalizado quando o que lhe falta é uma dependência — redacao/correio/dinis.humano/assuntos/abertos/010__o-leitor-de-pdf-mente-quando-lhe-falta-uma-dependencia.md
  • Decidir a segunda entrega do ChatGPT sobre políticas, item a item — redacao/correio/dinis.humano/assuntos/abertos/011__decidir-a-segunda-entrega-de-politicas.md
  • Acesso à página da ANACOM, que devolve 403 — redacao/correio/pesquisa.pt/assuntos/bloqueados/003__acesso-a-anacom.md
  • A fila de acrescento não tem credenciais — redacao/correio/bastidores.pt/assuntos/bloqueados/002__a-fila-de-acrescento-nao-tem-credenciais.md
  • Publish decision · paper issue 004 — redacao/issues/004-entrega-chatgpt-politicas.json
  • Publish decision · paper issue 007 — redacao/issues/007-entrega-chatgpt-politicas-2.json
  • Mail from @Arranque · MVP v0.1.0 construído; o que é real, o que não é, e o que precisa da sua decisão — redacao/correio/dinis.humano/entrada/001__sessao-de-arranque__o-que-foi-construido.eml

The pipeline

1
Fetch & freeze
92 files
running
2
Extract
312 nodes
running
3
Deliveries
12/23 excerpts
running
4
Write
5 with prose
running
5
Verify
9 claims
running
6
Publish
5 published
running
Stage Now DetailOwnerState
1 · Fetch & freeze92 files1 dated snapshot(s), every SHA-256 re-verified each buildpesquisarunning
2 · Extract312 nodes942 edges, 29 Portuguese verbs each with a readingpesquisarunning
3 · Deliveries12/23 excerptsfound in the frozen bytes · 5 items approved by the editorpesquisarunning
4 · Write5 with prose6 article folders existredacaorunning
5 · Verify9 claimsre-read against the frozen copy and markedverificacaorunning
6 · Publish5 publishedthe editor of record writes this line, and nothing else caneditorrunning

Stage 6 is the only one that cannot be moved by any agent. estado: publicado is the editor of record's line; gate 11 fails the build if it appears without their name and a date.

Departments · who may write where

Department Writes only inRefusesWrong when
Research
Pesquisa
No claim without bytes we hold.
fontes/congeladas/<data>/
dados/registo.json
dados/*.json extraídos das fontes
Reading a source over the network at publish time; citing a page nobody froze; tidying a messy source value into a cleaner one.A claim cannot be walked back to a SHA-256 in the register.
Reporting
Redação
Every sentence stands on a registered source.
conteudo/*.mdA claim with no source; an adjective about a named party; prose more certain than the snapshots are.A claim in the text has no source mark, or one the register does not know.
Verification
Verificação
Publish the record, never the verdict.
dados/verificacoes/*.jsonEditing the story. Marking a claim confirmed without re-reading it.A story reaches the editor with claims nobody reopened.
Editor of record · Dinis Cruz

Reads every page before it goes live, and is the named person answerable for what this publication says.

Only they can
  • Put a story into «publicado». No automated run can.
  • Decide a removal under the notice.
  • Clear an item that is «parado» (blocked).

Gate 12 reads each run record and fails the build if a department wrote outside its own folder. That check is what makes this a newsroom rather than a script with role names in the comments.

The agent team · 5 roles, 17 board cards, 8 messages

Three pages, generated by build/newsroom_team.py from dados/agentes.json and the mail folder. The roles are defined in the shape teams.sgit.ai publishes for a ROLE.md, and they coordinate under Email-FS-lite — files in a folder, one commit per cycle, no broker and no API.

Board · 9 issues

procurado 1
003 · empresas
Quantas das startups ativas em Portugal são empresas de IA, e porque nenhum conjunto de dados público o diz
congelado 2
004 · politicas
Entrega ChatGPT 1/8 (políticas): 9 afirmações com excerto confirmado, 10 sem fonte legível
007 · politicas
Entrega ChatGPT 1/8 (políticas, 2.ª passagem): valida contra o esquema, 3 de 4 afirmações com excerto nos byte
extraido 1
006 · politicas
Encontrar o PDF da Série I do Diário da República n.º 5/2026 — desbloqueia três itens de uma vez
publicado 1
002 · instituicoes
O regulador foi designado e o instrumento de designação não está na página de IA do Governo

Rendered from redacao/issues/*.json. The same issues appear on each agent's board, placed there by a published formula and not by hand. The reader-facing version of this board is A mesa, in Portuguese.

Articles · 6 folders, 5 published

Each article is a folder at artigos/<yyyy>/<mm>/<dd>/<slug>/ holding the prose, the claim record and the provenance. dados/historias.json is derived from those folders and is never hand-edited.

Sections · coverage

Section StateGraphArticles SourcesFirst open question
As empresas
seccoes/empresas/seccao.json
has data78 nodes1 article(s)1 frozen · 1 pendingQual é o número de startups ativas que vem de uma FONTE e não de um relatório?
Os protagonistas
seccoes/protagonistas/seccao.json
has data70 nodes0 article(s)1 frozenEsta secção é a que tem mais risco para pessoas reais. Qualquer alargamento das categorias detidas exige mudar o aviso P
As instituições
seccoes/instituicoes/seccao.json
has data11 nodes1 article(s)2 frozen · 1 pendingOnde está o ato de designação da autoridade nacional para o Regulamento de IA?
As políticas
seccoes/politicas/seccao.json
empty, and says so0 nodes4 article(s)2 frozenComo é que se ENCONTRA o endereço do PDF de um diploma no Diário da República sem o construir por adivinhação?
Os casos de uso
seccoes/casos-de-uso/seccao.json
has data35 nodes0 article(s)1 frozenO léxico corre sobre prosa inglesa porque a fonte é inglesa. Quando houver fontes portuguesas, precisa de padrões portug
O código aberto
seccoes/codigo-aberto/seccao.json
empty, and says so0 nodes0 article(s)0 frozenQual é a fonte primária? Um índice de repositórios não é um registo; um registo de financiamento que nomeie software abe
A diáspora
seccoes/diaspora/seccao.json
empty, and says so0 nodes0 article(s)0 frozenOnde é que a nacionalidade ou o percurso de alguém está PUBLICADO por uma fonte primária, e não inferido? Sem resposta a
Os eventos
seccoes/eventos/seccao.json
has data19 nodes0 article(s)3 frozenQue outros eventos portugueses publicam programa e lista de oradores de forma congelável?

Runs

WhenPrompt ModelFolders GatesVersion
2026-09-14T12:00:00Z00-bootstrap.md — construir o MVP v0.1.0Claude Opus 5 (Claude Code, sessão remota)build/, dados/, fontes/congeladas/, redacao/, assets/, admin/, .github/greenv0.1.0
2026-09-14T23:07:00ZLigar as entidades: uma página por nó do grafo e a menção em prosa a virar ligação.Claude Opus 5 (Claude Code, sessão remota)admin/, api/, artigos/, assets/, aviso/, backoffice/, briefs/, build/, casos-de-uso/, codigo-aberto/, dados/, diaspora/, empresas/, entidades/, entregas/, equipa/, eventos/, ficheiros/, grafo/, index.html, index.md, instituicoes/, llms.txt, metodo/, politicas/, protagonistas/, proveniencia/, redacao/, registo/, sitemap.xml, sobre/greenv0.4.0
2026-09-14T23:30:00ZO trabalho dos agentes, derivado dos registos — e a recusa de o escrever.Claude Opus 5 (Claude Code, sessão remota)admin/, api/, artigos/, assets/, aviso/, backoffice/, briefs/, build/, casos-de-uso/, codigo-aberto/, dados/, diaspora/, empresas/, entidades/, entregas/, equipa/, eventos/, ficheiros/, grafo/, index.html, index.md, instituicoes/, llms.txt, metodo/, politicas/, protagonistas/, proveniencia/, redacao/, registo/, sitemap.xml, sobre/greenv0.5.0
2026-09-15T00:10:00ZA mesa como uma sala: o quadro Kanban, as bancadas e a carga de cada uma.Claude Opus 5 (Claude Code, sessão remota)admin/, api/, artigos/, assets/, briefs/, build/, dados/, redacao/, backoffice/, entidades/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.6.0
2026-09-15T00:45:00ZVer a equipa de agentes de forma visual nos bastidores, com o quadro de cada um; montar o sistema de correio entre agentes a partir do Email-FS-lite; abrir uma ponte para o editor falar com os bastidores a partir do site por uma fila de acrescento de cofre; a observabilidade pelo padrão dos cofres dos jogos; e um painel de conversa sobre o conteúdo.Claude Opus 5 (Claude Code, sessão remota)admin/, api/, assets/, build/, dados/, redacao/, backoffice/, llms.txt, sitemap.xml, index.mdgreenv0.7.0
2026-09-15T00:55:00ZAbrir as páginas num navegador de verdade: o quarto portão.Claude Opus 5 (Claude Code, sessão remota)admin/, api/, artigos/, assets/, backoffice/, briefs/, build/, dados/, entidades/, redacao/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.7.0
2026-09-15T01:20:00ZCorrigir a competência que uma execução agendada segue.Claude Opus 5 (Claude Code, sessão remota).claude/, admin/, backoffice/, build/, index.htmlgreenv0.7.1
2026-09-15T01:30:00ZIntegrar o dev, rever o trabalho do outro agente à procura de defeitos, ver o que isso afeta no trabalho desta sessão, e lançar.Claude Opus 5 (Claude Code, sessão remota)admin/, api/, artigos/, assets/, build/, dados/, redacao/, backoffice/, entidades/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.8.0
2026-09-15T02:15:00ZClonar o cofre da revisão de desenho, rever o brief do agente de desenho, e começar a implementar as recomendações, documentando em detalhe o que foi feito a partir daquele cofre.Claude Opus 5 (Claude Code, sessão remota)admin/, api/, artigos/, assets/, build/, dados/, redacao/, backoffice/, entidades/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.9.0
2026-09-15T02:40:00ZLanguage rule with a gate, guidance, agent mandates rendered from the register, the versions table in English, and the sibling transfer.Claude Opus 5 (Claude Code, remote session).claude/, admin/, agents/, api/, artigos/, assets/, backoffice/, briefs/, build/, dados/, docs/, entidades/, fontes/, redacao/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.9.0
2026-09-15T03:15:00ZPull the design vault and see the design updates and proposed components; plus: the top-level menu must not move between the site and the back office, put the budget spend on its own page instead of a popup, and look at layout bugs like the one in the screenshot.Claude Opus 5 (Claude Code, remote session)admin/, api/, artigos/, assets/, build/, carteira/, dados/, redacao/, backoffice/, entidades/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.11.0
2026-09-15T03:20:00ZLanguage rule with a gate, guidance, agent mandates from the register, the release history as markdown, and the sibling transfer.Claude Opus 5 (Claude Code, remote session).claude/, admin/, agents/, api/, artigos/, assets/, backoffice/, briefs/, build/, dados/, docs/, entidades/, fontes/, redacao/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.10.0
2026-09-15T05:45:00ZThe VoiceDebrief-style chat: a right-hand column with a vertical rail, resizable, with the key and the settings in localStorage.Claude Code, remote sessionadmin/, api/, artigos/, assets/, backoffice/, dados/, entidades/, redacao/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.11.0
2026-09-15T07:15:00ZThe chat's API paths were 404ing on every page but the front one; plus gate 34 over assets/ and the gate messages in English.Claude Code, remote sessionadmin/, api/, artigos/, assets/, backoffice/, build/, dados/, entidades/, ficheiros/, redacao/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.13.0
2026-09-15T08:30:00ZGuidance and gates for three Claude Code sessions working on this repository at once: avoid what can be avoided, detect what cannot.Claude Code, remote sessionadmin/, api/, artigos/, backoffice/, build/, dados/, docs/, entidades/, redacao/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.15.0
2026-09-15T10:15:00ZPut the initial prompt and the guidance links in .claude/, and get the guidance onto the site as real pages.Claude Code, remote session.claude/, admin/, api/, artigos/, assets/, backoffice/, build/, dados/, docs/, entidades/, redacao/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.20.0
2026-09-15T11:45:00Zdados/ is Portuguese leaking into the backend and the API, which should be English in preparation for more language editions.Claude Code, remote sessionadmin/, api/, build/, dados/, docs/, redacao/, backoffice/, artigos/, entidades/, index.html, llms.txt, sitemap.xml, index.mdgreenv0.22.0

Recent commits

Commit WhenSubject
02487232026-09-18 08:23site v0.23.5: um cartao de perguntas para o summit, e o primeiro conteudo nascido em ingles
09cef762026-09-15 23:37site v0.23.4: o console muda-se para /newsroom/, e /admin/ sobrevive de tres linhas que ninguem aqui pode edit
a105c4e2026-09-15 23:19site v0.23.3: a superficie de operacoes deixa de falar portugues nos enderecos
a3831fe2026-09-15 16:01site v0.23.2: as regras de lancamento deixam de viver na cabeca de uma sessao, e o editor tambem e entrevistad
e6001382026-09-15 15:53site v0.23.1: o editor ganha uma pagina que lhe faz as perguntas, e chega o metodo das entrevistas
bc94ec82026-09-15 12:15atualiza a tabela de commits da consola e o manifesto
1e1ff1c2026-09-15 12:15site v0.23.0: as mensagens passam a dizer onde as coisas estão, e a regra que permitiu corrigi-las
41d6bfc2026-09-15 10:35site v0.22.0: a migração para inglês, mapeada e ensaiada — e parada num muro que não lhe compete subir
6eb06d82026-09-15 10:19site v0.21.0: uma sessão que começa aqui passa a aterrar em alguma coisa, e o guia ganha endereços
da241f02026-09-15 10:15site v0.20.0: uma sessão que começa aqui passa a aterrar em alguma coisa, e o guia ganha endereços
2f9521d2026-09-15 10:12atualiza a tabela de commits da consola e o manifesto
512ddf22026-09-15 10:12site v0.20.0: os endereços dos bastidores passam a inglês, sem nada deixado atrás a dizê-lo

Run it yourself

python3 build/tudo.py               # THE WHOLE BUILD, IN ORDER, THEN THE THREE GATES
python3 build/tudo.py --fetch       # the same, going to the network for the sources first
python3 build/tudo.py --so-portoes  # gates only, no rebuild
python3 build/tudo.py --render      # plus the browser gate (needs playwright installed)

# what build/tudo.py runs, in this order — the order is load-bearing
python3 build/extract.py [--fetch]  # fetch, freeze, hash, register, extract, diff
python3 build/graph.py              # ontology, graph, triples, manifest, source publishers
python3 build/entidades.py          # dados/entidades.json + a page per entity  ← before any page
python3 build/comentarios.py        # agent activity per article, derived from the records
python3 build/artigos.py            # article folders -> pages + derived index
python3 build/build.py              # every reader-facing page
python3 build/paginas_extra.py      # /api/ and /proveniencia/
python3 build/api.py                # api/v1/ — every path is a file on disk
python3 build/newsroom.py         # this console
python3 build/chrome.py             # llms.txt, sitemap.xml, index.md
python3 build/gates.py              # gates  1-15  — must print OK
python3 build/gates_artigos.py      # gates 16-25  — must print OK
node admin/build/validate.js        # the site gate — must print OK
node admin/build/render.mjs         # the browser gate — opt-in, see below

# build/entregas.py is run per delivery, not per build:
python3 build/entregas.py --fetch   # freeze delivery sources, check every excerpt

Use build/tudo.py. The order matters and it is not obvious: entidades.py must run before anything that writes a page, because the pass that turns a name in prose into a link reads the file it produces — run out of order, nothing breaks, the site just quietly has fewer links than it should. The command list in CLAUDE.md is older than half these steps, and CLAUDE.md is the rules file: it is in the deny list on purpose, and editing the rules to match the code is backwards. So the real order lives in an executable file, where it cannot go stale without something failing.

Run --render before shipping anything that touches assets/components/. The other three gates read files and read HTML; none of them executes anything. A component that throws on load passes all three and reaches the reader as an empty box — which looks like a design choice. The browser gate opens each component in a real Chromium and fails on a console error, a failed request, a component that never reaches data-estado="pronto", or a page that overflows at 390px. It is opt-in because it needs a browser and this repository has no node dependencies; when CI has one, it becomes a gate without a line of it changing.

Without --fetch the first two run against the copies already frozen and touch no network. That is how the site is rebuilt from a clone, years later, to exactly the same pages.

Elsewhere in the estate

SiteWhat is there
newsroom.sgit.aiThe parent publication and the argument this site is an instance of. The commissioning brief for pt.newsroom lives there, not here.
newsroom.sgit.ai/portugal/Where this method was proven before it was copied: the ingestion path, the gates, the biography posture and the notice all come from there.
newsroom.sgit.ai/pt-newsroom/The front-page design this site builds, rendered at full size from its own sources.
sgit.aiThe platform: the vault layer and the shipped CLI. Research deliveries arrive as sgit vaults, and a read key is the only credential that may be recorded.
coding.sgit.aiHow the code in this repository is meant to be written and reviewed.
graphs.sgit.aiThe published grammar this site's ontology obeys: every edge a verb with a distinct named inverse, and a path that reads aloud.

121 markdown documents in this repository are readable at documents.

For an agent. Generated by build/newsroom.py from the files in this repository; nothing here is hand-written. The machine-readable index of the publication is at llms.txt. Source: github.com/SGit-AI/SGit-AI__Website__Newsroom__PT · file: newsroom/index.html · version v0.23.6.