Pier-Jean Malandrino
bd73c4bbfd
chore(lint): fix ruff violations on Neo4j files
...
Pre-existing ruff violations surfaced by CI on PR #188 :
- TC001: move runtime `Neo4jDriver` imports into `TYPE_CHECKING`
blocks (queries.py, chunk_writer.py, schema.py, tree_reader.py,
tree_writer.py)
- SIM117: combine nested `async with` in chunk_writer.write_chunks
and tree_writer.write_document
- SIM105: replace try/except/pass with `contextlib.suppress` in
tree_writer._element_props
- F401: remove unused `Neo4jDriver` import in main._init_neo4j
- RUF100: remove unused `# noqa: E402` in tests/neo4j/conftest.py
- I001: sort imports in tests/neo4j/test_chunk_writer.py and
test_tree_writer.py
Zero behaviour change. `ruff check .` now passes cleanly.
2026-04-29 14:00:00 +02:00
Pier-Jean Malandrino
712fc3f1cd
feat(neo4j): Day 1 — compose service, driver, schema bootstrap
...
Add Neo4j as an optional graph-native storage layer (ingestion profile).
Introduces infra/neo4j with a singleton async driver wrapper and an
idempotent bootstrap of constraints + indexes, wired into the FastAPI
lifespan. Integration tests skip when no live Neo4j is reachable.
Refs #186
2026-04-29 14:00:00 +02:00