Repository navigation
Conversation
… no Run Phase 5 of the declutter plan, third step. The toolkit registered the CLI run driver for every sidecar product, and the palette header showed Run and Stop for every diagram. In ndf, whose CLI has no `run`, Run invoked `ndf run <doc> --out-dir wf-out ...`; in chisel-ide, the library-mode mlir-viewer and read-only profiles it invoked a command nothing registered. SidecarProfileInput.runDriver: false registers no driver and offers no resume. The host derives clientBehavior.runDriver from the profile, as it does chatBackend, and the header adds Run and Stop only when it is not false. sv and vhdl keep their driver: `hdl run` simulates through it. Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
The host derives resumeAtStep with runDriver, so a hand-built profile that claims resuming but has no driver offers no "Rerun from here" and no stepper resume, both of which call runWorkflow. The edge toggle (what a run puts on the edges) and the Agent Tools switches, whose two commands only the run driver registers, go with Run and Stop. The input flag is cliRuns, so it no longer shares a name with the profile's run driver factory; the toolkit builds the driver only when the CLI runs. The header's choice is one pure function the test checks, instead of a regex over the source; the derived-behaviour host tests share one file. Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
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.
Phase 5 of the declutter plan, third step. Cut from main; independent of the other open PRs. Expected overlap: #124 moves
DiagramClientBehaviorinto@dialogram/shared; whichever lands second carries the newrunDriverfield across (one line, plus theProductClientBehavioromit list).The defect
The toolkit registered
CliRunDriverfor every sidecar product, andtool-palette-header-controls.tsadded Run and Stop ("Run workflow") to every diagram's palette header. Where nothing runs the diagram, the buttons still did something:run(subcommands: build, check, show, trace, query, report, diff, impact, export, id, fix, diagram, pto-release, coverage, dependencies, allocate), and its profile says "Run driver: there is none". Run invokedndf run <doc>.md --out-dir wf-out --keep-intermediates ....sv and vhdl are not affected: hdl-sidecar's
hdl run"simulates a unit through its testbench; the platform's run driver calls this". (The declutter review had listed them as runless; that was wrong.)The change
SidecarProfileInput.cliRuns?: boolean, defaulttrue.falsebuilds no run driver, noresume_failed_runchat tool, and noresumeAtStep.clientBehavior.runDriverfromDiagramProfile.runDriverbeing present, next tochatBackend, and derivesresumeAtStepwith it (true only when the product claims it and a driver exists); a product's own values are overwritten.runHeaderControls()says so (runDriver !== false), and the property panel shows the Agent Tools switches, whoseset/getAgentToolConfigonly the driver registers, only whenoffersRun(). A webview the host did not describe keeps them as before. "Rerun from here" and the stepper's resume follow the derivedresumeAtStep.ndf-ide then sets
cliRuns: falseand drops itsrunWorkflowcommand contribution and eight run settings, in its own PR once this lands (its profile cannot name the field before it exists). Dropping the run setting keys and command ids from its profile also needs #120, which makes them optional.Tests
Toolkit:
runDriver: falsegives no driver, no resume tool, noresumeAtStep. Host: the derived flag follows the profile and overrides a product's value; the pinned webview HTML gains"runDriver":false. Client:offersRun()follows the flag and defaults to offering; the header asks it before adding either button. The twin test lists the new derived field.Typecheck 5/5, neutrality 5/5, client 364, extension-core 333, extension build green.
From the review
Taken:
resumeAtStepderived with the driver (a hand-built profile could offer "Rerun from here" with nothing to run it); the edge toggle and the Agent Tools switches gated with Run and Stop; the input renamedcliRunsso it no longer shares a name with the profile's factory; the driver closure built only when it runs; a purerunHeaderControls()tested instead of a regex over the source (the client tests have no DOM, and adding one would add dependencies); the host's derived-behaviour tests in one file. Corrected: the changelog no longer claims read-only toolkit profiles lose Run (none exists in-tree; a read-only one keeps the default like any other). Left for #120: the run setting keys are still required on main.https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv