Conviene centralizar las pruebas como regla general, pero los tests de Go que necesitan acceder a elementos no exportados pueden permanecer junto al paquete. Las especificaciones describen los contratos vigentes; los ADR registran por qué se tomaron decisiones; las pruebas comprueban comportamientos.
Publicado porImágenes generadas con GPT Image 2
Respuesta de investigación
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/L2Q8zxg7UqZZOsMb8CmQKOfK9IR2/thumbnails/C41117380AEDA3F50B7E/70B0757779861287C9BD-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"这套布局可以作为收敛方向,但需要纠正三个等同关系:所有测试不能无条件迁出业务包,规范不是全部 ADR 的摘要,冻结也不是完成归档。以下是六项建议的明确边界;涉及的新路径均为候选,尚未创建或迁移。\n\n 1.. Topic tags: general web, openai, automation, workflow, code. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, a
Esta propuesta de organización puede servir como punto de llegada, pero conviene evitar tres equivalencias engañosas: no todos los tests deben salir de su paquete, las especificaciones no son un resumen de todos los ADR y congelar un plan no significa darlo por terminado. Estas son seis recomendaciones, con sus límites. Las rutas mencionadas son propuestas: todavía no se han creado ni se ha trasladado ningún archivo.
La centralización puede ser la norma, sin exigir que todos los proyectos eliminen las pruebas de los directorios de código.
tests/. Antes de moverlas, hay que comprobar las importaciones, el descubrimiento de pruebas, los fixtures y la integración continua. En este repositorio, CI ya utiliza una ruta centralizada._test.internal depende de la relación entre sus directorios; no significa que solo se pueda importar código del mismo directorio. El acceso a identificadores no exportados es una cuestión distinta.Por eso, no conviene fijar como criterio general que todos los tests de Go salgan de los directorios de negocio y que, al mismo tiempo, se mantengan las pruebas de caja blanca y el encapsulamiento. No hay que exportar estado interno ni duplicar lógica solo para ordenar carpetas.
Lo que sí conviene evitar son las pruebas fragmentarias sin valor y las verificaciones duplicadas. Las pruebas de regresión que se necesitan en el futuro deben estar versionadas; las comprobaciones puntuales pueden quedarse en un espacio temporal.
La idea va en la dirección correcta, pero specs/ no debería convertirse en un compendio de todos los ADR. Cada capa responde a una pregunta diferente:
| Capa | Pregunta | De dónde viene su contenido |
|---|---|---|
| Método de trabajo general | ¿Cómo analizar, verificar y entregar? | De quienes mantienen la metodología |
Entrada del proyecto, AGENTS.md |
¿Cómo se trabaja en este proyecto? | De las restricciones confirmadas y las instrucciones de uso |
Especificaciones, specs/ |
¿Qué comportamientos y contratos deben cumplirse ahora? | De requisitos, decisiones aceptadas y cambios autorizados |
Registros de decisiones, docs/adr/ |
¿Por qué se eligió una opción? | De decisiones arquitectónicas, alternativas y sus consecuencias |
La documentación oficial de Cline confirma que sus reglas permiten conservar instrucciones entre conversaciones.4 Sin embargo, la información disponible no demuestra que Cline cree automáticamente archivos de una clase determinada dentro del directorio de especificaciones. Eso debe entenderse como una convención del proyecto, no como una función garantizada de la herramienta.
El contenido del proyecto tampoco tiene que redactarse todo a mano ni esperar a que surja un problema. Un proceso razonable sería:
En pocas palabras: la especificación es el contrato actual, el ADR explica una decisión y los tests son comprobaciones ejecutables. Se relacionan, pero no se sustituyen entre sí. Además, un hallazgo específico de un proyecto no debería convertirse automáticamente en una regla general.
Es razonable proponer docs/adr/ como ubicación predeterminada para los nuevos registros. Es una convención del proyecto, no algo que deba presentarse como el único estándar del sector.
El traslado no debería alterar los criterios actuales:
La migración también debe actualizar las referencias, las reglas de navegación y las restricciones de permisos que realmente existan. Mover archivos, por sí solo, no basta.
Una estructura plana en plans/ puede funcionar; no hace falta crear subcarpetas por obligación si hay pocos planes históricos. Como convención candidata, podrían usarse estos nombres:
| Uso | Nombre de archivo propuesto | Qué significa |
|---|---|---|
| Plan activo | pending_implementation_plan.md |
Entrada predeterminada para el único plan activo |
| Plan completado y archivado | plan-20261022-example-id.md |
Trabajo terminado y autorizado para archivar |
| Plan congelado, aún incompleto | plan-20261022-example-id-frozen.md |
Trabajo apartado del flujo activo, con tareas pendientes conservadas |
Congelar no exige crear otra carpeta ni añadir de inmediato un estado nuevo. El validador actual ya admite un estado de pausa; se puede reutilizar para anotar el motivo, lo que queda pendiente y las condiciones para reanudar.
La diferencia importa:
Como regla, se consulta la entrada activa y no se recorren todos los archivos históricos de la carpeta. El historial se busca cuando alguien pide recuperarlo o consultarlo. Para reanudar un plan congelado hacen falta autorización, una nueva instancia de ejecución que conserve la referencia al plan original y nuevas verificaciones; los resultados favorables anteriores no se heredan automáticamente. Esto coincide con las reglas vigentes del ciclo de vida.
Por último, cambiar el nombre de un archivo es una operación de guardado, no una prueba de aceptación. Hay que evitar sobrescrituras, conservar las tareas sin terminar y actualizar las referencias. Tampoco hay que crear una plantilla vacía solo para mantener una ruta fija.
No es recomendable exigir una prueba por cada archivo de código. Un test puede cubrir varios componentes y un mismo componente puede necesitar pruebas unitarias, de propiedades y de integración.
Para empezar:
tests/ por módulo o responsabilidad.tests/test-map.yaml, solo si la relación entre rutas resulta difícil de descubrir.Ese mapa debería guardar únicamente lo necesario: identificador del módulo o contrato, ámbito del código fuente, ámbito de las pruebas y comandos de verificación. No debería duplicar el árbol completo de carpetas ni mantener una copia del estado de aprobación de los tests.
El control de mantenimiento debe comprobar que las rutas y los comandos siguen siendo válidos. La existencia del mapa no demuestra que la cobertura sea suficiente ni que las pruebas hayan pasado. Así se evita crear, en nombre del orden, otra lista manual que pronto podría quedar obsoleta.
Tiene sentido reunir en .scratch/ borradores puntuales, scripts temporales e informes de exploración. Pero dos reglas necesitan matices: que nada de ahí pueda ser evidencia primaria y que todo se pueda borrar en cualquier momento.
Para informes antiguos y diagramas de arquitectura en docs/, es más seguro distinguir entre documentación vigente, material histórico y contenido pendiente de verificar que tratar todo lo antiguo como prescindible:
Conservar un documento no significa cargarlo en cada tarea. Para reducir el ruido de contexto, conviene consultar solo lo pertinente y señalar qué sigue vigente, en vez de borrar evidencia necesaria.
La propuesta es razonable con cuatro límites: centralizar las pruebas sin ignorar las particularidades de cada lenguaje; mantener las especificaciones como contratos vigentes, no como resúmenes de todos los ADR; distinguir los planes congelados de los completados; y no borrar del espacio temporal la única evidencia necesaria.
Las rutas predeterminadas y permitidas y el ámbito de edición del modo de análisis todavía corresponden a la estructura anterior. Una migración futura tendrá que actualizar reglas, plantillas, referencias, validaciones y adaptaciones del entorno. Cambiar el nombre de una carpeta no hace que el nuevo diseño entre en vigor. Por ahora, el trabajo se limita al análisis: no se ha escrito, trasladado, congelado ni eliminado ningún archivo.
Studio Global AI
Esta página incluye una respuesta respaldada por fuentes que puede continuar dentro de Studio Global.
Conviene centralizar las pruebas como regla general, pero los tests de Go que necesitan acceder a elementos no exportados pueden permanecer junto al paquete.
Conviene centralizar las pruebas como regla general, pero los tests de Go que necesitan acceder a elementos no exportados pueden permanecer junto al paquete. Las especificaciones describen los contratos vigentes; los ADR registran por qué se tomaron decisiones; las pruebas comprueban comportamientos.
Un plan congelado sigue incompleto: no debe presentarse como terminado ni reanudarse sin autorización y nuevas verificaciones.
Conviene centralizar las pruebas como regla general, pero los tests de Go que necesitan acceder a elementos no exportados pueden permanecer junto al paquete. Las especificaciones describen los contratos vigentes; los ADR registran por qué se tomaron decisiones; las pruebas comprueban comportamientos.
Publicado porImágenes generadas con GPT Image 2
Respuesta de investigación
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/L2Q8zxg7UqZZOsMb8CmQKOfK9IR2/thumbnails/C41117380AEDA3F50B7E/70B0757779861287C9BD-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"这套布局可以作为收敛方向,但需要纠正三个等同关系:所有测试不能无条件迁出业务包,规范不是全部 ADR 的摘要,冻结也不是完成归档。以下是六项建议的明确边界;涉及的新路径均为候选,尚未创建或迁移。\n\n 1.. Topic tags: general web, openai, automation, workflow, code. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, a
Esta propuesta de organización puede servir como punto de llegada, pero conviene evitar tres equivalencias engañosas: no todos los tests deben salir de su paquete, las especificaciones no son un resumen de todos los ADR y congelar un plan no significa darlo por terminado. Estas son seis recomendaciones, con sus límites. Las rutas mencionadas son propuestas: todavía no se han creado ni se ha trasladado ningún archivo.
La centralización puede ser la norma, sin exigir que todos los proyectos eliminen las pruebas de los directorios de código.
tests/. Antes de moverlas, hay que comprobar las importaciones, el descubrimiento de pruebas, los fixtures y la integración continua. En este repositorio, CI ya utiliza una ruta centralizada._test.internal depende de la relación entre sus directorios; no significa que solo se pueda importar código del mismo directorio. El acceso a identificadores no exportados es una cuestión distinta.Por eso, no conviene fijar como criterio general que todos los tests de Go salgan de los directorios de negocio y que, al mismo tiempo, se mantengan las pruebas de caja blanca y el encapsulamiento. No hay que exportar estado interno ni duplicar lógica solo para ordenar carpetas.
Lo que sí conviene evitar son las pruebas fragmentarias sin valor y las verificaciones duplicadas. Las pruebas de regresión que se necesitan en el futuro deben estar versionadas; las comprobaciones puntuales pueden quedarse en un espacio temporal.
La idea va en la dirección correcta, pero specs/ no debería convertirse en un compendio de todos los ADR. Cada capa responde a una pregunta diferente:
| Capa | Pregunta | De dónde viene su contenido |
|---|---|---|
| Método de trabajo general | ¿Cómo analizar, verificar y entregar? | De quienes mantienen la metodología |
Entrada del proyecto, AGENTS.md |
¿Cómo se trabaja en este proyecto? | De las restricciones confirmadas y las instrucciones de uso |
Especificaciones, specs/ |
¿Qué comportamientos y contratos deben cumplirse ahora? | De requisitos, decisiones aceptadas y cambios autorizados |
Registros de decisiones, docs/adr/ |
¿Por qué se eligió una opción? | De decisiones arquitectónicas, alternativas y sus consecuencias |
La documentación oficial de Cline confirma que sus reglas permiten conservar instrucciones entre conversaciones.4 Sin embargo, la información disponible no demuestra que Cline cree automáticamente archivos de una clase determinada dentro del directorio de especificaciones. Eso debe entenderse como una convención del proyecto, no como una función garantizada de la herramienta.
El contenido del proyecto tampoco tiene que redactarse todo a mano ni esperar a que surja un problema. Un proceso razonable sería:
En pocas palabras: la especificación es el contrato actual, el ADR explica una decisión y los tests son comprobaciones ejecutables. Se relacionan, pero no se sustituyen entre sí. Además, un hallazgo específico de un proyecto no debería convertirse automáticamente en una regla general.
Es razonable proponer docs/adr/ como ubicación predeterminada para los nuevos registros. Es una convención del proyecto, no algo que deba presentarse como el único estándar del sector.
El traslado no debería alterar los criterios actuales:
La migración también debe actualizar las referencias, las reglas de navegación y las restricciones de permisos que realmente existan. Mover archivos, por sí solo, no basta.
Una estructura plana en plans/ puede funcionar; no hace falta crear subcarpetas por obligación si hay pocos planes históricos. Como convención candidata, podrían usarse estos nombres:
| Uso | Nombre de archivo propuesto | Qué significa |
|---|---|---|
| Plan activo | pending_implementation_plan.md |
Entrada predeterminada para el único plan activo |
| Plan completado y archivado | plan-20261022-example-id.md |
Trabajo terminado y autorizado para archivar |
| Plan congelado, aún incompleto | plan-20261022-example-id-frozen.md |
Trabajo apartado del flujo activo, con tareas pendientes conservadas |
Congelar no exige crear otra carpeta ni añadir de inmediato un estado nuevo. El validador actual ya admite un estado de pausa; se puede reutilizar para anotar el motivo, lo que queda pendiente y las condiciones para reanudar.
La diferencia importa:
Como regla, se consulta la entrada activa y no se recorren todos los archivos históricos de la carpeta. El historial se busca cuando alguien pide recuperarlo o consultarlo. Para reanudar un plan congelado hacen falta autorización, una nueva instancia de ejecución que conserve la referencia al plan original y nuevas verificaciones; los resultados favorables anteriores no se heredan automáticamente. Esto coincide con las reglas vigentes del ciclo de vida.
Por último, cambiar el nombre de un archivo es una operación de guardado, no una prueba de aceptación. Hay que evitar sobrescrituras, conservar las tareas sin terminar y actualizar las referencias. Tampoco hay que crear una plantilla vacía solo para mantener una ruta fija.
No es recomendable exigir una prueba por cada archivo de código. Un test puede cubrir varios componentes y un mismo componente puede necesitar pruebas unitarias, de propiedades y de integración.
Para empezar:
tests/ por módulo o responsabilidad.tests/test-map.yaml, solo si la relación entre rutas resulta difícil de descubrir.Ese mapa debería guardar únicamente lo necesario: identificador del módulo o contrato, ámbito del código fuente, ámbito de las pruebas y comandos de verificación. No debería duplicar el árbol completo de carpetas ni mantener una copia del estado de aprobación de los tests.
El control de mantenimiento debe comprobar que las rutas y los comandos siguen siendo válidos. La existencia del mapa no demuestra que la cobertura sea suficiente ni que las pruebas hayan pasado. Así se evita crear, en nombre del orden, otra lista manual que pronto podría quedar obsoleta.
Tiene sentido reunir en .scratch/ borradores puntuales, scripts temporales e informes de exploración. Pero dos reglas necesitan matices: que nada de ahí pueda ser evidencia primaria y que todo se pueda borrar en cualquier momento.
Para informes antiguos y diagramas de arquitectura en docs/, es más seguro distinguir entre documentación vigente, material histórico y contenido pendiente de verificar que tratar todo lo antiguo como prescindible:
Conservar un documento no significa cargarlo en cada tarea. Para reducir el ruido de contexto, conviene consultar solo lo pertinente y señalar qué sigue vigente, en vez de borrar evidencia necesaria.
La propuesta es razonable con cuatro límites: centralizar las pruebas sin ignorar las particularidades de cada lenguaje; mantener las especificaciones como contratos vigentes, no como resúmenes de todos los ADR; distinguir los planes congelados de los completados; y no borrar del espacio temporal la única evidencia necesaria.
Las rutas predeterminadas y permitidas y el ámbito de edición del modo de análisis todavía corresponden a la estructura anterior. Una migración futura tendrá que actualizar reglas, plantillas, referencias, validaciones y adaptaciones del entorno. Cambiar el nombre de una carpeta no hace que el nuevo diseño entre en vigor. Por ahora, el trabajo se limita al análisis: no se ha escrito, trasladado, congelado ni eliminado ningún archivo.
Studio Global AI
Esta página incluye una respuesta respaldada por fuentes que puede continuar dentro de Studio Global.
Conviene centralizar las pruebas como regla general, pero los tests de Go que necesitan acceder a elementos no exportados pueden permanecer junto al paquete.
Conviene centralizar las pruebas como regla general, pero los tests de Go que necesitan acceder a elementos no exportados pueden permanecer junto al paquete. Las especificaciones describen los contratos vigentes; los ADR registran por qué se tomaron decisiones; las pruebas comprueban comportamientos.
Un plan congelado sigue incompleto: no debe presentarse como terminado ni reanudarse sin autorización y nuevas verificaciones.