Files
fn_registry/docs/capabilities/doctor.md
T
egutierrez fc4180cbb3 chore: auto-commit (129 archivos)
- .claude/agents/fn-analizador/SKILL.md
- .claude/agents/fn-constructor/SKILL.md
- .claude/agents/fn-executor/SKILL.md
- .claude/agents/fn-mejorador/SKILL.md
- .claude/agents/fn-orquestador/SKILL.md
- .claude/agents/fn-recopilador/SKILL.md
- .claude/commands/app.md
- .claude/commands/compile.md
- .claude/commands/cpp-app.md
- .claude/commands/create_functions.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 22:23:12 +02:00

2.9 KiB

Capability Group: doctor

Funciones de diagnostico read-only del registry y sus artefactos. Componen fn doctor — el entrypoint unico de auditoria del ecosistema. No modifican nada.

Funciones del grupo

ID Firma corta Que hace
artefact_doctor_go_infra ArtefactDoctor(registryRoot string) ([]ArtefactCheck, error) Estado git/venv/app.md/upstream de cada app y analysis
audit_capability_groups_go_infra AuditCapabilityGroups(root string) ([]CapabilityGroupAudit, error) Drift entre INDEX.md, tags en BD y docs en disco
audit_copied_code_go_infra AuditCopiedCode(registryRoot string) ([]CopiedCodeEntry, error) Cuerpos de funcion copiados del registry sin import
audit_cpp_apps_go_infra AuditCppApps(registryRoot string) ([]CppAppAudit, error) Conformidad C++ con cpp/PATTERNS.md
audit_ml_env_go_infra AuditMlEnv(registryRoot string) (MlEnvReport, error) Entorno ML: GPUs, CUDA, venv, paquetes clave
audit_uses_functions_go_infra AuditUsesFunctions(registryRoot string) ([]UsesFunctionsAudit, error) Drift uses_functions declarado vs imports reales
find_unused_functions_go_infra FindUnusedFunctions(registryRoot string) ([]UnusedFunction, error) Funciones del registry sin consumidores
frontend_doctor_bash_infra frontend_doctor(project_dir: string) -> diagnostics_stdout Diagnostico frontend: node_modules, builds, tipos
pc_locations_drift_go_infra PcLocationsDrift(registryRoot string, pcID string) ([]LocationDrift, error) Drift pc_locations BD vs disco local
services_status_go_infra ServicesStatus(registryRoot string) ([]ServiceStatus, error) Apps con tag service + systemctl + puerto
vault_doctor_go_infra VaultDoctor(repoRoot string) ([]VaultDoctorEntry, error) Estado de vaults: symlinks, manifest, integridad

Ejemplo canonico

// Todas las funciones siguen el mismo patron:
// reciben registryRoot (raiz del repo) y retornan slice de resultados + error.
import "fn-registry/functions/infra"

audits, err := infra.AuditCapabilityGroups("$HOME/fn_registry")
if err != nil { log.Fatal(err) }
for _, a := range audits {
    if !a.OK { fmt.Printf("%s: %v\n", a.Group, a.Issues) }
}

// fn doctor las compone todas via subcomandos:
//   fn doctor artefacts       → ArtefactDoctor
//   fn doctor services        → ServicesStatus
//   fn doctor sync            → PcLocationsDrift
//   fn doctor uses-functions  → AuditUsesFunctions
//   fn doctor unused          → FindUnusedFunctions
//   fn doctor cpp-apps        → AuditCppApps
//   fn doctor capabilities    → AuditCapabilityGroups

Fronteras

  • Read-only: ninguna funcion del grupo escribe, modifica estado ni mata procesos.
  • No incluye: funciones de reparacion/fix (esas son acciones derivadas descritas en .claude/rules/fn_doctor.md).
  • No incluye: e2e_checks ni assertion eval — esos son pasos del bucle reactivo, no diagnostico pasivo.