{"nodes": [{"id": "analisisfuncional_modulo_colectivo_miembros", "label": "Modulo Colectivo y Miembros", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_concepto_colectivo", "label": "Concepto de Colectivo (unidad organizativa central)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_roles_colectivo", "label": "Roles: administrador | miembro | invitado", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.2", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_rationale_permisos_simples", "label": "Rationale: modelo de permisos deliberadamente simple", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.2", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_colectivo", "label": "Entity: Colectivo", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_miembrocolectivo", "label": "Entity: MiembroColectivo", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_invitacioncolectivo", "label": "Entity: InvitacionColectivo", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_usecases_colectivo", "label": "Casos de uso Colectivo CU-H01..CU-H09", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.4", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_flujo_incorporacion_miembro", "label": "Flujo: incorporacion de nuevo miembro", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.5", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_modulo_lista_compra", "label": "Modulo Lista de la Compra", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_listacompra", "label": "Entity: ListaCompra", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_itemcompra", "label": "Entity: ItemCompra", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_estados_lista", "label": "Estados de una Lista (activa/completada/archivada)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.2", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_modo_ir_de_compras", "label": "Modo Ir de Compras (UX dedicada supermercado)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.4", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_usecases_lista_compra", "label": "Casos de uso Lista Compra CU-C01..CU-C12", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.5", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_recomendaciones_items_frecuentes", "label": "Recomendaciones items frecuentes (sin IA, frecuencia DB)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.6", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_flujo_sesion_compra", "label": "Flujo: Sesion de Compra", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.7", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_modulo_tareas", "label": "Modulo Tareas", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_listatareas", "label": "Entity: ListaTareas", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_tarea", "label": "Entity: Tarea", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_rationale_tareas_simples", "label": "Rationale: Tareas sin fechas/prioridades/subtareas en MVP", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_usecases_tareas", "label": "Casos de uso Tareas CU-T01..CU-T09", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.3", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_modulo_notas", "label": "Modulo Notas", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 5", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_nota", "label": "Entity: Nota", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 5.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_rationale_notas_scope_reducido", "label": "Rationale: notas scope reducido (sin imagen/audio/version)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 5.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_usecases_notas", "label": "Casos de uso Notas CU-N01..CU-N09", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 5.3", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_modulo_auth_usuarios", "label": "Modulo Autenticacion y Usuarios", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 6", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_entity_user", "label": "Entity: User (display_name, avatar_type, language)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 6.2", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_settings_screen", "label": "Pantalla /settings (display name, avatar, language)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 6.3", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_modulo_sync_offline", "label": "Modulo Sincronizacion y Offline", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 7", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_estrategia_offline_first", "label": "Estrategia Offline-First (IndexedDB/SQLite)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 7.1", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_sync_realtime_ws", "label": "Sincronizacion WebSocket + presencia + SSE/polling", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 7.2", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_modulo_busqueda", "label": "Modulo Busqueda", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 8", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_reglas_globales", "label": "Reglas de Negocio Globales RN-01..RN-12", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 9", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_no_funcionales", "label": "Requerimientos No Funcionales (<1s sync, offline, TLS)", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 10", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "analisisfuncional_pantallas_mvp", "label": "Pantallas Principales del MVP", "file_type": "document", "source_file": "analysis/analisis-funcional.md", "source_location": "Section 12", "source_url": null, "captured_at": null, "author": null, "contributor": null}], "edges": [{"source": "claudemd_roles_admin_member_guest", "target": "analisisfuncional_rationale_permisos_simples", "relation": "rationale_for", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.2", "weight": 1.0}, {"source": "analisisfuncional_modulo_lista_compra", "target": "analisisfuncional_entity_listacompra", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.1", "weight": 1.0}, {"source": "analisisfuncional_modulo_lista_compra", "target": "analisisfuncional_entity_itemcompra", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.1", "weight": 1.0}, {"source": "analisisfuncional_entity_listacompra", "target": "analisisfuncional_entity_itemcompra", "relation": "shares_data_with", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.1", "weight": 1.0}, {"source": "analisisfuncional_modulo_lista_compra", "target": "analisisfuncional_modo_ir_de_compras", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.4", "weight": 1.0}, {"source": "analisisfuncional_modulo_lista_compra", "target": "analisisfuncional_usecases_lista_compra", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.5", "weight": 1.0}, {"source": "analisisfuncional_modulo_lista_compra", "target": "analisisfuncional_flujo_sesion_compra", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.7", "weight": 1.0}, {"source": "analisisfuncional_modulo_lista_compra", "target": "analisisfuncional_recomendaciones_items_frecuentes", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 3.6", "weight": 1.0}, {"source": "analisisfuncional_modulo_colectivo_miembros", "target": "analisisfuncional_entity_colectivo", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "weight": 1.0}, {"source": "analisisfuncional_modulo_colectivo_miembros", "target": "analisisfuncional_entity_miembrocolectivo", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "weight": 1.0}, {"source": "analisisfuncional_modulo_colectivo_miembros", "target": "analisisfuncional_entity_invitacioncolectivo", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "weight": 1.0}, {"source": "analisisfuncional_entity_colectivo", "target": "analisisfuncional_entity_miembrocolectivo", "relation": "shares_data_with", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "weight": 1.0}, {"source": "analisisfuncional_entity_colectivo", "target": "analisisfuncional_entity_invitacioncolectivo", "relation": "shares_data_with", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.3", "weight": 1.0}, {"source": "analisisfuncional_flujo_incorporacion_miembro", "target": "analisisfuncional_entity_invitacioncolectivo", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 2.5", "weight": 1.0}, {"source": "analisisfuncional_modulo_tareas", "target": "analisisfuncional_entity_listatareas", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.1", "weight": 1.0}, {"source": "analisisfuncional_modulo_tareas", "target": "analisisfuncional_entity_tarea", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.1", "weight": 1.0}, {"source": "analisisfuncional_entity_listatareas", "target": "analisisfuncional_entity_tarea", "relation": "shares_data_with", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.1", "weight": 1.0}, {"source": "analisisfuncional_rationale_tareas_simples", "target": "analisisfuncional_modulo_tareas", "relation": "rationale_for", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 4.1", "weight": 1.0}, {"source": "analisisfuncional_modulo_notas", "target": "analisisfuncional_entity_nota", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 5.1", "weight": 1.0}, {"source": "analisisfuncional_rationale_notas_scope_reducido", "target": "analisisfuncional_entity_nota", "relation": "rationale_for", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 5.1", "weight": 1.0}, {"source": "analisisfuncional_modulo_auth_usuarios", "target": "analisisfuncional_entity_user", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 6.2", "weight": 1.0}, {"source": "analisisfuncional_modulo_auth_usuarios", "target": "analisisfuncional_settings_screen", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 6.3", "weight": 1.0}, {"source": "analisisfuncional_modulo_sync_offline", "target": "analisisfuncional_estrategia_offline_first", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 7.1", "weight": 1.0}, {"source": "analisisfuncional_modulo_sync_offline", "target": "analisisfuncional_sync_realtime_ws", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 7.2", "weight": 1.0}, {"source": "analisisfuncional_pantallas_mvp", "target": "codehtml_grocery_list_mobile", "relation": "references", "confidence": "INFERRED", "confidence_score": 0.7, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 12", "weight": 1.0}, {"source": "analisisfuncional_pantallas_mvp", "target": "codehtml_shopping_session_mobile", "relation": "references", "confidence": "INFERRED", "confidence_score": 0.7, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 12", "weight": 1.0}, {"source": "analisisfuncional_pantallas_mvp", "target": "codehtml_tasks_mobile", "relation": "references", "confidence": "INFERRED", "confidence_score": 0.7, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 12", "weight": 1.0}, {"source": "analisisfuncional_pantallas_mvp", "target": "codehtml_notes_view", "relation": "references", "confidence": "INFERRED", "confidence_score": 0.7, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 12", "weight": 1.0}, {"source": "analisisfuncional_pantallas_mvp", "target": "codehtml_search_mobile", "relation": "references", "confidence": "INFERRED", "confidence_score": 0.7, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 12", "weight": 1.0}, {"source": "analisisfuncional_reglas_globales", "target": "analisisfuncional_concepto_colectivo", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 9", "weight": 1.0}, {"source": "analisisfuncional_no_funcionales", "target": "analisisfuncional_sync_realtime_ws", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "analysis/analisis-funcional.md", "source_location": "Section 10", "weight": 1.0}], "hyperedges": []}