Doc-Rot
Responde en el IDIOMA del USUARIO; mantén los términos técnicos, comandos, rutas y códigos de verificación textuales.
Encuentra contenido de documentación que el tiempo ha invalidado. Reporta podredumbre CONFIRMADA; aparca lo meramente antiguo como SOSPECHOSO.
Parámetros
- ALCANCE: archivos nombrados (por defecto cuando se dan) | archivos de documentación tocados en esta sesión | toda la documentación del repositorio —
.md/.mdx/.markdown/.rst/.txt/.adoc/.asciidoc/.org(confirma primero si hay más de 20 archivos). - NIVEL: Rápido = solo marcadores mecánicos de antigüedad (~gratuito) · Completo = juicio semántico de obsolescencia (pago). Por defecto desde
.coalledger.jsonquickVsFull; Completo siempre requiere consentimiento separado.
Marcadores de antigüedad (capa mecánica — detección determinista)
| marcador | señal |
|---|---|
| cadena de versión | el documento nombra una versión más antigua que la versión actual del proyecto (comparar contra la fuente de verdad de la versión, ej. el manifiesto) |
| sello de fecha | una fecha de "última actualización" / revalidar antes / verificado en muy pasada o ya vencida |
| marcador de tarea muerta | TODO / FIXME / "próximamente" / "aún no" sin señales de actividad |
| insignia obsoleta | una insignia de estado/versión hardcodeada que contradice el estado actual del repositorio |
La detección es determinista; si un marcador significa o no PODRIDO no lo es — una fecha antigua en un archivo está bien, en una guía de instalación no.
Método
- Rápido: recopila marcadores de antigüedad según la tabla. Viejo ≠ podrido: un marcador solo aterriza en SOSPECHOSO.
- Completo: juzga cada marcador en contexto, y busca PODRIDO sin fecha — instrucciones para una superficie que ha cambiado, afirmaciones de que un documento posterior lo ha reemplazado (la contradicción pura entre documentos vivos pertenece a consistencia documental; podredumbre es el eje temporal).
- Confirmar antes de CONFIRMADO: un hallazgo es CONFIRMADO solo cuando el estado actual contradice el documento (la fuente de la versión nombra una versión más nueva; la superficie referenciada ha desaparecido). Cualquier inferencia se mantiene como SOSPECHOSO.
- Severidad por CONTEXTO (nunca un mapeo fijo), luego honrar
severityFloor: pasos de instalación/seguridad podridos que los lectores siguen = ALTA-CRÍTICA; una insignia obsoleta o mención de versión = MEDIA; una fecha antigua en un documento archivado = BAJA.
Límite de escalada
Si una afirmación fue alguna vez CIERTA es trabajo de la capa de fundamentación documental; la verificación formal de una afirmación de alto riesgo escala a CoalBoard (/coalboard) si esa skill está instalada. Este canario solo responde "¿el tiempo la rompió?".
Salida
| # | ruta:línea | marcador | evidencia (estado actual) | severidad | corrección |
Solo tabla CONFIRMADO; SOSPECHOSO (antiguo pero no probado) como lista separada, nunca la tabla principal.
Informe: llama a ReportFindings cuando sea invocable — archivo/línea DEBE ser la línea propia del marcador, nunca una paráfrasis; una línea no resoluble reporta tu mejor estimación, nombrada como imprecisa en el resumen final, nunca omitida. Severidad prefijada en summary (ej. [ALTA] …) según la regla de severidad por contexto anterior, ordenado de más severo a menos, SOSPECHOSO (antiguo pero no probado) como verdict: PLAUSIBLE; el chat lleva solo la línea de resumen (conteos · lista SOSPECHOSO · desbordamiento más allá de 32) + el menú de correcciones, nunca una repetición. No invocable → la tabla anterior, sin cambios. Un clic en Aplicar correcciones = consentimiento a la clase Aplicar correcciones seguras a continuación (solo actualizaciones de valor actual inequívocas), componiendo con — nunca evitando — el modo de corrección. Después de cualquier ronda de correcciones, vuelve a informar los mismos hallazgos con outcome: fixed/skipped/no_change_needed.
Modo de corrección (con opción)
Después de cualquier informe en una sesión interactiva DEBES presentar este menú mediante tu herramienta de pregunta (salta solo cuando los hallazgos son cero o no hay usuario presente). NUNCA corregir automáticamente un documento vivo.
- Aplicar correcciones seguras: solo actualizaciones cuyo valor actual sea inequívoco (subir una cadena de versión a la del manifiesto, refrescar una fecha que el usuario confirma, borrar un TODO que el usuario confirma muerto). Cada corrección: punto de control (git stash/commit en un repositorio git; si no, copiar el archivo aparte — nunca asumir que git existe) -> aplicar -> releer las líneas cambiadas.
- Déjame elegir: lista los hallazgos; el usuario selecciona.
- Solo informe: salir sin cambios.
NUNCA corregir automáticamente: reescribir instrucciones reemplazadas (una decisión de contenido), eliminar secciones, nada cuya verdad actual no hayas verificado.
Multilingüe
Los marcadores de antigüedad son independientes del idioma (versiones, fechas e insignias se ven igual en cualquier idioma de prosa; los FORMATOS de fecha varían — analizar por estructura, no por un nombre de mes en inglés). El juicio semántico se degrada a banderas de baja confianza en un idioma mal manejado, nunca a falsas alarmas.
Reporte de problemas
Si este canario se comporta mal, OFRECE reportarlo en https://github.com/TheColliery/CoalLedger/issues con un resumen revisado por el usuario — nunca autoenviar.