¿Qué hace Flujo de trabajo de ingeniería CAD?
Trata las instrucciones del repositorio y los validadores propiedad del repositorio como autoritarios. Utiliza este skill para hacer el trabajo sistemático; nunca reemplaces los requisitos específicos del proyecto con suposiciones genéricas.
1. Establecer el contrato
- Lee cada
AGENTS.mdaplicable, la guía completa del proyecto, la instantánea del dibujo activo y el Issue solicitado antes de escribir. - Identifica la etiqueta de línea base inmutable, la ruta CAD, SHA-256, el sistema de coordenadas, el sistema de unidades, el inventario actual de componentes, los cuerpos imprimibles esperados y el objetivo de liberación.
- Detente antes de editar si las fuentes de verdad entran en conflicto o la línea base no se puede verificar.
- Separa el resultado solicitado del contexto del Issue relacionado. No absorbas un trabajo pendiente en la tarea.
- Selecciona la pista de liberación declarada por el Issue, la política del repositorio o el usuario: CAD/dibujo digital o producto físicamente cualificado. Una liberación de dibujo no implica cualificación del producto.
- Clasifica cada criterio de aceptación como computacional, visual, físico o solo de operador según ese contrato autoritario. Para una pista de dibujo, términos como ajuste, instalación, extracción, clip, accionamiento, ruta o acceso significan validación digital de geometría/ruta a menos que el contrato exija explícitamente una muestra fabricada o una prueba práctica. Nunca promuevas un riesgo genérico de ingeniería a una puerta obligatoria, y nunca reportes un criterio físico como superado solo a partir de la geometría.
Lee baseline-and-source-truth.md al seleccionar o validar una línea base. Lee failure-patterns.md antes de reparar un candidato fallido existente.
2. Inspeccionar antes de modificar
-
Abre el documento CAD nativo existente e inspecciona su árbol, tipos de objetos, expresiones, propiedades, ubicaciones, grupos, sólidos, visibilidad y estado de recomputación.
-
Registra un informe de línea base legible por máquina. Cuando FreeCAD esté disponible, ejecuta:
python scripts/run_inspect_fcstd.py --freecad FreeCADCmd.exe --file <baseline.FCStd> --output <baseline-report.json> -
No reconstruyas un documento nativo existente a partir de malla, STEP, capturas de pantalla, instantáneas o generadores bootstrap.
-
No sobrescribas ubicaciones, colores, visibilidad, expresiones o ediciones manuales guardadas por el usuario a menos que la tarea requiera explícitamente esos cambios exactos.
-
Trabaja en una nueva ruta versionada cuando las reglas del repositorio hagan inmutables las liberaciones históricas.
3. Implementar el cambio de ingeniería completo más pequeño
- Utiliza fuentes de componentes exactas y fijadas. Conserva juntos la fuente editable, el artefacto importado exacto, la revisión de procedencia y SHA-256.
- Coloca los componentes externos en el grupo de fuentes incrustadas del repositorio y deriva la geometría de montaje del modelo verificado.
- Reemplaza la geometría heredada en su feature nativa ascendente. Nunca ocultes un agujero, bolsillo, alivio o feature de montaje obsoleto fusionando un parche, placa, tapón, piel, relleno o reparación coplanar en un cuerpo terminado aguas abajo.
- Si no se puede recuperar el cuerpo pre-feature nativo o la cadena de construcción editable, detente con un bloqueador. No sustituyas geometría de reparación aditiva solo para obtener el envolvente final solicitado.
- Mantén la geometría de control editable y completamente restringida cuando el repositorio requiera control basado en Sketcher.
- Conecta cada feature de control al cuerpo imprimible final a través de una cadena de dependencia inspeccionable o una cadena booleana secuencial. La existencia de un croquis o cortador no prueba la integración.
- Elimina cortes, alivios, etiquetas, fuentes incrustadas activas y restos aguas abajo específicos de componentes obsoletos al reemplazar un componente.
- Limita los cambios colaterales. Preserva las ubicaciones de componentes no relacionados, cuerpos imprimibles, sistemas de coordenadas, apariencia y estructura del documento.
Para cada reemplazo o apertura redimensionada, lee y sigue native-feature-replacement.md. Lee component-integration.md para trabajo con componentes y parametric-geometry.md para modelado nativo y operaciones booleanas.
4. Validar en capas
Ejecuta la validación después de cada grupo de geometría significativo, no solo al final.
- Recalcula y rechaza errores del documento.
- Guarda, cierra, vuelve a abrir, recalcula, guarda y vuelve a abrir nuevamente.
- Confirma el recuento esperado de cuerpos imprimibles, recuento de sólidos, límites, volumen y topología.
- Demuestra que las features solicitadas afectan al cuerpo final previsto.
- Para un reemplazo, demuestra que el sólido local afectado es igual a la feature nativa no modificada con solo la nueva operación prevista aplicada. Rechaza contornos heredados residuales, dependencias de reparación aditiva, límites coplanares adicionales y cuerpos de relleno ocultos.
- Verifica colisiones y contactos requeridos por separado. Un contacto de montaje requerido no es una colisión no deseada.
- Verifica el orden de ensamblaje, la ruta de extracción, la ruta de inserción del conector, el eje del sujetador, el envolvente de la herramienta, el acceso al terminal, el espacio para cables, el radio de curvatura y la protección contra tensión digitalmente cuando corresponda. Etiqueta esta evidencia como geométrica; no reclames ajuste físico, fuerza o durabilidad.
- Prueba la editabilidad paramétrica en una copia desechable, luego restaura el parámetro original.
- Exporta los artefactos STL y STEP requeridos y vuelve a abrir cada exportación de forma independiente.
- Renderiza primeros planos con el componente mostrado y oculto para que la abertura nativa y la pared circundante sean revisables.
- Renderiza el FCStd guardado, no un modelo paralelo aproximado.
- Ejecuta cada prueba propiedad del repositorio exactamente como lo controla el ejecutor.
Genera un informe candidato con run_inspect_fcstd.py, luego compáralo con la línea base usando:
python scripts/compare_fcstd_reports.py --baseline <baseline-report.json> --candidate <candidate-report.json>
Lee validation-matrix.md para la evidencia requerida por cada puerta.
5. Ensamblar un candidato de liberación coherente
- Mantén el CAD nativo, las fuentes incrustadas, las exportaciones, la vista previa, el diseño, el manifiesto, la instantánea, la nota de versión y el índice activo mutuamente coherentes.
- Recalcula SHA-256 solo después de la generación final del artefacto. Vuelve a ejecutar la validación después de cualquier cambio en archivos con hash.
- Demuestra la inmutabilidad de la línea base histórica con un diff o hashes almacenados.
- Mantén vacíos los formatos solo manuales cuando la política del proyecto prohíba la generación automatizada.
- No crees ni apruebes una etiqueta o liberación cuando alguna puerta obligatoria esté incompleta.
- Permite una liberación de dibujo cuando sus puertas digitales requeridas pasen, incluso si la cualificación física opcional futura no se ha ejecutado. Nunca la etiquetes como lista para producción o físicamente cualificada.
- Crea una liberación cualificada para producto solo a partir de un commit de dibujo exacto después de que pasen la construcción física requerida, la medición, el ensamblaje y la aprobación del ingeniero.
Lee release-lifecycle.md para seleccionar la pista de liberación y la política de etiquetado. Lee release-gate.md antes de declarar la finalización.
6. Reportar con veracidad
- Devuelve
completedcuando todas las puertas requeridas por la tarea para la pista de liberación seleccionada pasen. - Devuelve
blockedcon el candidato completado preservado solo cuando una tarea autorizada o fuente del repositorio exija explícitamente una puerta física o de operador incompleta. - Devuelve
no_change_neededsolo después de demostrar que el estado solicitado ya existe. - Registra cupones, ciclos, vibraciones, asignaciones de pines, cableado u otras pruebas físicas no solicitadas como recomendaciones de seguimiento, no como bloqueadores. No inventes criterios de aceptación.
- Enumera cada bloqueador por separado con evidencia y un paso procesable siguiente.
- Distingue
not_run,failedypassed. Nunca conviertas la ausencia de evidencia en éxito. - No ocultes bloqueadores de liberación en riesgos o texto de resumen.