feat: M1 determinism fixes for gossip
Refs #1 - F1: canonical fingerprints (git identity by remote URL, log by basename, obsidian by relative vault path) so identical facts get identical ids across machines - F2: node_id (persisted in settings) + Hybrid Logical Clock in all observation "when" columns; removed time.Now() fact-time fallbacks - F3: stable TF-IDF tie-break sort (score desc, term asc) - F4: observations carry (node_id, hcl) locator; dedup ordered by hcl
This commit is contained in:
@@ -18,7 +18,10 @@ CREATE TABLE IF NOT EXISTS observations (
|
||||
confidence REAL DEFAULT 0.5,
|
||||
ingester_version TEXT DEFAULT '1',
|
||||
trigger TEXT,
|
||||
provenance TEXT DEFAULT '{}'
|
||||
provenance TEXT DEFAULT '{}',
|
||||
node_id TEXT NOT NULL DEFAULT '',
|
||||
hcl INTEGER,
|
||||
received_at TEXT
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_obs_fingerprint ON observations(fingerprint);
|
||||
|
||||
Reference in New Issue
Block a user