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 asEndpoints, and Eloquent/Doctrine models asEntitys. 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 (phantomself/statictypes, aCALLSedge 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_changeandsdlc_baselinejoin the free, read-only tier;sdlc_address_review,sdlc_completeandsdlc_remediateclose 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:lineand caller counts, and nosecrets:beyond the caller’s ownGITHUB_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.