Skip to content

Changelog

The canonical changelog lives in the repo at CHANGELOG.md. Highlights below.

3.33.0 — current · a PHP codebase gets the whole graph

  • PHP is the 9th PKG front-end. Comprehension (namespaces, classes, interfaces, traits, enums onto the universal vocabulary), a precision-first call graph ($this->, self::, parent::, new, static calls, typed receivers — never a guessed global function or a method named by a variable), Laravel/Slim/Symfony routes as Endpoints, and Eloquent/Doctrine models as Entitys. Codegen isn’t shipped for PHP yet. pip install 'synaptixs-spine[php]'.
  • Found by the repo’s own new maintainer-review process (/review-pr), and fixed in the same release: five ways the PHP front-end asserted a fact the source didn’t contain (phantom self/static types, a CALLS edge to a variable-named method, wrong route paths from a chained or array-form Laravel route prefix, an ignored Symfony class-level route, a self-referencing Eloquent relation) and a persistence-cache key that couldn’t tell whether the PHP extra was installed.

Earlier highlights

  • 3.32 — the plugin speaks the whole protocol: five MCP prompts and five spine:// resources, every comprehension tool answers across repositories, long-running tools report progress per stage, every tool advertises what it returns as a schema, and per-principal audit lands on the HTTP transport.
  • 3.31 — the plugin grows from twenty tools to thirty-two: operator tools (registry_runs, registry_approvals, registry_trace, registry_decide) replace the removed terminal UI; understand_repo, profile_repo, design_change and sdlc_baseline join the free, read-only tier; sdlc_address_review, sdlc_complete and sdlc_remediate close the loop after a PR. Every tool carries an MCP tier (read-only, destructive, idempotent, open-world) and, on HTTP, a checked scope.
  • 3.30 — a reusable comprehension GitHub Action: three lines in another repository’s workflow get a pull-request comment saying where its own change lands, with file:line and caller counts, and no secrets: beyond the caller’s own GITHUB_TOKEN. Also: a pluggable secrets seam (get_secret), and RBAC lands as opt-in.
  • 3.29 / 3.28 / 3.27 — cross-repo comprehension hardens: a Node or Go service can be the thing you call, cross-repo edges stop pointing at nodes that don’t exist, and TypeScript stops skipping calls it couldn’t type.
  • 3.26 — Spine measures whether it finds the right file, and publishes the number (orchestrator pkg accuracy).
  • 3.24 / 3.23 — multi-repo reaches the plugin surface; one graph across several repositories.

The standing facts

  • Comprehension across 9 language front-ends (Python, Java, TypeScript, C#, C, C++, Go, PHP, SQL — PHP has no codegen yet) and 9 document formats; media (image OCR, audio/video ASR) is opt-in and off by default.
  • 55 CLI commands across 7 areas; 32 MCP tools (8 comprehension tools are read-only).
  • The knowledge graph carries 8 node kinds and 11 edge kinds.
  • Measured graph accuracy (precision/recall per kind) covers 8 of the 9 front-ends — PHP has no published accuracy numbers yet.
  • Deterministic, no-LLM comprehension — byte-identical reports for a given commit.