Skip to content

v0.6.0 Release Notes

Release Date: 2026-08-17

VisionStudio v0.6.0 is the first tagged release since v0.5.0, consolidating every initiative that landed on main in the interim. Under the convention adopted this cycle — an initiative closes once its work is committed and pushed with release notes prepared, and the git tag is a separate, batched formality — several initiative batches accumulated as prepared-but-untagged release notes (v0.6.0 through v0.11.0). This release folds all of them into one tag.

It closes: the spec workflow catalog becoming a genuine single source of truth (INIT-VISIONSTUDIO-005), authentic AWS Working Backwards flows plus the dashboard's first web mutation (INIT-VISIONSTUDIO-009), the repository/RMI lifecycle CLI (INIT-VISIONSTUDIO-010), the release-tracking system used to prepare it (INIT-VISIONSTUDIO-006), registry org/person/visibility modeling (INIT-VISIONSTUDIO-007), VisionStudio Cloud groundwork (INIT-VISIONSTUDIO-002), the full Portfolio WIP Management suite (INIT-VISIONSTUDIO-011, seven phases), and the spec-judge layered-rubric wiring from the cross-repo Spec Hardening initiative (INIT-SPECWORKFLOWSPEC-001).

Highlights

  • Spec workflow single source of truthspecification-workflow-spec's catalog (~25 profiles) is now the only workflow definition source; VisionStudio's divergent local catalog was retired, a workflow can be switched after creation, and the Initiative page adapts to whichever workflow is assigned
  • Authentic AWS Working Backwardsaws-one-way-door/aws-two-way-door profiles reordered to be PR-first per actual Amazon practice and infused with the 16 Leadership Principles, alongside the dashboard's first web mutation (New Initiative creation, POST /api/initiatives)
  • Registry & RMI lifecycle CLI — repository records can be updated, archived with supersession, removed, and health-checked (registry doctor); RMIs can be bulk-reassigned across repositories as one auditable operation
  • Release tracking system — a Release entity with initiative/RMI/repository edges, a full release CLI (plan/record/list/show/attach/detach/delete/backfill-match), a changelog gate, an unshipped-initiatives queue, and CHANGELOG.json/git-tag/GitHub-Releases ingest — the very system used to prepare this release
  • Registry org/person/visibility modeling — Organization and Person entities, GitHub-derived repository visibility, and a publicrail export safety rail gating what any public roadmap view can ever show
  • Portfolio WIP Managementinitiative sweep (initiative-first) and release candidates (repo-first) find work whose RMI completion has outrun its recorded status, verified against real per-repo git state; a dashboard By Status board; cancelled-scope-aware progress bars; RMI.Origin provenance; and attached-release visibility on initiatives
  • Spec judge sees layered rubricsspec judge now resolves evaluation rubrics live from the specification-workflow-spec catalog, so the layered class/blocking/evaluation taxonomy is visible to the judge flow (the dead JudgeRubric DB table was retired)
  • Reversible initiative lifecycle — an initiative can reopen to any earlier pipeline status as scope evolves, with later-stage lifecycle timestamps cleared so history stays truthful
  • VisionStudio Cloud groundwork (dogfood-only) — local tenant-assignment config and a whole-database sync command over godolt

Spec Workflow Single Source of Truth (INIT-VISIONSTUDIO-005)

Two workflow catalogs used to disagree: the upstream specification-workflow-spec module (rich, ~25 profiles, used by synthesis/eval) and VisionStudio's own hardcoded seed.go (4 simplified profiles, used by CRUD/CLI/API). Same IDs meant different required-doc sets depending on which path you hit.

  • specification-workflow-spec is now the only source: SyncFromCatalog upserts the DB index, remaps retired IDs (pbhq-standardpbhq-lite), and deletes unreferenced rows (44efa2d)
  • initiative update --workflow <id> switches an initiative's workflow after creation, keeping the synthesis/eval selection record in step (ab6fd15)
  • The Initiative page derives its spec set, progress denominator, tab order, and diagram from the assigned workflow instead of a hardcoded PBHQ-Lite rendering; files outside the workflow are badged Extra (a960f8d)
  • workflowId and file roles (required/optional/extra) now flow through the execution and spec-file API responses; /api/specs exposes workflow detail (sequence/phases); GET /api/workflows/{id}/specs/{type} serves the embedded template and rubric for in-app viewing (e359671)
  • A silent YAML parse bug (workflow: vs execution: key) that dropped pbhq-lite's execution ordering, and a dropped synthesis-guidance fallback, were fixed upstream

Authentic AWS Working Backwards (INIT-VISIONSTUDIO-009)

The AWS door workflows were reworked to match how Amazon actually runs Working Backwards, not a simplified approximation:

  • Renamed by the real selection criterion — decision reversibility — not product/feature scale: aws-productaws-one-way-door, aws-featureaws-two-way-door (workflow sync remaps existing initiatives)
  • Reordered to be PR-first: the human-authored Press Release is the founding artifact in both flows; MRD/OpportunitySpec demoted to optional post-FAQ deepening
  • Infused with the full 16 Amazon Leadership Principles — methodology metadata, template guidance, and LP-grounded rubric categories
  • The dashboard's first web mutation: a New Initiative button and modal (catalog workflow dropdown, per-workflow required-docs preview, type-driven defaults) landing on the new initiative's Definition tab (a960f8d, wiring fix 92483e3)

Registry & RMI Lifecycle CLI (INIT-VISIONSTUDIO-010)

A registered repository could be added, but never fixed, retired, or audited — and reassigning RMIs after a repo merge or rename meant a hand-rolled loop. This release closes that gap:

visionstudio registry update <repo-id> [--path --org --branch --name]
visionstudio registry archive <repo-id> [--reason --superseded-by <new-id> --reassign-rmis]
visionstudio registry remove <repo-id> [--force]
visionstudio registry doctor
visionstudio rmi bulk-update --repo <old-id> --set-repo <new-id> [--initiative I] [--dry-run]
  • registry doctor walks every non-archived repository and flags a missing directory, a non-git working tree, or a drifted git remote (867c503)
  • registry archive --superseded-by --reassign-rmis performs the RMI repointing and the archive status change as one auditable operation — reassignment runs first, so a failure leaves a safely re-runnable partial state (4b0baa1)
  • registry add now warns (non-blocking) on path/remote conflicts with an existing entry (b3352ee)
  • --repo accepts a bare name or org/name, resolved with a did-you-mean hint on no/ambiguous match (1dfc943)
  • --format json on rmi/initiative/registry list/get, and --repo/--status/--program filters on initiative list (601fa99, 5277b11)

Release Tracking System (INIT-VISIONSTUDIO-006)

The system used to prepare this very release:

  • A Release Ent entity with edges to Initiative, RoadmapItem, and Repository (c5740f1)
  • release CLI: plan/record/list/show/attach/detach/delete, a changelog gate that checks/scaffolds CHANGELOG.json entries at record time, release unshipped, and release backfill-match for reviewing AI-assisted matches between historical commits/tags and initiatives (c03e25d)
  • CHANGELOG.json/git-tag ingest with a trailer-coverage report, and GitHub Releases API ingest to close the gap between local tags and real GitHub Release history (55fb2c9, 5d3242d)
  • Initiatives can reopen to any earlier pipeline status as scope evolves, with later-stage timestamps cleared so an unshipped-queue view stays correct after a reopen (fb9ef2c, test coverage 14d84f1)

Registry Org/Person/Visibility (INIT-VISIONSTUDIO-007)

  • Organization and Person entities, with idempotent org backfill and registry org/registry person CLI commands (a6b3cc1)
  • GitHub-derived Repository.visibility (public/private/unknown); GitHub INTERNAL maps to private, lookup failures leave the stored value untouched (de22d65)
  • publicrail — the single implementation of the export predicate for every external projection: a repo filter that only passes explicit public, an initiative filter requiring both the public flag and not-hidden (1454863)
  • Registry query slices scoped by organization, private-focus, and practitioner assignment (e0142a9)

Portfolio WIP Management (INIT-VISIONSTUDIO-011)

A seven-phase initiative, each phase built off a concrete gap found using the one before it, to keep the initiative portfolio's work-in-progress honest and visible.

  • initiative sweep — lists non-terminal initiatives (proposed/planned/executing) where every RMI is completed, resolving every distinct repository an initiative's RMIs touch and reporting local git state from cached refs (no network). Report-only; it never transitions or records for you. It found real candidates the moment it ran.
  • Dashboard By Status view — a /status route grouping every visible initiative into pipeline-ordered columns (proposed through cancelled), reusing /api/execution; StatusBadge gained colors for delivery_complete/releasing/released/closed.
  • Cancelled-aware progress barscancelledProgress on APIInitiative/APIPhase renders cancelled RMIs as a red segment (not the "not done yet" gray), and the bar turns green once completed + cancelled reach 100%, since nothing is actually still in flight (ad47edd, 11ac490).
  • visionstudio app restart — tracks the UI+API server's own PID (ui.pid) and stops-then-starts it in one command, leaving the database alone (d0e0b5d).
  • RMI.Origin — every RMI records how its scope was identified: spec (default), implementation (found while building another RMI), acceptance_testing (found using the shipped result), or discussion (proposed in conversation). Wired through the schema (additive migration), pkg/rmi, both stores, both API layers, rmi create/update/list, and the rmi_create MCP tool.
  • release candidates --repo <repo-id> — the repo-first counterpart to sweep: which initiatives touching this repo are ready/partial/not_ready/already_attached for release. A repo's RMIs are usually a subset of several initiatives' full scope, so this is a genuinely different question. Report-only.
  • Attached-release visibilityinitiative get prints a Releases: section and the Initiative Detail page shows a "Released in:" chip row, surfacing per-repo repo@tag data the Release entity already recorded for multi-repo initiatives but nothing displayed.

Spec Judge Layered Rubrics (INIT-SPECWORKFLOWSPEC-001)

The cross-repo Spec Hardening initiative extended specification-workflow-spec's rubrics with a layered class/blocking/evaluation taxonomy. VisionStudio's spec judge couldn't see it: spec judge show/record read rubrics from the judge_rubrics DB table, which nothing ever populated (CreateJudgeRubric had no callers; workflow sync only upserts the workflow index), and matched the spec type against the raw filename — so every workflow reported "no rubric defined."

  • spec judge now resolves the rubric live from the catalog via the workflow loader (GetRubric), deriving the spec type from the filename (PRD.mdprd) and rendering the RubricSet as YAML so the layered fields are visible (a65cfe9)
  • The dead JudgeRubric Ent entity, table, and Store API were removed; JudgeResult.rubric is now a plain rubric_id field instead of a foreign-key edge to the retired table, fixing a latent dangling-FK on recorded results (0f2990e)
  • visionspec pinned to the tagged v0.17.0 (60f01c1)

Fixed

  • New Initiative creation callback wasn't wired into App, so workflows never reached InitiativesOverview/ProgramView and creation didn't reload or navigate (92483e3)
  • visionstudio db init's server-mode data-dir fallback didn't expand ~, creating a literal ~ folder instead of writing to the home directory (7c03df9)
  • Migrated off the archived specification-workflow-spec module onto the merged visionspec, since upstream superseded pkg/profiles with pkg/workflows and relocated pkg/workflow to pkg/execgraph (b83c1bb)

Documentation

Dashboard guides, README, and CLAUDE.md track the registry/RMI CLI, spec-workflow selection/switching, the AWS door flows, template/rubric viewing, sweep/candidates, the By Status view, and RMI.Origin. PRD/TRD/PLAN/ROADMAP spec sets were added for the closed initiatives. CLAUDE.md gained durable conventions: closing an initiative doesn't require a git tag; scope discovered after the initial spec is tracked as a new origin-tagged RMI (traced to a concrete finding, never speculation); and a two-place registration gotcha for new apitypes structs. An ADR records keeping Program/Initiative/Phase/RMI as native vocabulary.

What's Next

  • This release is the tag — v0.5.0 → v0.6.0 consolidates all the batched work above
  • INIT-VISIONSTUDIO-003 and INIT-VISIONSTUDIO-007, flagged ready by both sweep and release candidates, remain open for separate review
  • Dashboard-side origin badge/filter, if the CLI-level rmi list --origin telemetry proves useful