
OperaPublica.
OperaPublica.
Lo que dejo en las herramientas que uso todos los días.
What I leave behind in the tools I use every day.
Obras que usan todos
Works that everyone uses
En Roma, las opera publica eran las obras públicas: calzadas, acueductos, puentes, foros. Se construían por encargo del Estado para la comunidad, y había magistrados dedicados a levantarlas y a mantenerlas. La Vía Apia y el primer acueducto de la ciudad salieron de ahí.
In Rome, opera publica were the public works: roads, aqueducts, bridges, forums. They were built on behalf of the state for the community, with magistrates devoted to raising and maintaining them. The Appian Way and the city’s first aqueduct came out of that.
Así entiendo el open source. Uso estas herramientas todos los días; cuando encuentro algo roto o algo que falta, intento describirlo bien, reproducirlo y, cuando puedo, arreglarlo para quien venga después. Quien decide si el arreglo entra es la persona que mantiene el proyecto.
That’s how I understand open source. I use these tools every day; when I find something broken or missing, I try to describe it well, reproduce it, and, when I can, fix it for whoever comes next. The person who maintains the project decides whether the fix goes in.
Estoy aprendiendo a desarrollar con asistencia de IA: trabajo cada contribución con agentes, y mi parte es entender el problema, dirigir, revisar y responder por el resultado.
I’m learning to develop with AI assistance: I work on each contribution with agents, and my part is understanding the problem, directing, reviewing, and answering for the result.
Poder señalar una imagen y decir: «esto».
Point at an image and say: “this.”
Lavish convierte cualquier página HTML en una superficie de revisión. El agente me entrega su trabajo como una página; yo la abro, señalo un elemento o selecciono un texto, escribo lo que pienso y lo mando a una cola. Cuando termino, todo mi feedback regresa al agente, atado al lugar exacto que señalé. Es donde reviso mis Codex Pictus.
Lavish turns any HTML page into a review surface. The agent hands me its work as a page; I open it, point at an element or select some text, write what I think, and queue it. When I’m done, all my feedback goes back to the agent, tied to the exact spot I pointed at. It’s where I review my Codex Pictus.

La necesidad
The need
Para explicar un cambio visual necesitaba adjuntar la referencia a mi comentario. Describir una imagen solo con palabras dejaba demasiado a la interpretación.
To explain a visual change I needed to attach the reference to my comment. Describing an image in words alone left too much to interpretation.
Mi contribución
My contribution
Propuse la función en el issue #103 y trabajé con agentes en el PR que añadió «Attach image» a las anotaciones: la imagen viaja con el comentario hasta el agente.
I proposed the feature in issue #103 and worked with agents on the PR that added “Attach image” to annotations: the image travels with the comment to the agent.
La revisión
The review
Hubo que revisar el flujo de adjuntos, atender cambios y mantener la contribución al día con el proyecto. Kun lo integró el 14 de agosto de 2026.
It took reviewing the attachment flow, addressing changes, and keeping the contribution current with the project. Kun merged it on August 14, 2026.

Kun Chen
Kun Chen
Kun Chen es un ingeniero con muchos años de experiencia haciendo software, desde mucho antes de que llegara la inteligencia artificial. Hay gente con ese perfil que está totalmente en contra de la IA. Él no: cuando vi una entrevista suya, lo que me hizo clic fue su punto de vista, cómo describe la forma en que trabaja con agentes y hacia dónde cree que va todo esto.
Kun Chen is an engineer with many years of experience building software, since long before artificial intelligence arrived. Some people with that profile are completely against AI. He isn’t: when I watched an interview with him, what clicked for me was his point of view, how he describes the way he works with agents, and where he thinks all this is going.
Empecé a seguirlo y a adoptar sus herramientas. Uso Firstmate para coordinar trabajo en paralelo, Lavish para dar feedback sobre lo que veo y no-mistakes para revisar el código antes de publicarlo. De su método tomé una idea central: dedicar más atención a entender y planear, y apoyarme en agentes para ejecutar, sin salirme de la verificación: los agentes comprueban su trabajo, pero el humano tiene que seguir dentro de ese ciclo. Lo he ido adaptando a Pergamum.
I started following him and adopting his tools. I use Firstmate to coordinate parallel work, Lavish to give feedback on what I see, and no-mistakes to review code before publishing it. From his method I took one central idea: spend more attention on understanding and planning, and lean on agents to execute, without stepping out of verification: agents check their own work, but the human has to stay in that loop. I’ve been adapting it to Pergamum.
Una revisión debe corresponder al código que va a entrar
A review has to match the code that’s about to land
Firstmate es la herramienta con la que coordino a mis agentes de código. En lugar de tener un solo agente trabajando mientras yo espero, le explico qué quiero y ella reparte el trabajo entre varios, cada uno en su propia copia del proyecto, y me devuelve los resultados para revisarlos.
Firstmate is the tool I use to coordinate my coding agents. Instead of having a single agent work while I wait, I explain what I want and it distributes the work across several, each in its own copy of the project, and brings the results back for review.
Usándola encontré un hueco: la certificación de que un cambio había pasado revisión no comprobaba que el código revisado fuera el mismo que estaba a punto de entrar. Lo reporté con el detalle necesario para reproducirlo, y el mantenedor lo corrigió. Aquí mi contribución fue el reporte, no el arreglo.
Using it, I found a gap: the attestation that a change had passed review didn’t check that the reviewed code was the same code about to land. I reported it with enough detail to reproduce it, and the maintainer fixed it. My contribution here was the report, not the fix.
Contribuciones integradas
Contributions merged
Cada una empezó con un problema reproducido y terminó con la revisión y la decisión del mantenedor. Todas son públicas.
Each one started with a reproduced problem and ended with the maintainer’s review and decision. All of them are public.
| ProyectoProject | Qué resolvíaWhat it solved | IntegradoMerged | PR |
|---|---|---|---|
| lavish-axi | Adjuntar imágenes de referencia a las anotaciones y entregarlas al agente.Attach reference images to annotations and deliver them to the agent. | 14 ago 2026Aug 14, 2026 | #188#188 |
| lavish-axi | Evitar que el feedback se quede atorado si la captura de la página no responde.Keep feedback from stalling when the page snapshot doesn’t respond. | 14 sep 2026Sep 14, 2026 | #334#334 |
| gh-axi | Mostrar a qué repositorio pertenece un issue al consultarlo.Show which repository an issue belongs to when viewing it. | 14 sep 2026Sep 14, 2026 | #154#154 |
| quota-axi | Sustituir una política de aprobación que Codex había retirado.Replace an approval policy that Codex had retired. | 15 sep 2026Sep 15, 2026 | #190#190 |
| chrome-devtools-axi | Reportar la ruta real donde se guardó una captura de pantalla.Report the real path where a screenshot was saved. | 15 sep 2026Sep 15, 2026 | #140#140 |
| chrome-devtools-axi | Detectar instalaciones globales también en Windows.Detect global installs on Windows as well. | 15 sep 2026Sep 15, 2026 | #141#141 |
| axi | Tratar el cierre de la salida como un final normal, sin ocultar otros errores.Treat a closed output pipe as a normal ending without hiding other errors. | 16 sep 2026Sep 16, 2026 | #199#199 |
| quota-axi | Detectar la app Antigravity en macOS aunque su ruta tenga espacios.Detect the Antigravity app on macOS even when its path contains spaces. | 16 sep 2026Sep 16, 2026 | #194#194 |
| chrome-devtools-axi | Hacer que un error de la herramienta marque el navegador como no saludable.Make a tool error mark the browser as unhealthy. | 17 sep 2026Sep 17, 2026 | #143#143 |
Reportes y propuestas
Reports and proposals
También contribuyo documentando fallos y peticiones. El estado de cada conversación está en GitHub y puede haber cambiado desde el 18 de septiembre de 2026.
I also contribute by documenting bugs and requests. The state of each conversation lives on GitHub and may have changed since September 18, 2026.
| HerramientaTool | Lo que reportéWhat I reported | EstadoStatus | RegistroRecord |
|---|---|---|---|
| T3 Code | La app de Android se desconectaba al instante por una diferencia de protocolo.The Android app disconnected instantly because of a protocol mismatch. | CerradoClosed | #4901#4901 |
| Hermes Agent | Un temporizador cortaba los razonamientos largos antes de la primera respuesta.A watchdog cut off long reasoning before the first response. | CerradoClosed | #90449#90449 |
| Firstmate | La certificación de revisión no se comprobaba contra el código actual.The review attestation wasn’t checked against the current code. | CerradoClosed | #3006#3006 |
| T3 Code | La lista de conversaciones se queda atrás en el celular.The thread list falls behind on mobile. | AbiertoOpen | #5742#5742 |
| Lavish | Una forma de copiar todo el feedback cuando el agente ya no escucha.A way to copy all feedback when the agent is no longer listening. | AbiertoOpen | #217#217 |
| no-mistakes | Una rama queda sin poder correr después de reescribir su historial.A branch is left unrunnable after its history is rewritten. | AbiertoOpen | #652#652 |
| Firstmate | Los PRs que vienen de forks no reciben verificaciones.PRs coming from forks never receive checks. | AbiertoOpen | #2489#2489 |
| T3 Code | Propuesta en conversación: grupos manuales y colapsables de conversaciones. Pedí dirección antes de implementar nada.Proposal under discussion: manual, collapsible thread groups. I asked for direction before implementing anything. | PropuestaProposal | #11998#11998 |
