diff --git a/AGENTS.md b/AGENTS.md
index e9c3279..ecbbad2 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -20,6 +20,10 @@ Prefer property-based tests, with [Hegel](https://hegel.dev/). The oracle in `te
A comment sits on the code it explains: never a file header, never above or among the imports (`file-comments/no-head-comments`).
+## Changes
+
+Every change reaches `main` through a pull request, merged with a squash once CI passes; `main` is protected and nobody pushes to it directly. A commit message is a short plain subject that says what changed, with no body.
+
## Releases
Bump `version` in `package.json` and add its entry to `CHANGELOG.md`, then push a `vX.Y.Z` tag that matches. `.github/workflows/publish.yml` publishes it with npm's trusted publishing and a provenance statement; no token is stored anywhere. A breaking change to what any function accepts is a major version.
diff --git a/README.md b/README.md
index bc9c7cd..87c1b3b 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@
-
+
# validator-ec
Valida cédulas, RUCs y códigos postales ecuatorianos con las reglas que publica el SRI.
-[](https://www.npmjs.com/package/validator-ec) [](https://www.npmjs.com/package/validator-ec) [](https://github.com/bayasdev/validator-ec/actions/workflows/ci.yml) [](LICENSE)
+[](https://www.npmjs.com/package/validator-ec) [](https://www.npmjs.com/package/validator-ec) [](https://github.com/bayasdev/validator-ec/actions/workflows/ci.yml) [](https://github.com/bayasdev/validator-ec/blob/main/LICENSE)
```typescript
import { isCedula, isRUC, parseIdentification } from "validator-ec";
@@ -115,7 +115,7 @@ Solo comprueba la forma. No hay una lista oficial abierta de los códigos que ex
## Desde la versión 1
-La versión 2 cambia algunas respuestas para seguir al SRI. El [registro de cambios](CHANGELOG.md#200) explica cada una y cómo migrar.
+La versión 2 cambia algunas respuestas para seguir al SRI. El [registro de cambios](https://github.com/bayasdev/validator-ec/blob/main/CHANGELOG.md#200) explica cada una y cómo migrar.
## Contribuir
@@ -128,10 +128,10 @@ pnpm test # pruebas
pnpm build # compilación
```
-Las pruebas son propiedades con [Hegel](https://hegel.dev/) contra un oráculo escrito en la propia prueba a partir de la regla del SRI, y cada valor fijo cita de dónde sale. [AGENTS.md](AGENTS.md) tiene las reglas completas.
+Las pruebas son propiedades con [Hegel](https://hegel.dev/) contra un oráculo escrito en la propia prueba a partir de la regla del SRI, y cada valor fijo cita de dónde sale. [AGENTS.md](https://github.com/bayasdev/validator-ec/blob/main/AGENTS.md) tiene las reglas completas.
Para publicar, sube una etiqueta `vX.Y.Z` que coincida con `package.json`: GitHub Actions publica en npm con la publicación de confianza, sin tokens.
## Licencia
-[Apache 2.0](LICENSE). La lista de códigos postales con que se prueba `isZipCode` (`tests/data`) es de [GeoNames](https://www.geonames.org/), bajo [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
+[Apache 2.0](https://github.com/bayasdev/validator-ec/blob/main/LICENSE). La lista de códigos postales con que se prueba `isZipCode` (`tests/data`) es de [GeoNames](https://www.geonames.org/), bajo [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).