Repository navigation
Conversation
fspy benchmarklinuxmacoswindows |
wan9chi
force-pushed
the
claude/dry-run-06-json-helpers
branch
from
November 7, 2026 11:50
005fe37 to
621aa10
Compare
wan9chi
force-pushed
the
claude/dry-run-06-json-helpers
branch
from
November 7, 2026 12:00
621aa10 to
ab924c9
Compare
wan9chi
force-pushed
the
claude/dry-run-06-json-helpers
branch
from
November 7, 2026 14:54
ab924c9 to
e341597
Compare
wan9chi
force-pushed
the
claude/dry-run-06-json-helpers
branch
from
November 7, 2026 15:07
e341597 to
ba7adba
Compare
wan9chi
force-pushed
the
claude/dry-run-06-json-helpers
branch
from
November 7, 2026 17:18
ba7adba to
7bca6ab
Compare
wan9chi
force-pushed
the
claude/dry-run-06-json-helpers
branch
from
November 7, 2026 18:38
7bca6ab to
0808e4f
Compare
The run plan that `vp run --dry-run --json` will print uses the same task IDs, paths, `version` and `$schema` copy as `vp run --json`. Moving them out of the task graph module first keeps that change about the new document. `task_id`, `encode_id_part` and `Version` from `task_graph_json/document.rs`, `path_key` from its `mod.rs`, and `file_url` and the schema materialization from its `schema.rs` move to `session/json/`. Materialization takes the artifact as an argument. `Version` takes the number as a const parameter, since each document has its own format version: the task graph's is `Version<1>`, and a breaking change to one document bumps only its own. The task graph uses the moved code, and `schemas/task-graph.json` is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wan9chi
force-pushed
the
claude/dry-run-06-json-helpers
branch
from
November 9, 2026 10:44
0808e4f to
e75ba86
Compare
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.
Motivation
The run plan that
vp run --dry-run --jsonwill print (#966) uses the same task IDs, paths,versionand$schemacopy asvp run --json. Moving that code out of the task graph module first keeps the JSON PR about the new document.Changes
Code moves into
session/json/, with no behaviour change;schemas/task-graph.jsonand every snapshot are unchanged:task_graph_json/document.rs:task_id,encode_id_partandVersion;mod.rs:path_key;schema.rs:file_urland the schema materialization, which now takes the artifact as an argument.Versiontakes its number as a const parameter,Version<1>for the task graph, since each document has its own format version: a breaking change to one bumps only its own. The output and schema don't change.The task graph uses the moved code.
🤖 Generated with Claude Code
Note
Low Risk
Pure refactor with tests moved alongside; task graph JSON output and schemas are unchanged per the PR intent.
Overview
Introduces a shared
session/jsonmodule so multiplevp runJSON outputs can reuse the same task IDs, workspace-relative paths, formatversion, and$schemamaterialization logic instead of duplicating it in the task graph code.The task graph JSON path is rewired to import those helpers:
Versionbecomes a genericVersion<N>(stillVersion<1>for the task graph), and task-graph-specific schema wiring now passes itsArtifactinto the sharedschema_url/materializehelpers. No intended output or schema change—this is structural prep for additional JSON documents (e.g. dry-run run plan).Reviewed by Cursor Bugbot for commit e75ba86. Bugbot is set up for automated code reviews on this repo. Configure here.