Skip to content

Persist typed vector graph edges - #5

Merged
SWORDIntel merged 5 commits into
mainfrom
agent/qihse-persistent-edges-v2
Jul 14, 2026
Merged

Persist typed vector graph edges#5
SWORDIntel merged 5 commits into
mainfrom
agent/qihse-persistent-edges-v2

Conversation

@SWORDIntel

Copy link
Copy Markdown
Owner

What changed

  • persist typed relation edges in a versioned, checksummed CSR container section separate from HNSW
  • replay add, replace, and remove mutations through the WAL and checkpoint them atomically
  • validate endpoints, make duplicate additions idempotent, and add batch, typed-neighbor, metadata, replacement, and removal APIs
  • preserve the existing add_edge and get_edges ABI and load older containers without an edge section as empty

Why

The prior explicit-edge API reported successful writes while keeping relationships only in process memory, so edges disappeared after reopen and could not support qlearn context graph traversal.

Validation

  • make test-edge-persistence QIHSE_ENABLE_AVX512=0 QIHSE_ENABLE_AMX=0 QIHSE_ENABLE_AVX_VNNI=0
  • python3 tests/test_python_edges.py -v
  • full lib-ctypes build
  • exported-symbol inspection for legacy and additive edge APIs

The pre-existing general persistence test currently does not compile because its test source dereferences an opaque database handle and references a removed stats field; this branch does not modify that unrelated test.

SWORDIntel added 5 commits July 13, 2026 23:17
Document the launcher, enable strict-C99 PQC declarations, and stop tracking generated Python and WAL artifacts.
Select optional vector instruction sets from the host CPU flags so compiler support cannot produce illegal instructions at runtime. Keep machine-readable callers clean by routing the hardware profile to stderr and removing temporary vector DB diagnostics.
@SWORDIntel
SWORDIntel merged commit a92c828 into main Jul 14, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant