What Spine does today
Every capability, by category — with its status and the command that runs it. Taken straight from the repo's FEATURES.md; nothing here is claimed that the docs don't state.
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 |
| 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 | Shipped | automatic per repo |
| 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 endpoints (Java); ASP.NET Core endpoints + EF Core entities (C#) | Shipped | emitted on pkg extract / understand |
| 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 |
| 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 |
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 not yet shipped | Shipped | pip install 'synaptixs-spine[php]' |
Doc ingestion Markdown / reST / text → Doc nodes + MENTIONS edges; section-granular, precision-first, no LLM | Shipped | automatic on understand / state |
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 |
| Measured value of grounding 200 runs, 2 frontier models: every new module that integrated correctly came from a grounded run (29/50); ungrounded produced none. On tickets naming the target file, both tie (98/100) | Shipped | scripts/codegen_benchmark.py |
| 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 | Shipped | orchestrator pkg extract · pkg export |
| Measured graph accuracy precision & recall per node/edge kind, for 8 of the 9 front-ends (PHP has no published numbers yet), against a published corpus — 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 · /v1/tasks/ |
| Export / replay a run | Shipped | trust-spine export |
| 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 servers databases, Atlassian, … | Shipped | orchestrator mcp ingest-db · mcp list · mcp call |
| 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 FEATURES.md. For the schema behind it all see the architecture; for the free read-only wedge see comprehension.