6ed00fcdcebb5176e7eb5c549d5f4657a8419d69
Issue 0008 — capa de datos para el Inspector editable:
- struct MetadataField {key, value_str, is_string} — pares de la
columna metadata. is_string distingue '"foo"' de literal (number,
bool). EntityRecord agrupa los campos editables (id, name, type_ref,
description, status, tags[], metadata[]).
- entity_load_full: SELECT name/type/desc/status/tags/metadata, parsea
JSON plano con un parser propio (evita arrastrar libs). Soporta
escapes basicos (\n \t \" \\\\ etc.; \uXXXX → '?').
- entity_update: un solo UPDATE con tags+metadata serializados a JSON.
Toca updated_at.
- entity_list_distinct_tags: usa json_each (SQLITE_ENABLE_JSON1) para
enumerar tags distintas — autocomplete del Inspector.
- Parser JSON plano: parse_string_array, parse_flat_object. Solo
objetos planos (sin nested objects/arrays excepto consumirlos como
literal). Suficiente para el caso del Inspector.
- Writer JSON: build_string_array, build_flat_object con escape
apropiado. Si is_string=false pero el valor no es literal valido,
se re-emite como string para no producir JSON invalido.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
OSINT graph viewer — agnostic GPU-accelerated graph explorer for any operations.db
Languages
C++
64.5%
Python
32.1%
Go
1.6%
Shell
1.5%
CMake
0.3%