{
  "id": "pt-mesa",
  "versao": "0.1.0",
  "atualizado": "2026-09-14",
  "nota": "A mesa como estado, não como narrativa. Cada número é uma contagem de ficheiros ou de entradas que já existem noutro lado deste repositório; nada aqui é escrito. Nenhuma coluna se move a partir desta página: mostra onde as coisas estão, e quem as move é quem tem direito de escrita naquela pasta.",
  "colunas": [
    {
      "id": "procurado",
      "rotulo": "Procurado",
      "o_que_significa": "A história está encomendada e o material ainda não a sustenta.",
      "quem_move": "pesquisa"
    },
    {
      "id": "congelado",
      "rotulo": "Congelado",
      "o_que_significa": "As fontes estão congeladas e hasheadas; falta escrever ou verificar.",
      "quem_move": "pesquisa"
    },
    {
      "id": "rascunho",
      "rotulo": "Rascunho",
      "o_que_significa": "Há prosa, e cada afirmação já aponta para uma fonte congelada.",
      "quem_move": "redacao"
    },
    {
      "id": "verificado",
      "rotulo": "Verificado",
      "o_que_significa": "Cada afirmação foi relida contra os bytes e tem um veredito registado.",
      "quem_move": "verificacao"
    },
    {
      "id": "publicado",
      "rotulo": "Publicado",
      "o_que_significa": "Está no ar. É a única coluna para onde nenhuma execução automática pode empurrar um cartão: a linha é do editor de registo, e é isso que torna esta publicação responsabilidade de uma pessoa nomeada.",
      "quem_move": "editor"
    }
  ],
  "bancadas": [
    {
      "id": "pesquisa",
      "nome": "Pesquisa",
      "especie": "departamento",
      "gravidade": "Nenhuma afirmação sem bytes que tenhamos em mãos.",
      "faz": "Encontra a fonte primária. Obtém-na, congela-a numa captura datada, hasheia-a, regista-a, extrai dela e compara com a captura anterior.",
      "recusa": "Ler uma fonte pela rede no momento de publicar; citar uma página que ninguém congelou; arrumar um valor confuso da fonte para um mais limpo.",
      "escreve_em": [
        "fontes/congeladas/<data>/",
        "dados/registo.json",
        "dados/*.json extraídos das fontes"
      ],
      "carga": {
        "entradas": 11,
        "abertas": 5,
        "por_especie": {
          "acao": 6,
          "pergunta": 5
        },
        "cartoes_a_espera": 2
      },
      "cartoes": [
        "quantas-startups-sao-de-ia",
        "007"
      ],
      "correio": {
        "entrada": 1,
        "saida": 0,
        "tratado": 0,
        "em_transito": 0
      },
      "execucoes": 16
    },
    {
      "id": "redacao",
      "nome": "Redação",
      "especie": "departamento",
      "gravidade": "Cada frase assenta numa fonte registada.",
      "faz": "Escreve a partir do que a pesquisa registou, e de mais nada. Cada afirmação leva o identificador da fonte congelada em que assenta.",
      "recusa": "Uma afirmação sem fonte; um adjetivo sobre uma parte nomeada; prosa mais certa do que as capturas são.",
      "escreve_em": [
        "conteudo/*.md"
      ],
      "carga": {
        "entradas": 7,
        "abertas": 3,
        "por_especie": {
          "acao": 4,
          "falta": 3
        },
        "cartoes_a_espera": 0
      },
      "cartoes": [],
      "correio": {
        "entrada": 0,
        "saida": 0,
        "tratado": 0,
        "em_transito": 0
      },
      "execucoes": 0
    },
    {
      "id": "verificacao",
      "nome": "Verificação",
      "especie": "departamento",
      "gravidade": "Publica-se o registo, nunca o veredicto.",
      "faz": "Relê cada fonte citada na cópia congelada. Marca cada afirmação: confirmada, disputada ou não encontrada.",
      "recusa": "Editar a história. Marcar como confirmada uma afirmação que não releu.",
      "escreve_em": [
        "dados/verificacoes/*.json"
      ],
      "carga": {
        "entradas": 13,
        "abertas": 0,
        "por_especie": {
          "acao": 4,
          "verificacao": 9
        },
        "cartoes_a_espera": 0
      },
      "cartoes": [],
      "correio": {
        "entrada": 0,
        "saida": 0,
        "tratado": 0,
        "em_transito": 0
      },
      "execucoes": 16
    },
    {
      "id": "editor",
      "nome": "Dinis Cruz",
      "especie": "editor de registo",
      "gravidade": "A linha que nenhuma execução automática pode escrever.",
      "faz": "Lê cada página antes de ela ir para o ar, e é a pessoa nomeada que responde pelo que esta publicação diz.",
      "recusa": null,
      "escreve_em": [
        "Pôr uma história em «publicado». Nenhuma execução automática o pode fazer.",
        "Decidir uma remoção ao abrigo do aviso.",
        "Limpar um item que ficou «parado»."
      ],
      "carga": {
        "entradas": 16,
        "abertas": 4,
        "por_especie": {
          "acao": 8,
          "decisao": 8
        },
        "cartoes_a_espera": 0,
        "entregas_por_rever": 1
      },
      "cartoes": [],
      "correio": {
        "entrada": 1,
        "saida": 1,
        "tratado": 0,
        "em_transito": 2
      },
      "execucoes": 0
    }
  ],
  "quadro": {
    "procurado": [
      {
        "id": "quantas-startups-sao-de-ia",
        "titulo": "Quantas das startups ativas em Portugal são empresas de IA, e porque nenhum conjunto de dados público o diz",
        "seccao": "empresas",
        "estado": "procurado",
        "especie": "artigo",
        "url": "artigos/2026/09/14/quantas-startups-sao-de-ia/",
        "issue": "003",
        "irmaos": 0,
        "ultimo_toque": {
          "quem": "pesquisa",
          "quando": "2026-09-14"
        },
        "aberto_em": "2026-09-14",
        "de": "dados/historias.json#historias[quantas-startups-sao-de-ia]"
      }
    ],
    "congelado": [
      {
        "id": "007",
        "titulo": "Entrega ChatGPT 1/8 (políticas, 2.ª passagem): valida contra o esquema, 3 de 4 afirmações com excerto nos bytes",
        "seccao": "politicas",
        "estado": "congelado",
        "especie": "issue",
        "url": null,
        "issue": "007",
        "irmaos": 0,
        "ultimo_toque": {
          "quem": "pesquisa",
          "quando": "2026-09-15"
        },
        "aberto_em": "2026-09-15",
        "de": "redacao/issues/007"
      }
    ],
    "rascunho": [],
    "verificado": [],
    "publicado": [
      {
        "id": "vinte-e-cinco-milhoes-para-ia-na-administracao-publica",
        "titulo": "O Governo anunciou 25 milhões de euros para adoção de IA na Administração Pública",
        "seccao": "politicas",
        "estado": "publicado",
        "especie": "artigo",
        "url": "artigos/2026/09/14/vinte-e-cinco-milhoes-para-ia-na-administracao-publica/",
        "issue": "004",
        "irmaos": 3,
        "ultimo_toque": {
          "quem": "pesquisa",
          "quando": "2026-09-14"
        },
        "aberto_em": "2026-09-14",
        "de": "dados/historias.json#historias[vinte-e-cinco-milhoes-para-ia-na-administracao-publica]"
      },
      {
        "id": "regulador-designacao-ausente",
        "titulo": "O regulador foi designado e o instrumento de designação não está na página de IA do Governo",
        "seccao": "instituicoes",
        "estado": "publicado",
        "especie": "artigo",
        "url": "artigos/2026/09/14/regulador-designacao-ausente/",
        "issue": "002",
        "irmaos": 0,
        "ultimo_toque": {
          "quem": "editor",
          "quando": "2026-09-15"
        },
        "aberto_em": "2026-09-14",
        "de": "dados/historias.json#historias[regulador-designacao-ausente]"
      },
      {
        "id": "plano-nacional-centros-de-dados",
        "titulo": "O Plano Nacional de Centros de Dados foi aprovado por resolução, e esta redação conseguiu ler o diploma inteiro",
        "seccao": "politicas",
        "estado": "publicado",
        "especie": "artigo",
        "url": "artigos/2026/09/14/plano-nacional-centros-de-dados/",
        "issue": "004",
        "irmaos": 3,
        "ultimo_toque": {
          "quem": "pesquisa",
          "quando": "2026-09-14"
        },
        "aberto_em": "2026-09-14",
        "de": "dados/historias.json#historias[plano-nacional-centros-de-dados]"
      },
      {
        "id": "gigafabricas-de-ia-duzentos-milhoes",
        "titulo": "O Conselho de Ministros aprovou a entrada de Portugal nas Gigafábricas de IA europeias, com um investimento até 200 milhões de euros",
        "seccao": "politicas",
        "estado": "publicado",
        "especie": "artigo",
        "url": "artigos/2026/09/14/gigafabricas-de-ia-duzentos-milhoes/",
        "issue": "004",
        "irmaos": 3,
        "ultimo_toque": {
          "quem": "pesquisa",
          "quando": "2026-09-14"
        },
        "aberto_em": "2026-09-14",
        "de": "dados/historias.json#historias[gigafabricas-de-ia-duzentos-milhoes]"
      },
      {
        "id": "a-agenda-de-ia-tem-32-iniciativas-e-o-diploma-continua-por-ler",
        "titulo": "A agenda nacional de IA integra 32 iniciativas, e o diploma que a aprova continua sem se deixar ler",
        "seccao": "politicas",
        "estado": "publicado",
        "especie": "artigo",
        "url": "artigos/2026/09/14/a-agenda-de-ia-tem-32-iniciativas-e-o-diploma-continua-por-ler/",
        "issue": "004",
        "irmaos": 3,
        "ultimo_toque": {
          "quem": "pesquisa",
          "quando": "2026-09-14"
        },
        "aberto_em": "2026-09-14",
        "de": "dados/historias.json#historias[a-agenda-de-ia-tem-32-iniciativas-e-o-diploma-continua-por-ler]"
      }
    ]
  },
  "fora_do_quadro": [
    {
      "id": "001",
      "titulo": "A agenda nacional de IA existe e o seu instrumento legal não pôde ser confirmado no registo público legível por máquina",
      "seccao": "politicas",
      "estado": "fechado",
      "especie": "issue",
      "url": null,
      "issue": "001",
      "irmaos": 0,
      "ultimo_toque": {
        "quem": "editor",
        "quando": "2026-09-15"
      },
      "aberto_em": "2026-09-14",
      "de": "redacao/issues/001"
    },
    {
      "id": "005",
      "titulo": "O leitor de PDF diz «é provavelmente um PDF digitalizado» quando o que lhe falta é uma dependência",
      "seccao": "politicas",
      "estado": "bloqueado",
      "especie": "issue",
      "url": null,
      "issue": "005",
      "irmaos": 0,
      "ultimo_toque": {
        "quem": "editor",
        "quando": "2026-09-15"
      },
      "aberto_em": "2026-09-15",
      "de": "redacao/issues/005"
    },
    {
      "id": "006",
      "titulo": "Encontrar o PDF da Série I do Diário da República n.º 5/2026 — desbloqueia três itens de uma vez",
      "seccao": "politicas",
      "estado": "extraido",
      "especie": "issue",
      "url": null,
      "issue": "006",
      "irmaos": 0,
      "ultimo_toque": {
        "quem": "editor",
        "quando": "2026-09-15"
      },
      "aberto_em": "2026-09-15",
      "de": "redacao/issues/006"
    },
    {
      "id": "008",
      "titulo": "Três linhas em ficheiros na lista de recusa separam /admin/ de desaparecer",
      "seccao": "politicas",
      "estado": "bloqueado",
      "especie": "issue",
      "url": null,
      "issue": "008",
      "irmaos": 0,
      "ultimo_toque": {
        "quem": "editor",
        "quando": "2026-09-15"
      },
      "aberto_em": "2026-09-15",
      "de": "redacao/issues/008"
    },
    {
      "id": "009",
      "titulo": "Onde vivem as entrevistas a startups, e a primeira vez que este site tem conteúdo nascido noutra língua",
      "seccao": "empresas",
      "estado": "proposto",
      "especie": "issue",
      "url": null,
      "issue": "009",
      "irmaos": 0,
      "ultimo_toque": {
        "quem": "editor",
        "quando": "2026-09-18"
      },
      "aberto_em": "2026-09-18",
      "de": "redacao/issues/009"
    }
  ],
  "execucoes": [
    {
      "quando": "2026-09-14T12:00:00Z",
      "versao": "v0.1.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "build/",
        "dados/",
        "fontes/congeladas/",
        "redacao/",
        "assets/",
        "admin/",
        ".github/"
      ],
      "movidos": 4
    },
    {
      "quando": "2026-09-14T23:07:00Z",
      "versao": "v0.4.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "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/"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-14T23:30:00Z",
      "versao": "v0.5.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "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/"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T00:10:00Z",
      "versao": "v0.6.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "briefs/",
        "build/",
        "dados/",
        "redacao/",
        "backoffice/",
        "entidades/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T00:45:00Z",
      "versao": "v0.7.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "assets/",
        "build/",
        "dados/",
        "redacao/",
        "backoffice/",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T00:55:00Z",
      "versao": "v0.7.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "backoffice/",
        "briefs/",
        "build/",
        "dados/",
        "entidades/",
        "redacao/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T01:20:00Z",
      "versao": "v0.7.1",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        ".claude/",
        "admin/",
        "backoffice/",
        "build/",
        "index.html"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T01:30:00Z",
      "versao": "v0.8.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "build/",
        "dados/",
        "redacao/",
        "backoffice/",
        "entidades/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T02:15:00Z",
      "versao": "v0.9.0",
      "modelo": "Claude Opus 5 (Claude Code, sessão remota)",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "build/",
        "dados/",
        "redacao/",
        "backoffice/",
        "entidades/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T02:40:00Z",
      "versao": "v0.9.0",
      "modelo": "Claude Opus 5 (Claude Code, remote session)",
      "portoes": true,
      "pastas": [
        ".claude/",
        "admin/",
        "agents/",
        "api/",
        "artigos/",
        "assets/",
        "backoffice/",
        "briefs/",
        "build/",
        "dados/",
        "docs/",
        "entidades/",
        "fontes/",
        "redacao/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T03:15:00Z",
      "versao": "v0.11.0",
      "modelo": "Claude Opus 5 (Claude Code, remote session)",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "build/",
        "carteira/",
        "dados/",
        "redacao/",
        "backoffice/",
        "entidades/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T03:20:00Z",
      "versao": "v0.10.0",
      "modelo": "Claude Opus 5 (Claude Code, remote session)",
      "portoes": true,
      "pastas": [
        ".claude/",
        "admin/",
        "agents/",
        "api/",
        "artigos/",
        "assets/",
        "backoffice/",
        "briefs/",
        "build/",
        "dados/",
        "docs/",
        "entidades/",
        "fontes/",
        "redacao/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T05:45:00Z",
      "versao": "v0.11.0",
      "modelo": "Claude Code, remote session",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "backoffice/",
        "dados/",
        "entidades/",
        "redacao/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T07:15:00Z",
      "versao": "v0.13.0",
      "modelo": "Claude Code, remote session",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "backoffice/",
        "build/",
        "dados/",
        "entidades/",
        "ficheiros/",
        "redacao/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T08:30:00Z",
      "versao": "v0.15.0",
      "modelo": "Claude Code, remote session",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "artigos/",
        "backoffice/",
        "build/",
        "dados/",
        "docs/",
        "entidades/",
        "redacao/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T10:15:00Z",
      "versao": "v0.20.0",
      "modelo": "Claude Code, remote session",
      "portoes": true,
      "pastas": [
        ".claude/",
        "admin/",
        "api/",
        "artigos/",
        "assets/",
        "backoffice/",
        "build/",
        "dados/",
        "docs/",
        "entidades/",
        "redacao/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    },
    {
      "quando": "2026-09-15T11:45:00Z",
      "versao": "v0.22.0",
      "modelo": "Claude Code, remote session",
      "portoes": true,
      "pastas": [
        "admin/",
        "api/",
        "build/",
        "dados/",
        "docs/",
        "redacao/",
        "backoffice/",
        "artigos/",
        "entidades/",
        "index.html",
        "llms.txt",
        "sitemap.xml",
        "index.md"
      ],
      "movidos": 0
    }
  ],
  "contagens": {
    "cartoes": 12,
    "bancadas": 4,
    "execucoes": 17,
    "publicados": 5,
    "a_espera_do_editor": 1
  }
}
