Documentation

DOC / 05 / START

Incremental builds

Use verified no-ops, explicit lazy-route dependencies, observable reuse, and private cache controls without weakening atomic publication.

In this guideIncremental builds
Getting startedProject structureCLI referenceDeveloper loopIncremental buildsRouting and pagesRust viewsEvents and foldsSchemas and snapshotsHyphae verified syncTyped contentBrowser runtimeDOM ownershipNative runtime previewPortable deploymentFull-stack betaOpenSDK previewComponents and languagesBrowser framework conformanceTooling protocolCompatibility and deprecationAdaptive assetsArtifact trustRelease trustPerformance evidenceErrors and diagnosticsVoluntary telemetryBuild and deployCrates and APILicensing and policy

A verified no-op

Before starting the client or site compiler, pliego build verifies the existing receipt and graph, captures the current build context, and compares every bound input. An exact match preserves the publication byte-for-byte and records a no-op.

shell
pliego build
pliego build
pliego cache status
# PLIEGO cache: NoOp | 0 rendered | … reused

Declare lazy-route causality

rust
let guide = Page::lazy(
    "/guide",
    guide_head(),
    ["src/main.rs", "content/guide.md"],
    || guide_view(),
);

Page::lazy executes its renderer only when one of its declared sources changed. Unaffected route bytes are copied from the verified prior publication into a fresh stage. Page::new remains eager, and missing declarations fall back to conservative allSources invalidation.

Observe and clean private state

shell
pliego cache status
pliego cache status --format json
pliego cache clean

Status verifies the current output before reporting changed sources, rendered and reused artifact counts, receipt transition, and phase timings. Clean removes only last-build.json and last-rebuild.json under target/.pliego; Cargo outputs and the published site remain intact.

Engineering gate, not an adoption claim

shell
npm run check:g4-engineering

The gate scaffolds every official starter outside the workspace and proves executed build, verified no-op, selective route reuse, corrupted-record rejection, cache cleanup, and post-clean artifact verification. Publishable timing evidence must name one clean exact revision; a dirty run validates the harness only.