| name: | guh-vault | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| description: | Use when the user asks ChatGPT to search, recall, retrieve, compare, relate, or save knowledge from their GUH Knowledge Vault external memory, including past ChatGPT conversations, checkpoints, structured project knowledge, decisions, reusable rules, and imported history. | ||||||||||
| triggers: |
|
Use this skill for the user's external cross-chat memory.
Canonical path:
ChatGPT -> authenticated Val Town connector -> val-scoped bridge queue -> vault_bridge.ts -> Turso/libSQL -> FTS5/BM25 + structured knowledge -> result
Val: cleitoncosta/guh-knowledge-vault
Bridge: vault_bridge.ts
Control table: vault_bridge_requests in the val-scoped SQLite database.
TURSO_AUTH_TOKEN.Literal FTS5/BM25 search.
Payload: {"query":"terms","limit":6}
Returns conversations, checkpoints, and knowledge.
Concept-expanded retrieval without calling an AI API from the backend.
Payload example:
{"query":"repetir operação depois de perder resposta","variants":["timeout retry","idempotencia reconciliacao","UNKNOWN_EXTERNAL_STATE"],"projects":[],"kinds":[],"limit":8}
The conversational ChatGPT itself creates a small set of grounded variants. The bridge executes deterministic FTS5/BM25 searches and fuses them with reciprocal-rank fusion (fts5_bm25_rrf).
Rules:
query.Payload: {"id":"conversation_id","maxMessages":40,"maxChars":20000}
Fetch only after search when snippets are insufficient.
Payload: {"id":"knowledge_id"}
Returns the structured item, tags, entities, evidence state, source reference, and one-hop relations.
Payload: {"type":"knowledge|checkpoint|conversation|entity|project|artifact|concept","id":"safe_id","limit":30}
Returns one-hop graph-lite relations in either direction.
Payload: {}
Returns conversations, messages, checkpoints, structured knowledge, relations, FTS counts, provider, and bridge version.
Use for project state/checkpoints.
Fields: id?, project, title, summary, decisions, openGaps, nextAction, sourceConversationId?, evidenceState.
If no ID is supplied, it is derived deterministically from the bridge request ID so stale retry remains idempotent.
Use for reusable structured knowledge such as rule, decision, lesson, architecture, requirement, risk, finding, assumption, or epistemic control.
Fields:
id?projectkindtitlebodytags[]entities[]sourceType? + sourceId? (must be paired)evidenceStaterelations[] with relation, targetType, targetId, optional weight, optional provenanceIf no ID is supplied, it is deterministic from the request ID. Re-upserting the same ID replaces its FTS row and outgoing relation set instead of duplicating it.
PENDING row into the val-scoped vault_bridge_requests table with an allowed action and JSON payload.vault_bridge.ts once via the authenticated Val Town connector.PASS = operation completed; BLOCKED/FAIL must be reported as-is.search/search_hybrid -> inspect snippets -> get_conversation/get_knowledge only for strongest hits -> related only if relationships matter.source: personal).search, get_conversation, stats, checkpoint_upsert: PASS.knowledge_upsert, get_knowledge, related: PASS in V0.5 tests.search_hybrid with FTS5/BM25 + RRF: PASS in V0.5 tests.V0.7 ingestion state:
conversations*.json;sourceFingerprint + selected limit; a different file or 25/50/100/.../complete scope is blocked until re-analyzed;UNKNOWN_EXTERNAL_STATE;Major ingestion boundary still open: the user's real official ChatGPT export has not yet been validated. Preserve ZIP_SYNTHETIC_VERIFIED != REAL_CHATGPT_EXPORT_VERIFIED.