v0.4.1
Fixed — codesteward-graph
- GraphQLite backend: SQLite threading error —
graphqlite.connect()now passes
check_same_thread=Falseso thatasyncio.to_thread()can execute queries in worker
threads without raisingsqlite3.ProgrammingError - GraphQLite backend: node properties not persisted —
write_nodesreplaced
SET node += n(map-merge syntax unsupported by GraphQLite) with explicit
ON CREATE SET/ON MATCH SETfor each field - GraphQLite backend: edges not persisted —
write_edgesrewritten to work around
two GraphQLite Cypher-to-SQL translation bugs: (1) UNWIND variable references in MATCH
property patterns match all nodes instead of filtering, and (2)$paramreferences in
relationship properties are silently discarded. Edges are now written individually with
Cypher literal values; target nodes are batch-MERGEd in a separate step - GraphQLite backend:
count_nodesalways returned 0 — replacedMATCHinline
property filter with aWHEREclause using literal values, avoiding the parameter
binding issue - GraphQLite backend:
write_augment_edgenot persisting edge properties — same
workaround aswrite_edges: target node MERGE separated from edge CREATE, relationship
properties written as literals
Known issues — GraphQLite backend
These are upstream bugs in the graphqlite package (≤ 0.4.3) that remain unresolved:
- Target node properties (
to_name,to_file,to_node_type) return NULL in
referential query results — the(src)-[r]->(tgt)pattern match finds edges but
tgt.*properties are inaccessible dependencynamed query fails withSQL prepare failed: no such column— the
RETURN DISTINCT+DEPENDS_ONedge type triggers a Cypher-to-SQL translation error- Node count mismatch between
graph_rebuildreported total andcount_nodesresult —
external reference nodes created during edge writing inflate the DB count beyond the
parser-reported total
Docker image
docker pull ghcr.io/codesteward/codesteward-graph:0.4.1Full setup guide: AGENT_SETUP.md