# Registro de cambios — Estándar Ethyka

Especificación viva en <https://ethyka.co/estandar.html> · Licencia CC BY 4.0.
Los identificadores de cláusula son estables: nunca se renumeran ni se reutilizan.
*English summary at the end.*

---

## 0.9 — 8 de octubre de 2026 (borrador público)

La 0.8 decía qué no debe hacer un agente. La 0.9 dice, además, con qué fuerza obliga
cada cláusula, cómo se comprueba y qué significa haberla cumplido.

### Mejoras

- **Dos capas por cláusula: `capa` y `base`.** Cada cláusula de `ethics.md`,
  `manipulation.md` e `intent.md` declara si la cubre una norma vigente (`capa: legal`,
  con su `base`) o si es un compromiso voluntario (`capa: etica`). Hasta la 0.8 todo
  `manipulation.md` se mapeaba en bloque al Art. 5 del AI Act, lo que era impreciso:
  la adulación o el confirmshaming no son, por sí solos, prácticas prohibidas por ese
  artículo. Ahora cada técnica cita su norma concreta o reconoce que no la tiene.
- **El suelo legal deja de ser opcional.** Las cláusulas de capa legal van siempre en la
  declaración y no admiten excepciones (`EXC-*`): una excepción a la ley es un
  incumplimiento. Las excepciones quedan reservadas a la capa ética, publicadas en la
  propia declaración, con responsable, motivo y caducidad máxima de 12 meses.
- **El test legal, dentro de `manipulation.md`.** El fichero incluye las tres
  condiciones acumulativas del Art. 5 (técnica, distorsión sustancial y perjuicio
  considerable) y deja escrito que el estándar es más estricto a propósito: veta la
  técnica sin esperar a la distorsión ni al daño.
- **Tres niveles de adopción (`level`).** `declarado` → `implementado` → `verificado`.
  Cada nivel exige una evidencia concreta (bloque `evidence`) y ninguno es una
  certificación. El nivel verificado requiere un tercero independiente y caduca a los
  12 meses o al cambiar el modelo, el prompt o la declaración.
- **`tests.yaml` pasa a ser normativo.** Incluye el protocolo de verificación: tres
  niveles de presión (L1 directo, L2 insistente, L3 adversarial), tres repeticiones
  por caso y un máximo de fallos por cláusula sobre 9 ejecuciones.
- **Severidad con consecuencias.** `critica`: 0 fallos tolerados. `alta`: 1. `media`: 2.
  La severidad sigue decidiendo la precedencia en caso de conflicto.
- **Suelo obligatorio definido.** Toda declaración incluye 22 cláusulas:
  ETH-01, 02, 03, 04, 06, 09, 10, 12 · MAN-01, 02, 05, 06, 08, 09, 12 ·
  INT-01, 02, 03, 04, 06, 07, 10. Las otras 14 dependen de las capacidades del agente
  o son compromisos éticos que elige el operador.
- **ETH-01 (identidad) y ETH-04 (incentivos) ya no son opcionales.** Declararse como IA
  es obligación legal desde el 2 de agosto de 2026 (AI Act, Art. 50).
- **Calendario legal actualizado** con el Reglamento (UE) 2026/1744 («Digital Omnibus»
  de IA): transparencia del Art. 50 aplicable desde el 2-ago-2026; nuevas prohibiciones
  del Art. 5 desde el 2-dic-2026; alto riesgo del Anexo III aplazado al 2-dic-2027 y
  el de productos regulados (Anexo I) al 2-ago-2028.
- **`tests.yaml` siempre es YAML válido.** Se escapan las comillas en nombres de agente
  y escenarios, que en la 0.8 podían romper el fichero.

### Añadidos

- **10 cláusulas nuevas (el núcleo pasa de 26 a 36):**
  - `ETH-11` Contenido sintético — marcar lo generado por IA, no suplantar a personas
    reales, nunca contenido íntimo no consentido.
  - `ETH-12` Vía humana y reclamación.
  - `MAN-11` falsa_autoridad · `MAN-12` falso_consenso · `MAN-13` deriva_gradual ·
    `MAN-14` encuadre_sesgado.
  - `INT-07` Contenido no es mandato (inyección de instrucciones) · `INT-08` Delegación
    con responsabilidad · `INT-09` Memoria declarada · `INT-10` Supervisión y parada.
- **Frontmatter:** `level`, `updated` y `files` en `ethics.md`; `agent_id` y `updated` en
  `manipulation.md` e `intent.md`.
- **Descubrimiento en un salto:** `files` enumera el resto de la declaración, de modo que
  `/.well-known/ethics.md` basta para encontrar todo lo demás.
- **JSON Schema público:** `/schema/ethyka-0.9.schema.json` (frontmatter y `tests.yaml`).
- **Validador de referencia:** `/schema/validate.js` (Node, sin dependencias). Comprueba
  los requisitos formales del nivel declarado.
- **Política de versionado** (ver más abajo) y este registro de cambios.

### Cambios que afectan a declaraciones existentes

- Una declaración 0.8 sigue siendo legible, pero **no alcanza el nivel declarado de la
  0.9**: le faltan `level`, `updated`, `files` y la `capa` de cada cláusula.
- En `manipulation.md`, las secciones «Alcance» y «Límite» pasan al principio del
  fichero, antes de las cláusulas.
- MAN-07 (presión relacional) se clasifica en capa ética: ninguna norma la nombra de
  forma específica, aunque puede caer bajo el Art. 5 si concurre el test. Mantiene
  severidad crítica: la capa no determina la gravedad.

### Migración de 0.8 a 0.9

1. Regenera la declaración con el generador (<https://ethyka.co/generador.html>), o:
2. añade al frontmatter de `ethics.md`: `level: declarado`, `updated: AAAA-MM-DD` y
   `files: [manipulation.md, intent.md, tests.yaml]`;
3. añade `agent_id` y `updated` a `manipulation.md` e `intent.md`;
4. añade a cada cláusula la línea `capa:` (y `base:` si es legal) antes de `severidad:`;
5. incorpora las cláusulas del suelo obligatorio que te falten;
6. regenera `tests.yaml` y ejecuta `node validate.js <carpeta>`.

### Sin cambios

- `robotics.md` se mantiene en la **v1.0** (19 cláusulas, 6 perfiles, 28 parámetros),
  compatible con la suite 0.9. Sus cláusulas no llevan `capa`: conserva su propio mapeo
  normativo.
- El whitepaper «The Ethyka Standard» (DOI 10.5281/zenodo.22141165) describe la 0.8.

### Política de versionado

- Los tres ficheros núcleo comparten versión. `robotics.md` versiona aparte.
- Los ID no se renumeran ni se reutilizan; las cláusulas nuevas se añaden al final y
  las retiradas conservan su número.
- Mientras el estándar esté en 0.x puede haber cambios incompatibles entre versiones
  menores; se documentan aquí con su guía de migración.

---

## robotics.md 1.0 — julio de 2026

19 cláusulas (ROB-01 a ROB-19), 6 perfiles y 28 parámetros. Normativa: ISO 10218:2025,
ISO 13482, Reglamento de Máquinas (UE) 2023/1230, IEC 62443 y Cyber Resilience Act.

## 0.8 — 2026

Cláusulas con ID estable (ETH/MAN/INT/ROB), severidades, señales y precedencia.
Tríptico núcleo (`ethics.md`, `manipulation.md`, `intent.md`) y `robotics.md`
condicional. Generador con plantillas maestras, `tests.yaml` y score de madurez.

---

## English summary — 0.9 (8 October 2026)

**Improved**

- Every core clause now declares a `layer` (`legal` or `ethical`) and, for legal ones,
  its `basis` — the specific rule in force. Until 0.8 the whole of `manipulation.md`
  mapped to AI Act Art. 5 as a block, which overstated the law.
- The legal floor is mandatory and admits no exceptions. Exceptions exist only in the
  ethical layer: published, owned, justified, and expiring within 12 months.
- `manipulation.md` includes the cumulative legal test of Art. 5 (technique,
  material distortion, significant harm). The standard is stricter on purpose: it bans
  the technique without waiting for harm.
- Three adoption levels: `declared` → `implemented` → `verified`, each with its
  evidence. None is a certification.
- `tests.yaml` is normative: three pressure levels, three repetitions per case,
  tolerated failures per clause over 9 runs — critical 0, high 1, medium 2.
- A defined mandatory floor of 22 clauses. ETH-01 (identity) and ETH-04 (incentives)
  are no longer optional.
- Legal timeline updated for Regulation (EU) 2026/1744.

**Added**

- 10 new clauses (core goes from 26 to 36): ETH-11 synthetic content, ETH-12 human
  route & redress; MAN-11 false authority, MAN-12 false consensus, MAN-13 gradual
  drift, MAN-14 biased framing; INT-07 content is not a mandate, INT-08 accountable
  delegation, INT-09 declared memory, INT-10 oversight & shutdown.
- Frontmatter fields `level`, `updated`, `files`; single-hop discovery from
  `/.well-known/ethics.md`.
- Public JSON Schema and a dependency-free reference validator under `/schema/`.
- Versioning policy and this changelog.

**Unchanged:** `robotics.md` stays at v1.0, compatible with suite 0.9.
