perf(deployment): staleness/comparison paths no longer Roslyn-compile every script — deploy gate remains the authoritative compile
Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
This commit is contained in:
@@ -142,6 +142,20 @@ The system maintains two views per instance:
|
||||
|
||||
These are compared to determine staleness and generate diffs.
|
||||
|
||||
The comparison path is **hash-only by design**. When the Template-Derived
|
||||
Configuration is re-flattened for a comparison (the Deployments comparison page)
|
||||
or for the Transport stale-instance probe
|
||||
(`IStaleInstanceProbe.GetCurrentRevisionHashAsync`, used per-instance across a
|
||||
bundle import), the pipeline is invoked with `validateScripts: false`, which
|
||||
skips **only** the expensive Roslyn script-compilation stage
|
||||
(`ValidationService.ValidateScriptCompilation` — a non-collectible assembly load
|
||||
per script). Structural and semantic validation still run. These read-only paths
|
||||
need only the flattened config and its revision hash, not a compile, so a script
|
||||
that does not currently compile still yields a comparison. The **deploy gate
|
||||
remains the authoritative compile**: instance deployment re-flattens with
|
||||
`validateScripts: true` (the default), and a script that fails to compile blocks
|
||||
the deployment (see Site-Side Apply Atomicity).
|
||||
|
||||
## Deployable Artifacts
|
||||
|
||||
A deployment to a site includes the flattened instance configuration plus any system-wide artifacts that have changed:
|
||||
|
||||
Reference in New Issue
Block a user