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 truth —
specification-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 Backwards —
aws-one-way-door/aws-two-way-doorprofiles 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
Releaseentity with initiative/RMI/repository edges, a fullreleaseCLI (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
publicrailexport safety rail gating what any public roadmap view can ever show - Portfolio WIP Management —
initiative sweep(initiative-first) andrelease 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.Originprovenance; and attached-release visibility on initiatives - Spec judge sees layered rubrics —
spec judgenow resolves evaluation rubrics live from thespecification-workflow-speccatalog, so the layered class/blocking/evaluation taxonomy is visible to the judge flow (the deadJudgeRubricDB 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-specis now the only source:SyncFromCatalogupserts the DB index, remaps retired IDs (pbhq-standard→pbhq-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) workflowIdand file roles (required/optional/extra) now flow through the execution and spec-file API responses;/api/specsexposes 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:vsexecution:key) that droppedpbhq-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-product→aws-one-way-door,aws-feature→aws-two-way-door(workflow syncremaps 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 fix92483e3)
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 doctorwalks 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-rmisperforms 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 addnow warns (non-blocking) on path/remote conflicts with an existing entry (b3352ee)--repoaccepts a bare name ororg/name, resolved with a did-you-mean hint on no/ambiguous match (1dfc943)--format jsononrmi/initiative/registrylist/get, and--repo/--status/--programfilters oninitiative list(601fa99,5277b11)
Release Tracking System (INIT-VISIONSTUDIO-006)¶
The system used to prepare this very release:
- A
ReleaseEnt entity with edges to Initiative, RoadmapItem, and Repository (c5740f1) releaseCLI:plan/record/list/show/attach/detach/delete, a changelog gate that checks/scaffolds CHANGELOG.json entries at record time,release unshipped, andrelease backfill-matchfor 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 coverage14d84f1)
Registry Org/Person/Visibility (INIT-VISIONSTUDIO-007)¶
- Organization and Person entities, with idempotent org backfill and
registry org/registry personCLI commands (a6b3cc1) - GitHub-derived
Repository.visibility(public/private/unknown); GitHubINTERNALmaps 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 explicitpublic, 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 iscompleted, 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
/statusroute grouping every visible initiative into pipeline-ordered columns (proposedthroughcancelled), reusing/api/execution;StatusBadgegained colors fordelivery_complete/releasing/released/closed. - Cancelled-aware progress bars —
cancelledProgressonAPIInitiative/APIPhaserenders 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), ordiscussion(proposed in conversation). Wired through the schema (additive migration),pkg/rmi, both stores, both API layers,rmi create/update/list, and thermi_createMCP tool.release candidates --repo <repo-id>— the repo-first counterpart tosweep: which initiatives touching this repo areready/partial/not_ready/already_attachedfor 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 visibility —
initiative getprints aReleases:section and the Initiative Detail page shows a "Released in:" chip row, surfacing per-reporepo@tagdata theReleaseentity 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 judgenow resolves the rubric live from the catalog via the workflow loader (GetRubric), deriving the spec type from the filename (PRD.md→prd) and rendering theRubricSetas YAML so the layered fields are visible (a65cfe9)- The dead
JudgeRubricEnt entity, table, and Store API were removed;JudgeResult.rubricis now a plainrubric_idfield instead of a foreign-key edge to the retired table, fixing a latent dangling-FK on recorded results (0f2990e) visionspecpinned to the tagged v0.17.0 (60f01c1)
Fixed¶
- New Initiative creation callback wasn't wired into
App, so workflows never reachedInitiativesOverview/ProgramViewand 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-specmodule onto the mergedvisionspec, since upstream supersededpkg/profileswithpkg/workflowsand relocatedpkg/workflowtopkg/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-003andINIT-VISIONSTUDIO-007, flaggedreadyby bothsweepandrelease candidates, remain open for separate review- Dashboard-side origin badge/filter, if the CLI-level
rmi list --origintelemetry proves useful