Repository navigation
Releases: Flux-Frontiers/connectome_kg
Release list
ConnectomeKG v0.8.1
Release Notes -- v0.8.1
Released: 2026-09-29
This is a maintenance release. ConnectomeKG now uses the shared query validators from kgmodule-utils instead of its own copies, and the fleet dependency floors are raised to the latest releases. No commands, options or graph contents change.
What changed
Shared query validation. The local bounded_int and require_query helpers are removed. They were the originals that kgmodule-utils lifted and hardened in 0.25.0, so the two copies had started to diverge. query() and pack() now validate through the base class, still before the missing-index check, and the 500-character query cap is set as a class attribute. The MAX_K and MAX_MAX_NODES constants, which only those checks used, are gone with them.
Newer dependency floors. kgmodule-utils is now >=0.26.0 and quiltwright is >=0.16.0, and the lock file is refreshed.
Upgrading
Nothing to do. No graph needs a rebuild: the extractor is unchanged, and the FAFB, BANC and MCNS graphs built with 0.8.0 stay valid. Code that imported bounded_int, require_query, MAX_K or MAX_MAX_NODES from connectomekg.validation should import the validators from kg_utils.validation instead.
Full changelog: CHANGELOG.md
ConnectomeKG v0.8.0
Release Notes -- v0.8.0
Released: 2026-09-23
ConnectomeKG now builds three connectomes instead of one. BANC v888 (a female brain with its ventral nerve cord, 158,262 neurons) and the FlyEM Male CNS v1.0 (166,700 neurons) build from their Codex exports beside FlyWire FAFB v783. Each goes into its own graph and answers the same path, cone and influence queries. The 3-D viewer can switch between the three without restarting.
What changed
Two new connectomes. Codex exports BANC and MCNS as a single neuron-attributes table, a different layout from FAFB's. The reader recognizes the layout from the table's header, so no classification file is needed. It also normalizes the three releases so they can be compared:
- Super classes take FAFB's spelling.
- Pairs below 5 synapses are dropped, matching FAFB's filtered table.
- A connection with no transmitter takes the transmitter of its presynaptic neuron.
- Histamine counts as inhibitory.
- The nerve cord's neuropils, nerves and neck connective have names and brain regions.
connkg verify checks each download against its own manifest. Both releases are CC BY 4.0. docs/DOWNLOAD.md covers the download and what the reader normalizes.
Soma positions for BANC and MCNS. Codex exports no coordinates for either release, so every neuron would have had no position and the 3-D views would have drawn nothing. Both projects publish soma positions separately. The reader finds that table in the download directory by its columns and scales MCNS's voxel coordinates to nanometers. 88.7% of BANC's neurons and 83.8% of MCNS's get a position. The table is optional: without it, the build is unchanged.
The viewer switches datasets, views and backgrounds. connkg viz3d has two new boxes at the top of its control rail. Dataset lists every connectome built under --root. View switches between the circuit and flow views. When you switch dataset, the viewer keeps the specs in the Show box if they exist in the new connectome, and otherwise goes back to its opening scene. A Background box in the Display tab offers gray, charcoal, black, navy and light presets, or any color. The same choice is available on the command line as --background for viz3d and quilt. Saved images, quilts and casts use the chosen background.
Marks keep their size on a larger connectome. Neuropil spheres and flow tubes were sized for the FAFB brain. BANC's brain and nerve cord stand 2.3 times as tall, so the camera zoomed out and its spheres drew at under half size. Sizes now scale with each dataset's extent compared to FAFB's: 1.0 on FAFB, 2.32 on BANC and 1.12 on MCNS. FAFB renders are unchanged.
A shorter README, with more in the docs site. The README is now install, a quickstart that needs no download, the three datasets, and examples grouped by task. The node and edge reference moved to a new "What is in the graph" page. The MCP tool list moved to the command reference.
Upgrading
- FAFB graph: no rebuild needed. Its build is unchanged, and its 0.8.0 snapshot matches 0.7.1.
- BANC and MCNS: download the Codex export and, for the 3-D views, the soma table.
docs/DOWNLOAD.mdnames both. Then runconnkg --dataset banc888 build --data-dir <dir>, or the same withmcns1. --datasetis now required on every command once a root holds more than one graph. It is a global option, so it goes before the command.- kgmodule-utils: the floor is now 0.24.0. With it,
build --no-index --wiperemoves a stale vector index instead of keeping it.
Full changelog: CHANGELOG.md
ConnectomeKG v0.7.1
Release Notes -- v0.7.1
Released: 2026-09-22
A visual bug in the 3-D views, shipped in 0.7.0 and fixed the same day: a floored render of a circuit drawn as lines could fail to compile a shader and log a VTK error.
What changed
Line skeletons no longer draw a stray point at every traced point. 0.7.0's rewrite of the skeleton mesh built it with pv.PolyData(points), whose constructor adds a vertex cell for every point passed to it. The lines were then set on top, so every skeleton rendered its points as well as its lines. Points carry no normals, so with --floor the shadow pass took the unlit branch and failed to compile the shader for them -- VTK logged Could not set shader program on the first floored render of a scene. The mesh is built empty and its points and lines assigned separately again, which is how it worked before 0.7.0 and adds no vertex cells.
Only line-drawn skeletons were affected. --tubes renders a surface with no line or vertex cells, so every quilt in the docs and any render that pairs --floor with --tubes was never wrong.
Upgrading
Nothing to do. No cache format change, no new command, no new option. If you built or rebuilt against 0.7.0, this replaces the affected code path; no rebuild of the skeleton cache is needed.
Full changelog: CHANGELOG.md
ConnectomeKG v0.7.0
Release Notes -- v0.7.0
Released: 2026-09-22
Traced neurons stop looking like heaps of blocks. The 3-D viewer opens on a circuit instead of refusing to start.
What changed
Neurons are drawn as continuous, tapering tubes. The circuit view built its mesh from one line per traced edge, each carrying its own pair of points, so --tubes extruded a separate cylinder per edge: consecutive cylinders met at an angle with nothing joining them, and a neuron came out a heap of faceted stubs. It now walks the skeleton's parent links and draws each unbranched run between branch points as a single polyline, which tubes into one continuous surface with mitred joins. That costs less, because a run's interior points are shared rather than repeated once per edge -- 2.8 M cells against 3.4 M on circuit:compass -- and the saving pays for doubling the tube from 6 sides to 12.
A tube's radius is the radius FlyWire traced at that point, rather than one width for every neuron. It is clamped at both ends. The floor is the width skeletons were drawn at before, because FAFB's median traced radius is 222 nm, a thread at whole-brain framing: the old constant was doing visibility work, and keeping it as a floor means nothing draws thinner than it used to. The ceiling is the width of the sphere that marks a soma, so no neurite is drawn fatter than its own cell body -- without it the giant fiber, the thickest axon in the brain, ballooned to thirteen times the floor and swallowed the arbor around it.
Turning the taper on needs one command. The traced radius was being parsed and then thrown away, so the cache never held it. Cache format 2 stores it, and until a cache is rebuilt its radii read back as zeros and skeletons draw at the old constant width -- which is what they did before, so nothing breaks in the meantime:
connkg skeletons --data-dir fafb_v783 -j 12That is about three minutes on twelve cores. It re-reads the SWC download once and rewrites the somas as well, so soma coverage is unaffected.
connkg viz3d launches without a SPEC. It used to refuse, with --view circuit needs at least one SPEC -- a guard shared with connkg quilt, where it is right, since quilt renders a file and exits and an empty circuit spends a 4K render on nothing. The viewer is interactive and has the Show box, so it now opens on circuit:compass: 151 neurons across five cell types, central in the brain and small enough to read as a circuit. Any SPEC replaces it. On a connectome whose cell types that circuit does not name, the default resolves to nothing and the viewer opens on the brain alone rather than captioning a scene it is not drawing.
Upgrading
Nothing is required. A graph built by 0.6.0 works unchanged, and a skeleton cache written by it still loads.
To see the taper, re-run connkg skeletons as above; a format-1 cache draws exactly as it did before until you do. If you call connectomekg.scene from Python, _segments_to_polydata is gone -- connectomekg.skeletons.polylines replaces segments as the drawing path, and segments itself is unchanged for anything that measures rather than draws.
Full changelog: CHANGELOG.md
ConnectomeKG v0.6.0
Release Notes -- v0.6.0
Released: 2026-09-21
The 3-D viewer becomes a workspace that can save what it shows, connkg stats describes a connectome instead of a code graph, eight commands stop advertising options they never used, and every command finally has a reference page.
What changed
The viewer is a workspace. The toolbar and two docks are gone. A control rail down the left holds the Show box, an Explore tab that lists every documented spec, answer and named circuit as a button, and a Display tab for the overlays and detail settings; the scene sits beside it with a collapsible neuron inspector below. Two lines above the scene say what is drawn and what it cost: circuit and context neurons, surfaces and skeletons, then visible meshes, points and cells after glyph and tube expansion, and the seconds the composition took. That last number is the one to watch when a scene turns sluggish, and it was invisible before. The Show box now takes quotes, so "label:giant fib" LC4 draws both and a regex keeps its backslashes; the cloud toggle has an automatic third state that survives other edits; Reset view reframes without the floor fooling it; and the slow steps show a wait cursor and report progress in the status bar instead of freezing silently.
Save scene. A button above Cast writes the current view to disk without a Looking Glass in the loop: a 4K still framed and lit the way connkg quilt --still renders, or the quilt Cast would have sent. Both re-compose the scene off-screen from the live specs, settings and camera, so the file matches the viewport rather than being a screen grab. Names follow the CLI's convention, with quiltwright's spec suffix appended to the stem you choose.
Named circuits. circuit:compass, circuit:optic-flow, circuit:mushroom-body and circuit:clock expand to the cell types worth drawing together, and go anywhere a spec goes: quilt, viz3d, path, cone, influence, link.
Rendering fixes. --floor no longer corrupts skeletons drawn as lines, neuropil surfaces no longer vanish under the floor, rebuilding a floored scene no longer shades the new skeletons through the previous shadow pass, a cast is framed at the viewport's view angle rather than VTK's default, and the viewer can no longer start a second composition on top of one in progress. With a floor the context cloud is now on by default, since it is what throws the brain's shadow.
stats describes a connectome. connkg stats, the graph_stats MCP tool and snapshot save used to report module_count, class_count, function_count, method_count and docstring_coverage, all zero on a brain. They now lead with the dataset and its figures: dataset_id, dataset_version, n_neurons, n_cell_types, n_neuropils, n_pairs and n_synapses, followed by the SDK's totals and the counts by kind and relation. The names are the ones snapshots already used, so a snapshot keeps one copy of each figure.
A tidier CLI. The options that tell build what to extract had been attached to every command that opens a graph, so connkg stats --help offered --seed and --source and accepted them silently. Only build takes them now. cone keeps --min-syn as its own threshold, and path --render and cone --render take the same --data-dir as quilt and viz3d, so a rendered answer falls back to the skeleton download for neurons the cache lacks.
Documentation. A command reference covers every connkg command and connkg-mcp with options, defaults and an example each; a querying page explains the spec grammar, the answer forms and each query command; the viewer section on the rendering page matches the new layout, with screenshots. A test now fails when a command's name appears nowhere in the docs or a page is missing from the nav, which is how 0.5.0 shipped three features documented only in the README.
Housekeeping. The dependency floors follow the fleet's 2026-09-20 releases: kgmodule-utils>=0.23.0, quiltwright>=0.15.0, ruff>=0.15. The kg Poetry group of never-imported tools is gone. Spellings are American throughout, which renames Dataset.licence to Dataset.license. The __enter__ override that worked around an SDK typing gap is removed now that the SDK returns Self.
Upgrading
No rebuild is needed; a graph built by 0.5.0 works as it is. The one thing a build gains is the license key on the dataset node, and the analysis reads the old licence key too, so it reports the same either way.
If you scripted against connkg stats or the graph_stats tool, the code-graph keys are gone and the new keys arrive; total_nodes, total_edges, node_counts and edge_counts are unchanged. If you passed --source, --data-dir, --seed or the other extraction flags to a read command, drop them; cone --min-syn still works, and path/cone now take --data-dir only for --render. Python callers reading Dataset.licence should read Dataset.license. With --floor, pass --no-cloud if you relied on the cloud being off.
Full changelog: CHANGELOG.md
ConnectomeKG v0.5.0
Release Notes -- v0.5.0
Released: 2026-09-20
The 3-D viewer becomes usable, a query becomes something you can draw, and the papers behind the graph become searchable beside it.
What changed
connkg viz3d could not open at all in 0.4.0. It died with ZeroDivisionError: division by zero before showing a window, on every invocation. BrainSceneWindow aimed the camera during construction, but framing divides by the render window's height, and a QtInteractor reports (0, 0) until it is shown -- which launch() only did afterwards. The window sizes its render window before composing now, and --width/--height reach it. A second way it could not be built was found by CI on the release branch and fixed here too: with PYVISTA_OFF_SCREEN set, a QtInteractor has no interactor at all, and enabling picking on it raised in the constructor. The viewer had one test, an import, which is why nothing caught this; it now has six that build the window offscreen, and five fail without the fix.
Point at a neuron and press P. A panel names it, gives the description the graph stores for it, and lists its strongest partner types each way. A whole cell type shares one actor, so VTK can report which type was hit but never which neuron -- and that is the question a click asks. connectomekg.picking carries identity beside the geometry instead: every drawn point with the neuron that owns it, resolved by nearest-point lookup, 4.4 microseconds a pick and indifferent to tubes, stride, or whether VTK propagates point data through tube(). Picking is bound to the key rather than a left click, because a left click is where VTK begins a rotation.
The viewer explores without restarting. A Show box takes the same specs the command does and redraws in place; a control panel toggles the whole-brain cloud, the neuropil surfaces, the floor and tubes, sets the skeleton stride, and sets a minimum synapse count -- which is what makes a multi-hop cone usable interactively, since cone:LC4>2 is 19,866 neurons at the default threshold and 104 at 200. A toggle keeps the camera, since it changes what is drawn rather than what is being looked at.
A query is now a thing you can draw. path:LPLC2>DNp01, cone:LC4, cone:DNp01>3 and cone:DNp01<2 are strings that go anywhere a spec goes: the CLI, --render, the viewer's Show box. connkg path --render draws a path as its hops in traced skeletons, one colour per hop running dark to bright along the route; connkg cone --render draws a cone as shells, dark at the seed and bright outward. connkg specs prints every form with examples, from the same list that feeds the README and the viewer's panel.
Effective connectivity: connkg influence, and an influence MCP tool. How much one population drives another, hop by hop and signed, as a share of the receiving neuron's input synapses averaged over those neurons -- so 0.15 reads as "the average target gets 15% of its input from the source". A negative value is net inhibition, and two routes of opposite sign cancel, which is what this answers that counting paths does not. It is anchored to an identity that holds by construction: unsigned, at hop 1, the value is the source's share of the target's input synapses, and LC4 onto DNp01 measures +0.1482 both ways on FAFB v783. Computed by propagating a sparse vector rather than raising the matrix to a power -- the matrix is 139,255 square, so one dense power would be 1.5e10 entries, while three hops over 3.7M edges take 0.02 seconds.
The scene cap is 5,000, up from 500. It was 500 because drawing 500 neurons meant 500 SWC parses out of a 31 GB download; 0.4.0's skeleton cache made that a filtered read of one Parquet directory. The stride is chosen by neuron count now rather than fixed at 4, so a scene holds near SCENE_POINT_BUDGET points whether it draws a hundred neurons or five thousand. Measured on v783: 4,000 neurons compose in 4.5 seconds and render in 0.4. cone:LC4 is 489 neurons and cone:DNp01<1 is 663 -- both refused before, both drawn now.
The renders stopped being flat. A line has no surface, so no lighting can shade it; the documentation images are drawn as tubes now, standing on a lit floor. Every scene is lit by a three-point rig replacing PyVista's five default lights, whose flaw is not that they follow the camera but that all five sit on the view axis, so every surface is lit head-on. Measured on the LPLC2-DNp01 scene: luminance 93.8 and saturation 17.5 against the default's 92.0 and 16.3. Fixing the lights in the brain's frame instead was tried and measured worse, and those numbers are recorded in the code so nobody repeats it. --floor used to replace the lighting with a single narrow spotlight, which left everything the cone missed dark -- the surfaces and the cloud both vanished; the shadow-casting light sits on top of the rig now.
The source papers, as a searchable corpus. The graph says LC4 makes 1,401 synapses onto DNp01. It does not say how the synapses were detected, how the cell types were assigned, or what a neurotransmitter prediction is worth. Eight papers, about a million characters of body text, indexed by DocKG in papers/: the two FlyWire papers, Eckstein on neurotransmitter classification, Matsliah on the optic lobe, Namiki on descending neurons, Morimoto on looming, Scheffer on hemibrain, Shiu on the brain model. papers/extract.py and papers/README.md are tracked; the PDFs and the text derived from them are not, since the publishers' files are theirs to distribute.
Upgrading
pip install -U "connectome-kg[viz3d]". An existing graph keeps working and every existing command behaves as before.
The 3-D viewer works for the first time:
connkg --root . --dataset fafb783 viz3d LC4 DNp01
connkg --root . --dataset fafb783 viz3d "path:LPLC2>DNp01"
connkg --root . --dataset fafb783 specs
connkg --root . --dataset fafb783 influence --from LC4 --to DNp01viz3d and --render need the skeleton cache that connkg skeletons writes; 0.4.0's upgrade note covers it.
To search the papers, put their PDFs in papers/ -- papers/README.md lists the eight and their DOIs -- then poetry run python papers/extract.py && dockg build --repo papers.
Full changelog: CHANGELOG.md
ConnectomeKG v0.4.0
Release Notes -- v0.4.0
Released: 2026-09-19
The brain gets its anatomy. This release gives every neuron its cell body, draws the neuropil surfaces around a circuit, links any query to Neuroglancer, and caches the two things a query used to pay for on every run.
What changed
Every neuron knows where its cell body is. A neuron's x/y/z has always been FlyWire's marked point, an anchor that can sit tens of microns from the soma. connkg skeletons --data-dir fafb_v783 -j 12 reads the skeleton download once and writes each neuron's real soma into the graph as soma_x, soma_y, soma_z and has_soma, alongside the marked point rather than over it. On FAFB v783 that is 134,675 of 139,255 neurons, 96.7%; the remaining 3.3% have no soma row in their skeleton file and fall back to its root point. The whole-brain context cloud in the 3-D views draws somas from then on, and so can any query.
The same pass caches the skeletons. It writes .connectomekg/skeletons/, holding every neuron's skeleton simplified at --step (4 by default): 212,351,918 points in 2.5 GB, against the download's 31 GB. The 3-D circuit view reads it in place of the download, so rendering a circuit no longer needs the 31 GB at all, and a cached render is faster than parsing SWC.
That pass reads in parallel. Parsing SWC is pure Python and holds the GIL, so it pegged one core and left the rest idle. -j N splits the neurons into contiguous ranges, one worker process and one cache shard each. On an 18-core laptop the FAFB v783 pass goes from 19 minutes 30 seconds to 2 minutes 39 seconds, a 7.4x speed-up, for a cache verified identical to the single-core one.
Neuropil surfaces in the 3-D views. connkg meshes fetches the 78 FAFB v783 neuropil surfaces from FlyWire's public bucket, about 1 MB with no sign-in. connkg quilt and connkg viz3d then draw them: pale shells in the circuit view, region-tinted in the flow view. These are the surfaces of the volumes FlyWire assigned v783 synapses to neuropils with, so a mesh encloses what the graph's IN_NEUROPIL edges count. With the surfaces drawn the context cloud is redundant and turns off; --cloud draws both.
Neuroglancer links for any spec. connkg link LC4 DNp01 prints a URL that opens those neurons as meshes in the public Neuroglancer, with no login and one colour per spec. The same link comes from the neuroglancer_link MCP tool and from ConnectomeKG.neuroglancer_link(). The URL is the only thing on stdout, so connkg link LC4 | pbcopy works.
Path and cone queries stop reloading the brain. connkg path and connkg cone used to read all 3.7 million synapse edges out of SQLite on every invocation, with a JSON parse each. They now cache the loaded matrix beside the graph, 14 MB, and connkg path --from LPLC2 --to DNp01 goes from 8.8 seconds to 1.8. The cache is keyed on the edge table's shape and the graph file, so an edited or rebuilt graph is never answered from a stale one.
The vector index is built by default. The documented build no longer passes --no-index, so a fresh install has connkg query and the query_connectome and pack_connectome MCP tools without a second step. On v783 the index is 16,861 vectors, 25 seconds and 29 MB. connkg build now checks for the semantic extra before it starts rather than failing after the graph is written, and --no-index warns when it leaves an older index in place.
Provenance for the long passes. connkg skeletons writes reports/skeletons_<timestamp>.md the way connkg build has always written its own: versions and git commit, options, host, what was read, what was written, timings and peak memory, with a failed pass recorded as FAILED. Graph snapshots gained a coverage.soma metric, since the back-fill writes metadata and never a node or an edge, and without it a snapshot could not tell a graph that knows where its cell bodies are from one that does not.
Upgrading
pip install -U connectome-kg. An existing graph keeps working and every existing command behaves as before.
To get what this release adds, on a graph you have already built:
connkg --root . --dataset fafb783 meshes
connkg --root . --dataset fafb783 skeletons --data-dir fafb_v783 -j 12
connkg --root . --dataset fafb783 snapshot savemeshes takes about 11 seconds. skeletons needs the 31 GB skeleton download and is the only thing that does; pass your core count to -j, which defaults to 1. Re-snapshot afterwards, because the soma back-fill changes the graph a snapshot measures.
One API change: connectomekg.scene.context_points returns a fourth value, the count of cloud points that are a real soma rather than a marked point.
Full changelog: CHANGELOG.md
ConnectomeKG v0.3.2
Release Notes -- v0.3.2
Released: 2026-09-19
A packaging fix. Two dependency floors in 0.3.1 allowed installs that could not work, and this release raises them to the versions the code actually needs.
What changed
The mcp floor matches the MCP server. connkg-mcp builds its server with FastMCP, passing lifespan= and instructions=. The mcp package only accepts both from 1.3.0, and before 1.2.0 it has no FastMCP at all, so the old mcp>=1.0.0 floor let a resolver choose a version where the server fails to start. The floor is now mcp>=1.3.0,<2.
The numpy floor matches the supported Pythons. ConnectomeKG requires Python 3.12 or later, and numpy 1.26.0 is the first release that installs on 3.12. The floor moves from 1.24.0 to 1.26.0.
The README reflects kg-rag. The ConnectomeKG adapter shipped in kg-rag 0.16.0, so the status line now points at pip install "kg-rag[connectome]" instead of a future release.
No code changed since 0.3.1, and the graph a build produces is unchanged.
Upgrading
Nothing to do. An environment that already resolved newer mcp and numpy versions, which is any install made recently, is unaffected. pip install -U connectome-kg picks up the corrected metadata.
Full changelog: CHANGELOG.md
ConnectomeKG v0.3.1
Release Notes -- v0.3.1
Released: 2026-09-18
ConnectomeKG is on PyPI. pip install "connectome-kg[semantic]" replaces cloning the repository.
What changed
Published to PyPI. Every tagged release now uploads the same wheel and sdist that are attached to its GitHub Release, using trusted publishing, so the repository stores no PyPI token. kg-rag's connectome adapter needed a versioned dependency to point at, which is why this is happening now.
The README works on PyPI. Its links to the download guide, the rendering guide, the changelog and the licence were relative, and PyPI serves the README without those files. They now point at GitHub. The project page also links the documentation site, the issue tracker and the changelog.
No code changed since 0.3.0.
Upgrading
Nothing to do for an existing clone. A new install can use pip: pip install "connectome-kg[semantic]", with [viz3d] for the 3-D views.
Full changelog: CHANGELOG.md
ConnectomeKG v0.3.0
Release Notes -- v0.3.0
Released: 2026-09-18
Each connectome now gets its own knowledge graph. A second release -- another FAFB version, MANC, hemibrain -- is built beside the first instead of on top of it. A built graph can also be queried without the 34 GB Codex download it came from.
What changed
One graph per connectome. Graphs live in <root>/connectomes/<dataset_id>/.connectomekg/, each with its own vector index and snapshot history. This is the layout GutenbergKG uses for books. --dataset ID goes before the command and picks one. A build without it writes to fafb783, and every other command uses the only built dataset, or stops and lists them when there are several. connkg-mcp takes the same option, and connkg datasets lists what is built. KGRAG's registry scan finds each dataset as a separate KG.
--dataset replaces --dataset-id. This breaks scripts that passed --dataset-id, which is why this is a minor release rather than a patch.
Querying a built graph no longer needs the source data. connkg query, and anything else that opened an existing graph, including kg-rag's connectome adapter, failed with source='codex' needs data_dir unless the Codex release was on hand. The tables now load only when a build needs them.
Upgrading
Move a graph built by an earlier version into the new layout, from the directory you pass as --root:
mkdir -p connectomes/fafb783/.connectomekg
mv .connectomekg/*.sqlite* connectomes/fafb783/.connectomekg/Until you do, commands stop and print that command. Replace --dataset-id X in scripts with --dataset X, placed before the command. A KGRAG registry entry that points at the old path needs registering again.
Full changelog: CHANGELOG.md