fc4180cbb3
- .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>
2.9 KiB
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_checksniassertion eval— esos son pasos del bucle reactivo, no diagnostico pasivo.