Repository navigation
Breaking changes
- Model authoring now uses MCP. Typed MCP tools replace CLI authoring commands and their previews. Start
reqvire mcp --enable-mutationsto create and edit models. Accepted mutations validate the complete model and persist canonical formatting. - CLI
add,rm,mv,rename,merge,mv-file,mv-folder,link,unlink,relink,mv-assetandrm-assethave been removed. CLIformatmoves toreqvire.format; CLIlint --fixmoves toreqvire.lintwithfix: true. Validation, lint inspection, discovery, coverage, reports and exports remain available through CLI. - MCP tool contract version 5: lifecycle tools now use branch names:
reqvire.worktree.list→reqvire.branch.listreqvire.worktree.create→reqvire.branch.createreqvire.worktree.open→reqvire.branch.openreqvire.worktree.remove→reqvire.branch.closereqvire.worktree.refresh_head→reqvire.branch.refresh
- Previous tool names and worktree-ID selectors are no longer supported. Update clients and assistant integrations to use
branchand, where applicable,from_branch. Branch creation requires an explicitbase_ref. - Native workspace manifests replace live Repo XML discovery. Multi-repository workspaces use one tracked
reqvire-workspace.tomlowned by the selected root repository and branch. Configurerepositories_dir, repository URLs and checkout paths, tracking refs and exact commit pins. Native TOML includes, fragments and overlays are unsupported. Without a manifest, Reqvire retains its normal single-repository workflow. - Change impact analysis uses the available PR target’s merge-base. Without PR context, supply an explicit baseline. Use
--git-commit HEADto review pending changes. Analysis never fetches or synchronizes repositories.
Changelog
- Added native workspace preparation and management through CLI
workspace status,add,remove,sync,freezeandmigrate. - Added typed MCP
reqvire.workspace.add,reqvire.workspace.remove,reqvire.workspace.sync,reqvire.workspace.freezeandreqvire.workspace.migrate; retained the existing read-onlyreqvire.workspace_statustool. - Centralized workspace discovery, Git operations, ownership, branch preparation, pin handling, baseline reconstruction and composition coordination in the shared
reqvire-workspacecrate. - Removed the Google Repo/Python runtime dependency from native workspace operation. XML remains supported for explicit migration and pre-conversion change-impact baselines.
- Added configurable checkout directories and workspace roots below the owning Git root. The owning repository can hold a shared system model or only configuration while pinned components supply the complete model.
- Kept tracking refs separate from working branches and exact commit pins. Default sync reproduces recorded pins;
sync --latestfollows configured refs and advances pins.freezerecords current committed component HEADs while preserving refs. - Added change impact analysis across declared repositories, preserving cross-repository traceability, source provenance and added, removed or relocated component handling.
- Added coordinated component branch creation from the selected root base and its component pins. Named owners prepare named component branches; detached CLI/CI owners prepare detached checkouts.
- MCP checkpoints changed components first, then updates their pins and commits those pins with accepted root changes in one root commit. Automatic commits remain opt-in through
--enable-commits. - Added component-first publication and coordinated creation or reuse of linked component and root pull requests. Push and PR creation remain explicit operations.
- Added validated preparation and admission of changed compositions, ownership checks, partial-operation outcomes and recovery handling. Rejected candidates preserve accepted model reads.
- Improved path and symlink containment, macOS path compatibility, branch inventory and Git discovery caching.
- Improved graph hover responsiveness and updated Explorer styling, layout and font loading.
- Updated the system model, generated ontology artifacts, website documentation, assistant skills and verification coverage.
- Verified the final build with all 104 E2E suites passing, alongside Rust tests, strict Clippy and model checks.
Migration tools
Existing Repo workspaces
Preview conversion, then apply it:
reqvire workspace migrate --from repo --dry-run
reqvire workspace migrate --from repoThe migration reads Repo’s selected .repo/manifest.xml entry by default. Use --source FILE to select an XML source explicitly. Supported XML declarations, includes and defaults are resolved into one reqvire-workspace.toml, and the composition is prepared through normal workspace synchronization. Original XML, existing checkouts and their Git metadata are preserved.
Unsupported XML elements, Repo local overlays and conflicting native manifests fail explicitly. Review and commit the generated TOML in the owning repository. Keep declared component checkout paths ignored by that repository.
The same conversion is available through reqvire.workspace.migrate with from: "repo", optional source and dry_run, in a valid mutation-enabled MCP context. Use CLI migration when preparation is needed before the combined model can pass MCP startup validation.
Older system-model formats
Model-syntax migration is a separate CLI operation:
reqvire migrate
reqvire migrate --fix
reqvire validatereqvire migrate previews supported updates by default. --fix applies deterministic migrations, including legacy document header cleanup, verification-objective holder creation, contract relation cleanup and conversion of legacy contract section headings to Contract Bindings.
Run required model-syntax migrations before starting MCP. There is no MCP model-syntax migration tool or startup mode that bypasses model validation.
Upgrade instructions
- Update Reqvire and installed assistant skills together. Update any pinned npm runner version to
@reqvire-org/reqvire@1.5.1. - Apply workspace conversion and model-syntax migrations as needed, then review, validate and commit the results.
- Prepare declared checkouts with
reqvire workspace syncbefore normal model loading or MCP startup. Usesync --latestonly when intentionally advancing configured refs. - Reconnect MCP clients and inspect
reqvire.tool_contract. Update lifecycle tool names and branch selectors. - Use feature branches for coordinated work. Commit external component changes first, record their pins with
workspace freeze, then commit the updated manifest with related root changes. A live MCP owner must manage its own composition through the typed tools.
Full changelog: v1.4.0...v1.5.1