**The amendment to the language rule is written out word for word, and the emergency exit the
constitution prescribes turns out to write into a folder nothing reads.** Neither of those is a
change to a page a reader sees. Both are the editor's line, and this release is the record of them
being put in front of them by the route that actually arrives.

**The editor asked for `CLAUDE.md` to be amended, and asked to be prompted to authorise it. The
prompt cannot exist, for two reasons, and the second one is the interesting one.** The first is this
repository's own: `.claude/settings.json` lists `Edit(CLAUDE.md)` under `deny`, not `ask`. A `deny`
rule refuses outright and never prompts — that is precisely the difference between the two lists,
and it is why a constitution belongs in the first. `deny` also outranks both `ask` and `allow`, so
adding an `ask` rule beside it changes nothing: the existing entry has to move. The edit was
attempted rather than assumed, so the refusal is demonstrated: *"File is in a directory that is
denied by your permission settings."*

**The second guard is outside this repository, and no authorisation given here reaches it.** Moving
the entry was refused by the harness's own self-modification classifier, which can only be lifted by
a settings permission rule — the very edit it is blocking. The editor authorised the move in
conversation; that authorisation is not a rule of this repository and there is nothing here to grant
it with. It was not routed around. Rewriting the JSON through Python or a shell redirect would have
been the same edit under another name, which is the thing the guard exists to stop, and a session
that edits its own guard rail on request is a session whose guard rail is a suggestion.

**So the amendment is written out to be applied by hand, in two places and not one.**
`redacao/issues/010` proposed only the `## Language` section; the opening paragraph carries the same
sentence, and leaving it would have made the constitution contradict itself on its own first page.
Both replacements are in the message named below, exactly as they should read.

The amendment does not loosen the rule, it changes its axis: from *everything a reader sees is
Portuguese* to *everything a reader sees walks back to a Portuguese page that was checked against
bytes*. The same demand for provenance, phrased so a translation can satisfy it and an invention in
English cannot. It still forbids an English page with nothing to walk back to, a translated excerpt
or graph verb, and a locale served without the editor's `publicado`.

**Then, going to write that message, a defect in the escape hatch itself.** `CLAUDE.md` ends with
the instruction that governs every session that gets stuck: *"When blocked, write to the editor's
inbox (`redacao/correio/editor/entrada/`) and stop. A run that stops honestly is a good run."* A
session that does exactly that writes somewhere no reader in this repository visits. Three things
diverge at once:

* **The format.** `build/newsroom_team.py` is the single reader of that folder and it walks
  `redacao/correio/**/*.eml`. Messages are `.eml` files with `From`/`To`/`Date`/`Subject` headers. A
  `.json` in the same folder is invisible to it.
* **The mailbox.** The mailboxes are the agents of `dados/agentes.json` — `pesquisa.pt`,
  `redacao.pt`, `verificacao.pt`, `bastidores.pt`, `dinis.humano`. **There is no `editor` agent.**
  `redacao/correio/editor/` is not a mailbox in this protocol; it is a folder nobody declared and
  nothing reads.
* **The path.** By rule 2 of `redacao/correio/LEIA-ME.md`, reaching another agent means leaving the
  file in `expedicao/<recipient>/` and letting the **recipient** move it to their `entrada/`.
  Writing straight into another agent's `entrada/` breaks single-writer, which is rule 1. The
  constitution's instruction names the one move the protocol forbids.

**The consequence is not theoretical: a message has been sitting unread for eight days.**
`redacao/correio/editor/entrada/2026-09-15-migracao-en-bloqueada.json` — a session blocked on the
English migration did exactly what `CLAUDE.md` says, and wrote a careful note naming three
deny-listed files and offering the editor two ways out. It never rendered and never arrived. This
session only found it by writing beside it and then checking whether its own message appeared. That
is the same failure shape this site chases everywhere else: something that looks like it worked
because nothing said it did not. **No gate catches this, which is why it lasted** — a file in a
folder nobody reads fails nothing.

It was not repaired by hand. Re-dispatching another agent's message would cross the single-writer
boundary that makes the protocol worth anything, so the 15 September file is named and left exactly
where it is. `redacao/issues/013` carries the two ways out, the recommended wording, and the gate
that either one needs: **fail the build if anything under `redacao/correio/` is a file the single
reader does not read.**

**This release's own message went by the correct route, which is the proof the route arrives.**
`redacao/correio/bastidores.pt/saida/dinis.humano/006__…eml` with its dispatch copy in
`redacao/correio/expedicao/dinis.humano/`, where `dados/correio.json` now records it as
*em trânsito* — delivered when the editor moves it, which is the recipient's move and nobody
else's. It is on `/newsroom/mail.html`, which the 15 September message never was.

**Nothing a reader sees changed.** 920 pages, four languages, 44 gates green, `validate` green.
Two decisions are open and both are the editor's because both are in `CLAUDE.md`: the language-rule
amendment, and which mailbox a blocked session should use.
