Repository navigation
feat: land the deferred 1.15 update dry-run plan preview (update-dry-run-plan-preview) - #316
Merged
Merged
Conversation
…view (update-dry-run-plan-preview) - updateDryRun capability + typed UpdatePlan contract (three keys always arrays, closed action/note enums, no rename action, per-tool failures as plan data beside exit 0, update_error envelope beside exit 1) with the gated updatePlan executor method - agentIntegrations.updatePlanPreview read transport: unavailable pre-argv on non-admitted sessions; executed evidence keeps exit/diagnostics/stderr/contractError separate; the real update/repair mutations are unchanged and never gated - Config Agents Update/Repair dialog renders the plan as verbatim evidence (action chips, wrapped paths, notes by code, amber would-fail rows, failed-command alert) with a generation guard on the preview fetch - real-binary positive fixture (corrupt/delete → update/add rows → disk unwritten → settle → empty re-plan) and UpdatePlan first-party source anchors - repair the stale v9-era check-openspec-reference gate to the v1.15 assertion and fix the stale tsconfig.workflow-contract-tests lane names to the actual v15 files
Contributor
Author
|
CI round 1 triage: Fast Gate failed at |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Lands B1 of the 15.0.0 line — the
update --dry-run --jsonpreview projection thattarget-openspec-cli-15-line(PR #312, merged and released as 15.0.0) explicitly deferred as "a newcross-layer projection (out of scope)". Change:
openspec/changes/update-dry-run-plan-preview/.What this adds
updateDryRuncapability inderiveOpenSpecCliCapabilities(target-series gated).UpdatePlancontract + gatedupdatePlanexecutor method:changes/notes/failuresalways present arrays; closed
add|update|deleteaction and two-code note enums; no renameaction (moves plan as delete+add pairs); per-tool
failuresare plan data beside exit 0; thefailed-command envelope (empty plan keys +
status[]code: 'update_error', exit 1) decodesthrough the same schema while exit/success carry the failure truth.
agentIntegrations.updatePlanPreviewread transport (throughrunPlanningRootRead+the gated executor; unavailable pre-argv on non-admitted sessions). The real
updateStream/repairStreammutations are unchanged and never gated by the preview.amber would-fail rows, failed-command alert; muted unavailability that never disables the real
run; generation guard on the preview fetch.
official-cli-v15-update-plan-fixtures.test.ts): init →corrupt/delete managed files → plan shows
update/addrows sorted, disk unwritten → settle →empty re-plan. UpdatePlan first-party source anchors in
upstream-contract-regression.test.ts.check-openspec-reference.mjsfake green gate → assertsthe v1.15 line; the stale
tsconfig.workflow-contract-tests.jsonlane entries (v14 names forfiles renamed in the 15.0.0 line) → actual v15 names, and the new fixture joins the lane.
Verification (this worktree)
pnpm format:checknode scripts/check-openspec-reference.mjsOK: v1.15.0CI will run via
workflow_dispatch(thepull_requestevent currently does not fire on this repo —observed on PR #315 and documented there).