pypi graphifyy 0.9.105
graphify 0.9.105

one hour ago

graphify 0.9.105

  • Fix: watch ignored directories (node_modules, .git, build output) are pruned from the Linux watch tree, so a large project no longer registers tens of thousands of wasted inotify watches and risks ENOSPC; the non-Linux recursive watcher is unchanged and still fires on every real change (#5074, #5091, thanks @Deepjyoti-Sarmah).

  • Fix: cpp a member-call chain routed through class fields declared in other headers (client.actions->Execute(), with value ., raw-pointer -> and single-arg unique_ptr/shared_ptr receivers) resolves to the field type's member across the include set, gated to a unique type and member and fail-closed otherwise; a typed local whose class is in another repo is parked for the cross-repo merge (#5098, thanks @xRedLeader).

  • Fix: markdown a code span naming an uppercase \-namespace class (\Foo\Bar, App\API) or a type-qualified method call (Type::member()) is kept as a symbol mention instead of being dropped, while a non-call Type::CONST/Type::class stays dropped (#5093, thanks @Adityakk9031).

  • Fix: ts/js a call through a destructured CommonJS barrel require (const { Thing } = require('./barrel') where the barrel re-exports Thing) resolves to the real declaration by following the barrel's exports, instead of dropping the edge (#5034, #5104, thanks @qq2514568380).

  • Fix: wiki the orphan sweep folds slugs with casefold (not lower), so two article names that collide only under full Unicode case-folding (Straße/STRASSE, Σ/ς) each keep their own file instead of one being deleted as an orphan; a file written this run is never swept (#5087, #5102, thanks @nothariharan).

  • Fix: build hyperedges are kept whole across an incremental graphify update: they are read from the nested graph slot a JSON-only writer uses, and after a deleted-source prune a hyperedge drops only its removed members (and itself only when none remain), instead of silently losing or leaving dangling hyperedges (#5081, #5103, thanks @nothariharan).

  • Fix: cache a degraded (under-producing) semantic cache entry no longer pins the corpus: after the shrink guard sees a re-extraction come back smaller than the stored graph, the entry is stamped partial so the next run re-dispatches it instead of replaying the degraded result forever (#5083, #5101, thanks @nothariharan).

  • Fix: affected graphify affected <file> seeds the file's nested member nodes (a method inside a class) transitively, not just one hop, so impact analysis no longer under-reports callers that bind to a nested member (#5094, thanks @Adityakk9031).

  • Fix: tree build_tree derives the common directory root from file parents, so a single-file or single-directory tree is no longer self-nested under the file itself (#5092, thanks @Adityakk9031).

  • Fix: query a label whose name is behind a schema or namespace qualifier (public.sweep_widget_state(), fmt.Println) is matched on its tail by the whole query and ranked above the per-token tiers, so it is no longer out-competed by single-token collision nodes and dropped from the seeds (#5080, #5095, thanks @sunhouy).

  • Fix: detect an incremental staleness check hashes a file whose stamp lands within the clock-skew window on either side of its mtime, so a same-tick rewrite that does not move mtime is still caught instead of being served stale (#5090, thanks @sunhouy).

  • Fix: path graphify path A B refuses an endpoint whose words appear nowhere in the graph (exit not-found) instead of returning a misleading route built from loosely-overlapping tokens (#5085, thanks @sunhouy).

  • Fix: csharp a classic extension-method call (x.Foo() where Foo is declared static ... Foo(this X x, ...)) binds to the extension method's declaration through an additive pass that runs after nominal dispatch, gated to a visible namespace, a matching this type and a unique applicable method; an instance method of the same name wins, a non-extension static or an unimported extension gets no edge, and ambiguity fails closed (#4828, #4849, thanks @Deepjyoti-Sarmah).

  • Fix: markdown a bare, unqualified free-function mention in prose (token, no () and no namespace) binds to a same-named function only when its defining file (or another symbol from it) is cited within the heading's section chain, instead of matching any same-named callable in the corpus; reference-style links ([text][label]) resolve at the use site (#4804, #4806, thanks @madanlalit).

  • Fix: export the to_json shrink guard no longer counts semantic sources that were replaced on re-extract or pruned as deletions as "lost", so a legitimate graphify update is not refused; a genuine unexplained shrink is still refused (#5107, thanks @khkar).

  • Fix: build a node whose file_type or confidence arrives as a structured value (list/dict) from a drifting LLM pass no longer crashes the validate/build membership checks: validation surfaces it as a schema error, and the build folds it to concept/INFERRED without fabricating a score (#5088, thanks @sdivyanshu90).

  • Fix: llm a splittable document below the character cap whose model output truncates is promoted to a full-range slice and bisected (and retried) instead of being kept as a truncated partial result; a non-splittable or code/binary unit still fails closed (#5072, #5078, thanks @aadilrizwan).

  • Feat: llm a custom OpenAI-compatible provider's extra_headers are forwarded to the client as default_headers, scoped to that provider and with any Authorization header dropped so it cannot override the configured credential (#3680, #4783, thanks @jaimemartinez).

  • Perf: extract whole-graph intermediates (the parse memo on the one-shot CLI, build/cluster/export working lists) are freed as soon as they are consumed, cutting peak memory on a large corpus; graph output is byte-identical (#5063, thanks @TPAteeq).

  • Fix: skillgen the claw/kiro/pi subagent prompt now tells the worker to write its chunk to CHUNK_PATH, so a disk-dispatch chunk is no longer returned inline and lost at the merge step (#5040, thanks @connhodendatabase).

  • Fix: deps the pypdf floor is raised to 6.21.4 in the pdf and all extras to pick up its security fixes (#5015, thanks @yotamleo).

The AST cache schema is bumped to 42; warm caches re-run the affected C++, Markdown and C# extractions.

Don't miss a new graphifyy release

NewReleases is sending notifications on new releases.