cb6d9e61d1
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| audit_cpp_apps | function | go | infra | 1.0.0 | impure | func AuditCppApps(registryRoot string) ([]CppAppAudit, error) | Audita conformidad de apps C++ del registry con cpp/PATTERNS.md y .claude/rules/cpp_apps.md. Verifica que cada main.cpp use fn::run_app, declare cfg.about y cfg.log, no llame fn_ui::app_menubar manualmente, no llame ImGui::DockSpaceOverViewport sin opt-out (cfg.auto_dockspace = false), y que app.md tenga framework: imgui y entry_point. Read-only. |
|
false | error_go_core |
|
|
slice de CppAppAudit, uno por app C++ registrada. Cada entrada incluye AppID, DirPath, OK (true si no hay issues), y lista Issues con codigos: directory_missing, main.cpp_missing_or_unreadable, no_fn_run_app_call, manual_glfwInit_call, missing_cfg_about, missing_cfg_log, manual_app_menubar_call, manual_DockSpaceOverViewport_without_auto_dockspace_false, app.md_missing, app.md_missing_framework_imgui, app.md_missing_entry_point. Error solo si registry.db no puede abrirse. | false | functions/infra/audit_cpp_apps.go |
Ejemplo
audits, err := infra.AuditCppApps("/home/lucas/fn_registry")
if err != nil { log.Fatal(err) }
for _, a := range audits {
if !a.OK {
fmt.Printf("%s: %v\n", a.AppID, a.Issues)
}
}
Contexto
Wrapper consumido por fn doctor cpp-apps. Sirve como gate para detectar apps que se desvian del estandar (ej. app_menubar manual residual, falta cfg.about, app.md sin frontmatter completo) tras refactors o creacion manual sin usar el scaffolder init_cpp_app_bash_pipelines.
Issues detectados son codigos cortos (snake_case) para que sean estables y filtrables desde JSON. La interpretacion humana vive en cpp/PATTERNS.md.