Ir al contenido

Authorship

El plugin Authorship registra quién escribió cada sección de cada Blueprint (el plano), una persona o un agente, y qué secciones de un agente ha revisado una persona. Así puedes ver, en cualquier Blueprint, cuánto escribió un agente y todavía no respalda ninguna persona. Se registra, nunca se adivina: ningún modelo ni detección de estilo, solo dónde se hizo cada cambio. Desactivado por defecto; eidos plugin enable authorship lo activa.

  • Authorship, una vista en la barra lateral auxiliar junto al Blueprint abierto, empieza con una cifra bajo el título del Blueprint: la parte de sus palabras que escribió un agente y no ha revisado ninguna persona. Una barra muestra quién escribió cada palabra, con una leyenda de cada parte (Agent, waiting for review, Agent, reviewed, People y Nobody claimed it) y una línea que dice lo que queda por revisar.
  • Bajo Sections, cada sección nombra a quien la escribió en palabras sencillas (Claude (agent), Grace Hopper (from Git), Nobody claimed it) y si está Waiting for review o Reviewed by alguien. Mark reviewed en una sección, y Mark all reviewed bajo el resumen, marcan como revisadas las secciones de un agente en nombre de la persona en la página. Si no se ha elegido a nadie como persona en la página, la vista dice que elijas quién eres en el menú al pie de la barra de actividad.
  • El plugin no tiene nada que ajustar; su página de ajustes dice dónde está la vista.

Cada sección de un Blueprint (un encabezado y el texto bajo él, hasta el siguiente encabezado) recibe a quien la escribió según dónde se hizo su cambio:

  • Un guardado desde el editor de la página es de la persona en la página: el usuario como el que actúa esta máquina, si no la identidad de git que coincide con un usuario de la lista. Un cambio hecho en otro sitio antes del guardado no se atribuye a ella.
  • Un agente escribe directamente en el archivo, así que después de cada edición que hace a un Blueprint ejecuta eidos authorship attribute <blueprint> --as <alias>, y las secciones que cambió quedan como suyas. La guía del agente se lo indica.
  • Un cambio que nadie reclamó, como una edición a mano en otro editor, es del autor de git cuando cada línea de la sección está en un commit (el autor del commit más reciente entre ellas, emparejado con un usuario de la raíz por correo o nombre, leído a través del plugin Git), y de nadie en otro caso.

La detección compara hashes, nunca diffs. Una sección cuyo texto ya está registrado conserva a quien la escribió y su revisión, aunque se haya movido. Una sección cuyo texto cambió toma al nuevo autor y pierde su revisión. Los espacios en blanco, los comentarios HTML y las regiones de una herramienta quedan fuera del hash, así que reajustar líneas no es un cambio. Una sección que solo tiene la región de una herramienta, como Tasks o una lista de registros, es de la herramienta y no se registra.

Una persona respalda la sección de un agente revisándola: el agente sigue siendo quien la escribió, y la sección queda marcada como revisada por esa persona. Una revisión es solo de una persona, nunca de un agente. Un cambio posterior en la sección la borra.

Ventana de terminal
eidos authorship review B-PNSQ --section Intent --as grace # one section; without --section, every one waiting

En cada Blueprint, el plugin cuenta sus palabras y la parte de ellas en secciones que escribió un agente (agent), y en las que ninguna persona ha revisado (agent_unreviewed). eidos authorship imprime las dos, y eidos list --json las lleva bajo plugins.authorship en cada Blueprint.

El registro es un solo archivo, .eidos/plugins/authorship/snapshot.yaml, compartido y confirmado en el repositorio para que un equipo vea lo mismo, y nunca dentro de un Blueprint. Es una instantánea, no un historial: para cada Blueprint por su id, cada sección por la ruta de sus encabezados tiene un hash de su texto, quien la escribió (el alias de un usuario de la raíz), o git (un autor de git que no coincide con ningún usuario), o ninguno de los dos, y reviewed_by.

blueprints:
B-PNSQ:
Login > Intent:
hash: 29131ad07db3
writer: claude
reviewed_by: grace

Un hash que ya no tiene ningún Blueprint se quita, y un Blueprint que la raíz ya no tiene se va con él, así que el archivo es solo tan grande como el texto actual de la raíz y no se escribe nada por cambio. Las claves están ordenadas, así que un cambio es un diff pequeño. Solo la CLI lo escribe; nunca lo edites a mano.

  • .eidos/plugins/authorship/snapshot.yaml, compartido: la instantánea de arriba.

El plugin no tiene más ajustes que su interruptor.

Ventana de terminal
eidos authorship # every blueprint's share an agent wrote and no person reviewed
eidos authorship B-PNSQ # one blueprint, section by section, with each writer; --json
eidos authorship attribute B-PNSQ --as claude # what an agent runs after each edit it makes
eidos authorship review B-PNSQ --as grace # a person marks the agent's sections reviewed; --section <heading>

Cada comando acepta --json. Sin --as, EIDOS_USER nombra al usuario, si no el usuario como el que actúa esta máquina, si no la identidad de git que coincide con un usuario de la lista; un nombre que no es nadie se rechaza con el comando eidos users add que lo añade. Leer un Blueprint vuelve a calcular sus hashes, así que un cambio que nadie reclamó se registra la próxima vez que algo lo lee.

Un agente se añade una vez con eidos users add "<Its name>" --alias <alias> --agent cuando eidos users no lo lista, ejecuta attribute --as <alias> después de cada edición y nunca ejecuta review: una revisión es de una persona.

Nada: Authorship no añade ningún hallazgo a eidos check. Desactivado, no se registra nada y la instantánea se queda donde está.