Skip to content

v0.3.25

Latest

Choose a tag to compare

@kouroshez kouroshez released this 07 Oct 19:50
00a5d78

0.3.25 (2026-10-07)

Added

  • graph_os: find blocks copied inside different code with opt-in fragment clones (5b30b2c)
  • graph_os: find copy-pasted code from per-symbol body fingerprints (41194fb)
  • graph_os: give Go interface methods nodes and link the types that implement them (ead0480)
  • graph_os: index Astro, MDX, .mts/.cts, .bash/.zsh and shebang scripts (af7ee0e)
  • graph_os: index go.mod requires and report undeclared and unused Go modules (5142dbe)
  • graph_os: link the components an Astro template renders and the functions it calls (4c4207e)
  • graph_os: page cos_graph_references with an offset past the token-budget trim (cd4e0d2)
  • graph_os: page impact and duplicates past the token budget with offset (9c7ad2e)
  • graph_os: read Expo Router, Astro and TanStack file routes by the package's router (f826013)
  • graph_os: read Fiber routes on struct fields, inline groups, Add, RouteChain and Domain (7ff8240)
  • graph_os: report a Python import of a name its repo module does not define (c6407c6)
  • graph_os: report Go calls into packages never imported and index grouped var blocks (669f5e7)
  • graph_os: report names the code uses but never defines or imports (4c60c9d)
  • graph_os: report undeclared npm and Python dependencies and unused npm dependencies (42f1cde)
  • graph_os: resolve Go method calls through the declared type of their receiver (9e1038a)
  • graph_os: resolve site-absolute MDX links and link MDX imports and components (3fb0d56)

Fixed

  • cli: checkpoint the WAL during a serial graph-reindex and after its link pass (d881977)
  • cli: give up a reader-blocked graph-reindex WAL checkpoint after 3 s and warn about it (fe6165b)
  • cli: stop killed graph-reindex -j workers from orphaning and make Ctrl+C cancel queued work (a32ab10)
  • graph_os: annotate the new walk and Go resolver helpers for mypy (19f11b0)
  • graph_os: bind from-package imports of a submodule to its file, also at edit time (1256030)
  • graph_os: bind inherited self, cls and super calls to the base method that defines them (bb62646)
  • graph_os: bind names destructured from a TS dynamic import like an import (f601f90)
  • graph_os: bind only self.m() and cls.m() to the enclosing class's own method (3d74eb2)
  • graph_os: bind TS imports by exported name and give exported values a node (b172f46)
  • graph_os: check TS names through barrels and trust CommonJS exports and ambient globals (fa012dc)
  • graph_os: clear the 13 mypy errors that held CI red and guard ast.TypeAlias on py3.10 (d284e3b)
  • graph_os: compare Go method signatures, ambiguous promotion and package clauses for implements (eba1fcf)
  • graph_os: compose a Fiber sub-app at every mount and through an *fiber.App parameter (a2cdedf)
  • graph_os: compose FastAPI route paths across the files that build them (fbfc535)
  • graph_os: compose FastAPI routes through constants, every mount, app.mount and sub-projects (237aa14)
  • graph_os: compose Fiber route prefixes passed in from another file or package (3b3674f)
  • graph_os: count a file's dependents through every node it defines, not only its module (783d400)
  • graph_os: count astro:* virtual-module imports toward astro's fan-in (4ec8b77)
  • graph_os: count every file that imports a library, deep and type-only imports included (f56d195)
  • graph_os: count renders and calls through variables in default references (24c5c47)
  • graph_os: derive inherited Python calls afresh each run along the C3 method order (054b8ec)
  • graph_os: follow Python facade re-imports to the defining function (8260c9b)
  • graph_os: follow renamed TS re-exports, find barrel cycles, link platform twins (7b79e6a)
  • graph_os: follow shell sources, helper runs and library calls across files (e945c7e)
  • graph_os: forget a deleted file's cache rows so restoring it reindexes (dda4322)
  • graph_os: give Python module-level names a node their importers bind to (827adc7)
  • graph_os: give TS class expressions and mixin classes their methods (a905a10)
  • graph_os: guard a type switch without an alias and drop an unused type ignore (a1237b7)
  • graph_os: hang Go methods declared apart from their type off the type itself (6b7a239)
  • graph_os: honour go.mod ignore directories and pin C3 to python.org's example (c9ccfb9)
  • graph_os: index Python defs under compound statements and bind class, star and submodule calls (e8b5ea5)
  • graph_os: keep a Go type's methods from sibling files across a reindex of its file (16c5780)
  • graph_os: keep a node's kind and label when an importer upserts its stub (ebb8ea4)
  • graph_os: keep abstract interface methods out of dead-code and test-gap lists (400a57a)
  • graph_os: keep declared Python dependencies off same-named repo files, drop self-loops (85611b9)
  • graph_os: keep Go declarations inside functions out of the package symbols (6dd0dff)
  • graph_os: keep Go import ids whole and Go library stubs off Python files (39fe861)
  • graph_os: keep Go type parameters out of type and call edges (2b2ff63)
  • graph_os: keep go.mod gap reports off testdata and modules with unindexed Go code (d15287b)
  • graph_os: keep inbound cross-file edges when a file is reindexed (977f2b9)
  • graph_os: keep literals in a data table's clone fingerprint so same-shaped tables are no copy (e7e5623)
  • graph_os: keep lockfiles and excluded paths out of the graph on both index paths (dca4bee)
  • graph_os: keep semicolon-free exports, list every back-to-back copy and bound fragment memory (e0ec05e)
  • graph_os: keep the file node in a file's impact walk so sourcing scripts show at depth 1 (5da5d88)
  • graph_os: keep the Python facade fallback off path-keyed TS stubs (84e7730)
  • graph_os: keep TS member chains whole and key X.m() by export only for namespace imports (192feac)
  • graph_os: keep TYPE_CHECKING imports type-only and the first of a fallback import (220afc8)
  • graph_os: keep URL strings intact when stripping JSONC comments (e659222)
  • graph_os: key the per-file cache on the tsconfig and go.mod a file resolves through (bd473a8)
  • graph_os: let a value re-export outweigh a type-only one and an include climb out by ../ (66388c7)
  • graph_os: let only a sealed Go interface's own package implement it (e1d2331)
  • graph_os: link FastAPI dependencies named in annotations, aliases and module attributes (ed31944)
  • graph_os: link Go calls, types and imports across files and packages (fecdf07)
  • graph_os: normalise tsconfig extends paths and read package presets and the array form (47ad6eb)
  • graph_os: point FastAPI handlers in factories, classes and imports at their real nodes (dfbdc25)
  • graph_os: point Go handles_test at the test function, not a shared name stub (8cdcd0d)
  • graph_os: prune every ID an extractor stamps so renamed TS symbols do not linger (61d4c63)
  • graph_os: put TS imports on their own line and keep type-position imports type-only (56549ab)
  • graph_os: re-read a pruned node's dependents and relink the callers of names a file gains (792313b)
  • graph_os: re-read Go files once for the Fiber mount composition (980c176)
  • graph_os: re-read Python files once so stored dependency misbindings are dropped (86ba9d7)
  • graph_os: re-read unchanged files once after an extractor upgrade (5649c6a)
  • graph_os: read a Python file newer than the interpreter with tree-sitter instead of dropping it (a409084)
  • graph_os: read a TS arrow function wrapped in satisfies or as as a function (266b044)
  • graph_os: read CommonJS require as an import that binds names (2c26381)
  • graph_os: read every contract registration and page it by scope, offset and limit (7a06d82)
  • graph_os: read Fiber routes from typed routers with the last argument as handler (dc50c43)
  • graph_os: read file-route forms: underscore folders, compound params, md pages, re-exports (14375bd)
  • graph_os: read shell functions in dead_code and keep trap and export -f handlers alive (57f8c1e)
  • graph_os: read shell script-dir idioms and run forms, report lost shell functions (00ced37)
  • graph_os: read tsconfig paths before # imports and keep type-only re-exports (7b183c4)
  • graph_os: rebuild composed Fiber routes each run and key provisional ones by owner (c9753b2)
  • graph_os: record an indexed doc as in sync, not as a failed reindex (ec0df7a)
  • graph_os: report an unimported module named in a dotted string annotation (3e76132)
  • graph_os: resolve a bare Python call by scope, never to a method or a sibling's nested function (348e3c8)
  • graph_os: resolve Go local replaces and count in-repo sibling module imports as used (d09cdcb)
  • graph_os: resolve Go shadowing, generics, package clauses, several init and build-tag twins (ae21298)
  • graph_os: resolve Python attribute calls, module attributes and relative imports (d36c15e)
  • graph_os: resolve TS project references, fallthrough exports, workspace presets and # imports (be7596a)
  • graph_os: resolve TS/JS imports like TypeScript and link them across files (7be6958)
  • graph_os: scan only the code of an Astro expression, not its strings, comments or JSX text (59dc7a3)
  • graph_os: scope Astro client scripts, read only processed ones and import script src (059999f)
  • graph_os: scope Go locals by position, skip generator package clauses, match builtin aliases (e574e91)
  • graph_os: scope Go select receives, type switch aliases and interface method parameters (b0a1290)
  • graph_os: scope nested TS functions, source JSX at its component, report syntax errors (0c0cfd1)
  • graph_os: spare ambiguous shell functions, Astro JSX apostrophes, prose annotations (4b473ee)
  • graph_os: stamp each stub with the extractor that minted it (c1fae11)
  • graph_os: stop folding Python call chains into module symbols (5a7144d)
  • graph_os: stop parallel reindex workers failing files on a write race (9f60c95)
  • graph_os: stop Python module-level double counting and scope annotation names (dd8e602)
  • graph_os: surface a file's importers from references and impact (2f34ae2)
  • graph_os: take the database write lock before a node upsert's first read (c0e5c9f)
  • graph_os: treat Go, TS and Jest test files as tests in every tool (fd32086)
  • graph_os: type the new shell walk helpers for mypy (726694f)
  • graph_os: walk a project's .agents tooling and skip only agent memory (0ea7c79)
  • graph_os: walk only included files and keep build-named folders git tracks (f736327)
  • graph_os: walk Python defaults, decorator arguments and class bodies for calls (a33e361)
  • graph: checkpoint the WAL every 100 files of a parallel reindex so readers cannot starve it (4049394)
  • hooks: find the reindex body and core through the real hook path in consumer projects (faf79f5)
  • hooks: reconcile shell rm/mv through dispatch for every routed suffix (44770ab)
  • hooks: reindex each layer from its own module and index the last edit of a burst (3a928d4)
  • hooks: reindex every routed suffix on edit, on the interpreter cos uses (c45bef6)
  • hooks: resolve the reindex root like cos-env and refuse a worker without the parsers (6078a1b)
  • web: serve the hub SPA per request so a missing or rebuilt dist never 404s deep links (a0c4407)

Performance

  • graph_os: write each bulk upsert in one transaction instead of one per row (c269254)

Changed

  • graph_os: move Python name resolution out of the AST visitor (2d6627e)

Documentation

  • graph_os: answer the audit's seven questions with the benchmark after every fix (3e7a5c2)
  • graph_os: correct the fragment-clone cost with a measured 1.0 s scan (8c7d82a)
  • graph_os: describe the benchmark corpus without naming it (22472d1)
  • graph_os: name the inline router argument and the reindex worker race as open limits (c62d3d3)
  • graph_os: open the polyglot audit register for Go, TS, JS, Python and Shell (f9c306e)
  • graph_os: record fragment-level clone detection as an owner decision (75f679c)
  • graph_os: record the full polyglot audit checklist and baseline answers (6a55310)
  • graph_os: record the review's twelve findings and the WAL write-path fix (9f4d17e)
  • graph_os: register the 52 defects the seven-auditor final round confirmed (c9db09e)
  • graph_os: replace dashes in the audit answers and the new link-pass docstrings (f59481c)
  • skills: route clones, undefined names and library fan-in through graph-explorer (a50a55d)
  • tasks: close TASK-1051 (4971468)
  • tasks: close TASK-1052 (76d0f3e)
  • tasks: close TASK-1054 (0ae4f8e)