capabilities

What Spine does today

Every capability, by category — with its status and the command that runs it. Taken straight from the repo's README.md; nothing here is claimed that the docs don't state.

synaptixs-spine · 3.63.0 · MIT

Shipped Partial / operator-gated Opt-in off by default Experimental off by default

Delivery pipeline

The core loop: read a requirement, understand the repo, generate grounded code + tests, get them green, and open a PR — with two human gates (before building, before merging).

Capability Status How to use
Intake Confluence / Notion / Markdown → specs → backlog Shipped orchestrator ingest --source · orchestrator backlog
Spec-driven intake OpenSpec changes → deterministic intents (no LLM guessing); write-back drafts OpenSpec from a wiki for review Shipped --source openspec:// · orchestrator openspec draft
Requirements clarity gate a deterministic check that a requirement states its problem, named users and an observable outcome, with every open question answered or deferred to a named owner; with a repo it also lists which criteria already name code that exists — evidence, not a verdict. No new model call. Shipped orchestrator openspec check · openspec answer · MCP requirements_check / requirements_answer
Plan before code one reviewable build document per ticket, assembled from the graph, git and the tests — no model call, nothing spent Shipped orchestrator sdlc plan --spec ./TCK-1.json
Research before design a deterministic Evidence artifact per run: landing site (file:line), root cause, blast radius keyed off the landing sites — no model, written even when the run parks Shipped automatic in sdlc autorun · evidence.md / evidence.json
Acceptance criteria bound to your code each criterion resolves to a symbol + file:line, or is reported unbound; a criterion the graph can’t locate refuses the ticket Shipped automatic · criteria.md
A validator on the design a design naming a directory or module the repo doesn’t have parks the run before codegen — 0 false positives across 100 measured runs Shipped automatic · design-references.md
The run as an inspectable graph a row per node with the digest of what it produced, skipped nodes included Shipped orchestrator sdlc explain · sdlc workflow
Plan-gated builds approve a plan, and refuse to build without one — bound to a digest, so a plan that changed reads as stale Shipped orchestrator sdlc approve TCK-1
Single feature build local & safe by default Shipped orchestrator sdlc feature --source file://./spec.md --safe
Full orchestrated run backlog → many features Shipped orchestrator sdlc run --source
Open / complete a PR (live) Shipped orchestrator sdlc feature … --live · sdlc complete
Address review feedback on a PR Shipped orchestrator sdlc address-review --pr

Code-grounded understanding

Builds a Product Knowledge Graph of the repo (modules, types, call sites, blast radius) and grounds new code in what already exists.

Capability Status How to use
Multi-language comprehension + codegen Python, Java, TypeScript, C#, C, C++, Go, PHP, Perl, Kotlin Shipped automatic per repo
JavaScript comprehension CommonJS require/exports, JSX, Express routes (incl. member handlers), and a Sequelize data layer — rides the existing typescript extra, no new install; comprehension only, no JavaScript codegen Shipped pip install 'synaptixs-spine[typescript]'
SQL data-layer comprehension schema, queries, stored procedures, migration folding Shipped pip install 'synaptixs-spine[sql]'
SQL Server database projects UTF-16 scripts (SSMS’s default) and GO batch separators handled — on one project, 676 of 709 .sql files went from skipped to read Shipped automatic; no flag
SQL greenfield codegen generate a migration, validate on an ephemeral DB Shipped sdlc feature --language sql
Framework-aware edges JAX-RS and Spring MVC endpoints (Java); ASP.NET Core endpoints, EF Core entities and Blazor (.razor) components (C#); Ktor and Spring MVC endpoints (Kotlin, sharing the Java reader) Shipped emitted on pkg extract / understand
Java &amp; C# typed-receiver call graphs calls through a field, parameter, typed local or var x = new T() (and, in C#, static calls on an in-repo type) now resolve to the declared-type member; constructor calls (new Order(7), object initializers, anonymous classes) land as CALLS to the created type; ASP.NET Core DI registrations (services.AddScoped<IMailer, SmtpMailer>()) become PROVIDES edges; blast_radius now also reaches an implementation’s callers through its interface Shipped pkg extract · blast_radius
Multi-repo comprehension several repos merge into one graph, so “what breaks if I change this?” can name a caller in a different repo — via HTTP call, shared table, or imported library Shipped .spine/repos.yaml · pkg extract --repos · investigate --repos
Join topology from evidence derived, not drawn by hand — and what could not be joined is reported Shipped pkg joins --propose · pkg joins --check
C support #include graph + header/source merge; codegen on CMake or Meson Shipped sdlc feature --language c
Optional C/C++ semantic pass resolves member calls the CST cannot, adding edges only between symbols already in the graph — ids, nodes and determinism unchanged; the standard library stays out of reach Partial pip install 'synaptixs-spine[clang]' (also in [all])
Go support package-per-directory, call graph, interface satisfaction; built + tested with go build/test, multi-module aware Shipped pip install 'synaptixs-spine[go]' · sdlc feature --language go
Rust support Cargo package/target topology and a semantic module tree; target-scoped IDs, exact imports, explicit trait implementations, fields, references and precision-safe local calls; Cargo-aware codegen — scaffold, build-before-test with changed-package/reverse-dependent selection, workspace escalation — signed off for supported host environments; the tree-sitter-rust-orchard grammar pin closes the previous parser error. Extensive validation adds async/Tokio-style calls, procedural-macro source boundaries, and no_std with core/alloc imports: all 14 hand-labelled Rust corpus cases hold 1.00 precision on every emitted fact kind (three cross-module/workspace CALLS misses stay labelled), with pinned real-repository runs on mini-redis, async-trait, embedded-hal and Synaptreesitter; codegen now refuses actionably on a missing cross-compilation target, linker, or custom JSON target. Macro expansion, type-aware dispatch, full feature matrices and embedded firmware execution remain outside this release. Shipped Core + Extensive validation, signed off for supported hosts pip install 'synaptixs-spine[rust]' · sdlc feature --language rust
PHP support namespace-keyed modules, traits as IMPLEMENTS, a precision-first call graph ($this->/self::/parent::/new/X::m(), typed-receiver resolution), Laravel/Slim/Symfony routes as Endpoints, Eloquent/Doctrine entities as Entitys — codegen with Composer or a pinned PHPUnit PHAR, configured test layout and changed-file lint Shipped pip install 'synaptixs-spine[php]' · sdlc feature --language php
Perl support every package/5.38 class is its own type, inheritance across five spellings (use parent/use base, @ISA, extends, use Mojo::Base, :isa(...)) resolved literal-only, a call graph ($self->/SUPER::/qualified/bare calls), Mojolicious/Dancer2 routes as Endpoints, DBIx::Class as Entitys — codegen with perl -c, configured Perl::Critic, then prove, with optional cpanm Shipped pip install 'synaptixs-spine[perl]' · sdlc feature --language perl
Kotlin support classes/objects/companions/extensions and typed-receiver CALLS (every property/parameter is declared, so calls resolve with no inference); Room entities + DAO READS/WRITES parsed from @Query; Retrofit calls as cross-repo consumer evidence; Ktor + Spring MVC routes as provider Endpoints (the Spring reader is shared with the Java front-end); Compose navigation as NAV routes; Hilt/Dagger wiring via the new PROVIDES edge kind; Multiplatform source sets with expect/actual joined by IMPLEMENTS; and a .kts Gradle module graph — codegen ships for Kotlin/JVM and Android via a Gradle-aware test runner Shipped Multiplatform is comprehension-only pip install 'synaptixs-spine[kotlin]' · sdlc feature --language kotlin
Doc ingestion Markdown / reST / text → Doc nodes + MENTIONS edges; section-granular, precision-first, no LLM Shipped automatic on understand / state
External docs join the blast radius Confluence pages, Jira issues, and any RAG system’s MCP server, pulled into a cache outside the checkout and bound to symbols at read time with the same one-anchor rule as the repo’s own docs; blast_radius, explain_symbol and docs_for list them with origin, source and age — never read by understand/state/episteme/, so CI stays reproducible Shipped orchestrator mcp ingest-docs · docs: block in .spine/repos.yaml
HTML ingestion <h1..h6> become sections; inline <code> binds like a backtick Shipped automatic (stdlib, no extra)
PDF ingestion scanned / image-only PDFs are skipped (no OCR in the deterministic build) Shipped pip install 'synaptixs-spine[docs]'
Office ingestion .docx (heading styles → sections) and .xlsx (sheet → section) Shipped pip install 'synaptixs-spine[office]'
Media ingestion images / audio / video → Doc nodes via a committed .spine-media/ transcript; the model runs only in the opt-in extract, never in the build Shipped orchestrator media extract (opt-in)
Image OCR architecture diagrams → box/edge labels bound to symbols (local Tesseract) Shipped pip install 'synaptixs-spine[media]' + tesseract
Audio / video ASR design reviews → timestamped transcripts; local Whisper, or remote only with explicit --allow-remote Shipped pip install 'synaptixs-spine[asr]' · --asr api
Doc-grounded codegen a reused symbol’s documenting prose rides into the codegen context Shipped automatic in sdlc feature
Bug localization, measured On a pinned five-project corpus (one repo per front-end, fixed to a pre-fix commit), the fixing file is in Spine's top 10 for 27 of 38 tickets (top-1: 12/38) — roughly eight times better than picking files at random, from the issue title alone Shipped orchestrator pkg accuracy . --oracle comprehension --pinned-corpus
Committed episteme/ knowledge base for humans + any AI tool, with a CI currency gate Shipped understand --out episteme · understand . --check
Current State report overview, runtime, code structure, doc coverage + drift, architecture diagrams (no LLM) Shipped orchestrator state . --lens developer|stakeholder
PKG extraction / export sqlite, graphml, dot, json, obsidian — and cypher, loading the graph into Neo4j / Memgraph / any openCypher store for transitive closure, cycles and shortest-path queries the flat projections can’t answer Shipped orchestrator pkg extract · pkg export --format cypher
Measured graph accuracy precision & recall per node/edge kind, in all 12 languages, against a published corpus of 108 hand-labelled fixture cases across 13 front-ends — a number you can check Shipped orchestrator pkg accuracy
Runtime oracle CALLS recall from real execution, tracing the repo’s own test suite Partial Python only pkg accuracy --oracle runtime
Per-file route/table parity where the source declares more than the graph holds, with file:line Shipped pkg accuracy --oracle parity
Invention detection CALLS edges targeting a name bound in the caller’s own scope — hunts for fiction, not absence Partial Python only pkg accuracy --oracle invention
Accuracy regression gate a committed baseline; CI fails when a gated number drops Shipped pkg accuracy --check
Measured caveats in the build document the blast radius states the recall for its language — a bound, not a hedge Shipped automatic in sdlc plan
Intent layer Intent nodes + SERVES edges: which ticket a symbol was last changed for, from git blame + issue key; deterministic Opt-in opt-in · ~3× CPU understand . --intents · investigate --intents · pkg export --intents
Repo profile / audit Shipped orchestrator profile · audit

Governed autonomy

The workflow is a typed, validated artifact: a planner decomposes the objective, a runtime executes it, and per-edge verifiers check every step against schemas, evidence, and policy.

Capability Status How to use
Human approval gates before build, before merge Shipped --safe · approvals API/UI
Policy + budget guardrails Shipped SDLC_RUN_BUDGET_USD · SDLC_AGENTIC_POLICY
Audit trail every tool call, approval, decision Shipped persisted · POST /v1/audit · GET /v1/audit
Export / replay a run Shipped OPERATIONS.md · registry trace/export · /console
RBAC / multi-tenancy Partial ORCHESTRATOR_PRINCIPALS · ORCHESTRATOR_TENANT_ID

Smarter codegen

Capability Status How to use
Catalog-then-compose the right capabilities per project Shipped orchestrator catalog plan
Agentic (ReAct) tool-use codegen loop Experimental SDLC_AGENTIC_CODEGEN=1
Convention learning + clarifying questions Shipped automatic
Local / offline models Ollama, any OpenAI-compatible Shipped SDLC_CODEGEN · ORCHESTRATOR_INTAKE_MODEL

Personas, memory & observability

Capability Status How to use
PR Reviewer / Auditor personas Shipped persona registry / GitHub App
Eval harness Shipped evals module
Cross-run semantic memory Shipped ORCHESTRATOR_SEMANTIC_MEMORY=1
Live OpenTelemetry tracing Shipped OTEL_EXPORTER_OTLP_ENDPOINT

Integrations (MCP)

Capability Status How to use
Consume external MCP tools database schema, and Confluence/Jira docs Shipped orchestrator mcp list · mcp call · mcp contracts · mcp ingest-db · mcp ingest-docs
Spine as an MCP server drive from Claude / Codex / IDE Shipped plugin surface · remote HTTP/OAuth

The semantic spine

A shared EntityKey joins a domain concept → code symbol → deployment unit → drift signal. All gated, inert unless configured.

Seam Status How to use
Seam 1 — domain-grounded build ontomesh → codegen Shipped SPINE_ONTOMESH_URL + SPINE_ONTOMESH_FLAVOR
Seam 3 — drift → governed remediation infodrift → PR Partial orchestrator sdlc remediate --report drift.json
Seam 2 — register shipped units Spine → infodrift Partial SPINE_INFODRIFT_URL + SPINE_DEPLOY_TOPOLOGY

Status and commands mirror the repo's README.md. For the schema behind it all see the architecture; for the free read-only wedge see comprehension.