Skip to content

v0.7.0 Release Notes

Release Date: 2026-10-01

VisionStudio v0.7.0 is a focused release that turns the shared library into the foundation a cloud deployment can run on, while adding roadmap-authoring quality-of-life to the CLI. The headline is multi-tenancy groundwork: the shared Ent schema now carries an optional tenant_id and the store can run over managed Postgres, so the same service layer that backs the local Dolt app can back a pooled, Row-Level-Security cloud — without changing local behavior.

Highlights

  • Cloud multi-tenancy groundwork — an optional, inert-for-local tenant_id mixin on every shared entity, plus a Postgres-backed store (NewPostgres/NewPostgresFromConn) so the same Ent-backed store.Store runs over managed Postgres with pool + Row-Level Security for a cloud, and over Dolt/MySQL locally. Local stays a single implicit tenant with no behavior change.
  • Auto-assigned RMI/initiative IDs — rmi create and initiative create allocate the next free ID for a repo/project slug when --id is omitted, and new rmi next-id / initiative next-id commands print the next ID(s) without creating anything — so you can fill a ROADMAP.md with correct IDs and cross-references before roadmap import, instead of guessing numbers and colliding.
  • RMI keyword search — rmi list --grep <term> searches RMI IDs and titles (case-insensitive) across every initiative/repository, to find which RMI describes a given change.
  • Cloud-to-local pull — a pull command fetches and fast-forward-merges a cloud tenant's branch into the local database, complementing the existing push, with fast-forward-only safety on both directions.

Cloud Multi-Tenancy Groundwork

The shared library is single-tenant by design, but a hosted deployment needs tenant isolation. This release makes that possible additively, with zero impact on the local app:

  • A TenantMixin adds an optional, indexed tenant_id to every shared Ent entity. It carries no Ent privacy policy: the local app leaves it null and is entirely unaffected, while a cloud populates and isolates on it at the Postgres layer. Isolation lives in Postgres RLS, not in Ent, so the mixin stays inert for local by construction.
  • DoltStore gained NewPostgres and NewPostgresFromConn so the same store.Store implementation runs over managed Postgres (pool + RLS) as well as Dolt/MySQL. The Dolt-specific commit paths short-circuit when the Dolt handle is absent, so Postgres mode is clean.

This is the local-library half of the cloud work; the cloud's RLS policies and per-request tenant scoping are applied by the consuming deployment on top of the Ent-generated schema.

Auto-assigned RMI & Initiative IDs

Picking the next free ID by hand meant checking a list and still colliding, because numbering is per repo-slug across all initiatives, not per initiative. This release makes the tooling do it:

# Omit --id to auto-assign the next free number for the repo/project slug
visionstudio rmi create --repo github.com/org/repo --title "…" --type capability
visionstudio initiative create --slug MYPROJECT --title "…" --workflow pbhq-lite

# Or just see the next free ID(s) without creating anything
visionstudio rmi next-id --repo github.com/org/repo --count 5
visionstudio initiative next-id --slug MYPROJECT

Allocation is max(existing number for that slug) + 1 and never reuses gaps, so an ID stays stable once assigned even if the item is later deleted. Explicit --id still works for reproducing existing roadmaps.

Fixed

  • version reported a hard-coded v0.1.0 instead of the real build version.
  • Cancelled RMIs are now treated as resolved (like completed) when deriving phase/initiative status, so an initiative whose remaining work was all cancelled no longer reads as still in progress.

Changed

  • pkg/ir now imports the renamed upstream module path; it remains an indirect dependency, pulled in transitively.
  • The store consumes godolt lifecycle helpers instead of hand-rolled SQL.

Documentation

  • A new Troubleshooting page covers schema drift, stale binaries, and a database-down state.
  • Agent-ready --help across load-bearing commands, and architecture/dashboard docs updated for the two-tier visionspec stack.

What's Next

  • This release unblocks a cloud deployment to depend on a tagged library version (removing its local replace directive) rather than a local checkout.