Skip to content

Unspaghettit

v0.7.0 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Code‑to‑spec adoption becomes a first‑class, evidence‑gated flow with provenance tracking and the Lyriks theme is now default.

Full changelog

Adopt what you already built, and wear the brand: code-to-spec becomes a first-class, evidence-gated flow that yields the model, its provenance, and implementation coverage in one pass; the dashboard now defaults to the Lyriks look with the Unspaghettit lockup in every theme.

Added

  • Codebase adoption: code to spec is now a first-class, evidence-gated flow. Source files attach as kind:'code' sources (named by their repo-relative path), every extracted element is traced to the exact code span it came from, and a finalize gate keeps the extraction honest. The new seed_index_from_analysis MCP tool bridges the two mapping systems: every recorded span becomes a .unspa.json behavioral-index entry, so one analysis pass yields the model, its provenance (browsable in the Source Viewer), AND non-zero implementation coverage with drift detection armed from day one. Entry points: unspa adopt prints the paste-ready agent prompt, and the bundled unspa-adopt skill (installed by unspa init) encodes the whole recipe.
  • Adoption token costs roughly halved. attach_source_path takes a repo-relative path and the MCP server reads the file from disk itself, so file content is never re-emitted through the conversation; record_element_spans stamps many elements in one call with per-item failure reporting. All the guidance now steers agents to the cheap forms.
  • Project source store + paste-to-analyze. Analyzed documents live as immutable, content-hash deduplicated files in the project's sources/ folder. A new Sources tab on the project page lets you paste a document straight into the dashboard; agents pull it through list_sources / get_source, and remove_source / reset_analysis finally give both stores a way out. One document can feed several features, an analysis can link several documents, and the provenance viewer grew a document picker.

Changed

  • The Lyriks skin is now the default theme. A fresh install boots with the Lyriks.io violet/fuchsia brand. The original teal look is one switch away as the classic theme (unspa theme set classic or the header palette button), and unspa theme set default / unspa theme reset remain an explicit revert to the default.
  • The header brand is the same across every theme: the Unspaghettit logo and wordmark plus a "Powered by Lyriks.io" badge (the Lyriks three-bar mark) linking out to lyriks.io. The per-theme logo swap is gone.
  • Provenance sidecar format v2. Sidecars now store span-to-source links instead of the whole document; v1 sidecars migrate automatically at startup. Older dashboards cannot read v2, so update dashboard and MCP together.
  • Docs and agent guidance caught up with codebase adoption across the unspa://guide resource, the init context template, core concepts, getting started, and the CLI README.

Fixed

  • MCP live sync reaches the dev dashboard again. The reload notifier now probes 127.0.0.1:3000 plus both IPv6 and IPv4 literals on :8173 (the Vite dev port), drops the WSL2-squatted :5173 candidates, and allows 1 s per attempt. UNSPA_SYNC_URL still pins a custom port.
  • History entries name their author instead of unknown for writes arriving through the dashboard's own REST API, and MCP-driven entries no longer render as "AI · Anonymous".
  • sync_from_index no longer flags documented key forms as orphans (entity:<id>, feature-level invariant:<id>, surface-declared transition:<id>, declared event:<name>), matching drift detection.
  • The graph page fits the viewport exactly (no more permanent 1 px overflow scrollbar).
  • Code snippets stay black under the Lyriks theme. The violet emphasis remap no longer catches pre/code/textarea surfaces such as the implementation panel's snippet blocks and the MCP page's expanded JSON.

Full details in CHANGELOG.md.

Breaking Changes

  • Provenance sidecar format upgraded to v2; older dashboards cannot read v2, requiring simultaneous MCP and dashboard updates.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Unspaghettit

Get notified when new releases ship.

Sign up free

About Unspaghettit

All releases →

Related context

Beta — feedback welcome: [email protected]