Pulse 1.0.0-beta.6 betaExact, immutable release documentation.Browse latest
Documentation platform maintainersactiveReviewed 2026-10-04Review by 2027-01-12

Environment-variable reference#

Pulse canonical handlers do not receive ambient process environment access. Handler authority comes only through the documented ctx capabilities and project/provider bindings. The variables here configure release tooling, compatibility helpers, or repository tests.

Do not use these variables as a substitute for ctx.config, ctx.secret, or provider bindings. Secret-bearing compatibility URIs must be handled as credentials and must not be copied into diagnostics.

Index#

VariableScopeStability
PULSE_RELEASE_SHARED_PACKContributor and test-only configurationHarness-internal; outside the application compatibility contract.
PULSE_RELEASE_SHARED_PACK_SHA256Contributor and test-only configurationHarness-internal; outside the application compatibility contract.
PULSE_RELEASE_FEATURE_REPORT_DIRContributor and test-only configurationHarness-internal; outside the application compatibility contract.
PULSEWASM_SUITE_TASKContributor and test-only configurationHarness-internal; not a user or application setting.
PULSE_B02_BASELINE_ROOTContributor and test-only configurationContributor/test-only; outside the application compatibility contract.
PULSE_B02_USAGE_DIRContributor and test-only configurationHarness-internal test control; not a user or application setting.
PULSE_B03_USAGE_DIRContributor and test-only configurationHarness-internal test control; not a user or application setting.
PULSE_FASTLY_BINSupported tooling configurationSupported Beta tooling override.
PULSE_VICEROY_BINSupported tooling configurationSupported Beta tooling override.
PULSE_PROFILESupported tooling configurationSupported project-selection input.
PULSE_RELEASE_REFContributor and test-only configurationRepository release-workflow internal; not an application setting.
PULSE_RELEASE_SHAContributor and test-only configurationRepository release-workflow internal; not an application setting.
PULSEWASM_ARTIFACTS_DIRContributor and test-only configurationContributor/test-only.
PULSEWASM_TEST_TMP_ROOTContributor and test-only configurationContributor/test-only; may change with test-runner updates.
PULSE_FASTLY_REALITY_EVIDENCEContributor and test-only configurationContributor/release tooling override.
PULSE_FOUR_MODE_EVIDENCEContributor and test-only configurationContributor/release tooling override.
PULSE_SOURCE_REVISIONContributor and test-only configurationRepository release-evidence internal; not an application setting.
PULSE_SOURCE_IDENTITY_KINDContributor and test-only configurationRepository release-evidence internal; not an application setting.
PULSE_SOURCE_DIGEST_SHA256Contributor and test-only configurationRepository release-evidence internal; not an application setting.
PULSE_SOURCE_FILE_COUNTContributor and test-only configurationRepository release-evidence internal; not an application setting.
PULSE_FAKE_FASTLY_CAPTUREContributor and test-only configurationFixture-only; not a public tooling setting.
PULSE_FAKE_VICEROY_CAPTUREContributor and test-only configurationFixture-only; not a public tooling setting.
PULSE_ES256_REPRODUCTION_ROOTContributor and test-only configurationContributor/test-only proof reproduction control.
PULSE_ES256_REPRODUCTION_ARCHIVEContributor and test-only configurationContributor/test-only proof reproduction control.
PULSE_RUST_CARGOContributor and test-only configurationContributor/test-only proof reproduction control.
PULSE_RUSTCContributor and test-only configurationContributor/test-only proof reproduction control.
PULSEWASM_MEM03_BASEContributor and test-only configurationContributor/test-only proof reproduction control.

Supported tooling configuration#

Documented environment inputs accepted by release tooling. These configure tools, not handler authority.

PULSE_FASTLY_BIN#

Selects the Fastly CLI binary used for external target inspection and local Compute execution.

PropertyContract
ValueAbsolute or relative executable path
DefaultNo explicit path; discover fastly on PATH.
PrecedenceAn explicit binary option wins, then PULSE_FASTLY_BIN, then PATH discovery.
ConsumerFastly CLI inspection and the external Compute reality gate.
Secret safetyNot a secret. Do not point it at an untrusted executable.
StabilitySupported Beta tooling override.
Source ownerspackages/provider-fastly/src/testing/fastly-cli.js

PULSE_VICEROY_BIN#

Selects an inspected Viceroy executable for direct local Compute execution when no explicit Fastly CLI launcher is selected.

PropertyContract
ValueAbsolute or relative executable path
DefaultUnset; discover the Fastly CLI first, then Viceroy, on PATH.
PrecedenceAn explicit launcher choice wins. Without one, an explicit Fastly CLI path selects CLI ownership; otherwise an explicit viceroyBinary or PULSE_VICEROY_BIN selects direct Viceroy execution.
ConsumerExternal Fastly Compute reality gates, either as the direct local engine or as an explicit Fastly CLI engine override.
Secret safetyNot a secret. Do not point it at an untrusted executable.
StabilitySupported Beta tooling override.
Source ownerspackages/provider-fastly/src/testing/fastly-cli.js

PULSE_PROFILE#

Selects the flat Pulse project profile when no explicit --profile option is supplied.

PropertyContract
ValuePulse profile name
DefaultUnset; use pulse.defaultProfile when declared.
Precedence--profile wins, then PULSE_PROFILE, then pulse.defaultProfile.
ConsumerProject-aware Pulse CLI commands using the .pulse/config.ts convention.
Secret safetyNot a secret. It selects a committed profile and never carries resolved binding values.
StabilitySupported project-selection input.
Source ownerswasm/packages/cli/src/project-config.js

Contributor and test-only configuration#

Repository harness controls. They are intentionally outside the application compatibility contract.

PULSE_RELEASE_SHARED_PACK#

Reuses one clean-source package set through verified private copies; independent determinism construction bypasses reuse.

PropertyContract
ValueDirectory path
DefaultUnset; packing constructs fresh packages.
PrecedenceThe seal supplies its own attempt-local directory to consumer tasks.
ConsumerRelease package construction and installed acceptance.
Secret safetyNot a secret. Contains verified candidate tarballs and their receipt.
StabilityHarness-internal; outside the application compatibility contract.
Source ownersscripts/pack-release.cjs, scripts/release-shared-pack.cjs

PULSE_RELEASE_SHARED_PACK_SHA256#

Rejects receipt changes before validating source identity and every shared package file.

PropertyContract
ValueSHA-256 digest
DefaultUnset; required when a shared package directory is supplied.
PrecedenceThe seal pins the receipt digest before launching consumer tasks.
ConsumerShared release package receipt verification.
Secret safetyNot a secret. Identifies source-bound package evidence.
StabilityHarness-internal; outside the application compatibility contract.
Source ownersscripts/release-shared-pack.cjs

PULSE_RELEASE_FEATURE_REPORT_DIR#

Routes each installed proof into a task-specific report for the candidate release decision.

PropertyContract
ValueDirectory path
DefaultUnset; focused installed tests use their own report directories.
PrecedenceThe complete feature replay assigns a fresh directory to its child runner.
ConsumerInstalled feature acceptance report routing.
Secret safetyNot a secret. Contains source, package and acceptance evidence only.
StabilityHarness-internal; outside the application compatibility contract.
Source ownerswasm/test/support/installed-acceptance-report.cjs

PULSEWASM_SUITE_TASK#

Identifies the current registered test task so forwarding target proofs have distinct reports.

PropertyContract
ValueRegistered task ID
DefaultAssigned by the test runner for each task.
PrecedenceThe runner overrides any inherited task identity.
ConsumerInstalled acceptance report routing and task harnesses.
Secret safetyNot a secret. It selects only the report filename.
StabilityHarness-internal; not a user or application setting.
Source ownerswasm/test/support/installed-acceptance-report.cjs

PULSE_B02_BASELINE_ROOT#

Identifies a restored pre-B02 checkout for alternating baseline/candidate compiler measurements.

PropertyContract
ValueDirectory path
DefaultUnset; the manual B02 benchmark requires an explicit baseline checkout.
PrecedenceSelects the baseline; the candidate is the checkout containing the harness.
ConsumerManual B02 terminal Router body cost proof.
Secret safetyNot a secret. The harness executes compiler code from this checkout; use trusted source.
StabilityContributor/test-only; outside the application compatibility contract.
Source ownerswasm/test/runtime/compiler-efficiency/b02-handler-cost.cjs

PULSE_B02_USAGE_DIR#

Passes the isolated measurement directory to the temporary compiler preload collector.

PropertyContract
ValueDirectory path
DefaultCreated separately for each sample by the B02 benchmark harness.
PrecedenceThe harness supplies and overrides this value in each child process.
ConsumerB02 AssemblyScript child-process RSS collector.
Secret safetyNot a secret. Contains temporary process IDs and peak RSS measurements.
StabilityHarness-internal test control; not a user or application setting.
Source ownerswasm/test/runtime/compiler-efficiency/b02-handler-cost.cjs

PULSE_B03_USAGE_DIR#

Keeps compiler-process RSS separate from the planning worker and cold execution measurements.

PropertyContract
ValueDirectory path
DefaultCreated separately for each sample by the B03 benchmark harness.
PrecedenceThe harness supplies and overrides this value in each compiler child process.
ConsumerB03 AssemblyScript child-process RSS collector.
Secret safetyNot a secret. Contains temporary process IDs and peak RSS measurements.
StabilityHarness-internal test control; not a user or application setting.
Source ownerswasm/test/runtime/compiler-efficiency/b03-handler-functions.cjs

PULSE_RELEASE_REF#

Carries the sealed candidate release ref into the protected publish process for an equality check against GitHub's native identity.

PropertyContract
ValueFull Git ref (refs/tags/v<version>)
DefaultUnset; the protected npm workflow derives it from the sealed candidate.
PrecedenceWhen set by the workflow, it must exactly equal GitHub's native release-tag ref.
ConsumerProtected npm publication identity binding.
Secret safetyNot a secret. It is validated rather than trusted as independent authority.
StabilityRepository release-workflow internal; not an application setting.
Source ownersscripts/release-publication.cjs

PULSE_RELEASE_SHA#

Carries the sealed candidate source commit into the protected publish process for an equality check against GitHub's native identity.

PropertyContract
ValueFull lowercase 40-character Git commit SHA
DefaultUnset; the protected npm workflow derives it from the sealed candidate.
PrecedenceWhen set by the workflow, it must exactly equal GitHub's native release-tag commit.
ConsumerProtected npm publication identity binding.
Secret safetyNot a secret. It is validated rather than trusted as independent authority.
StabilityRepository release-workflow internal; not an application setting.
Source ownersscripts/release-publication.cjs

PULSEWASM_ARTIFACTS_DIR#

Redirects generated build and test artifacts away from the default repository directory.

PropertyContract
ValueDirectory path
Defaultwasm/artifacts.
PrecedenceOverrides the repository artifact root for scripts that opt into it.
ConsumerBuild and test isolation.
Secret safetyNot a secret. Use an isolated writable directory.
StabilityContributor/test-only.
Source ownerswasm/packages/build-support/src/artifacts-dir.js, wasm/scripts/build.cjs, wasm/scripts/run-wasm-tests.cjs

PULSEWASM_TEST_TMP_ROOT#

Pins test workspaces beneath a caller-managed temporary root.

PropertyContract
ValueDirectory path
DefaultA suite-specific temporary directory.
PrecedenceWhen set, tests create their working directories beneath this root.
ConsumerDocumentation, CLI, provider, package-release, and clean-machine acceptance tests.
Secret safetyNot a secret. The directory may contain generated projects and test data.
StabilityContributor/test-only; may change with test-runner updates.
Source ownerswasm/test/docs/assert-executable-documentation.cjs, wasm/test/release/assert-release-packages.cjs

PULSE_FASTLY_REALITY_EVIDENCE#

Selects the output path for the real Fastly host evidence report.

PropertyContract
ValueFile path
DefaultUnset; the reality gate prints its normal test result without retaining a proof file.
PrecedenceWhen set, the real-host gate writes its redacted machine-readable proof to this path.
ConsumerFastly CLI-managed or direct-Viceroy local Compute reality gate.
Secret safetyNot a secret. The proof intentionally excludes secret values and authorization plaintext.
StabilityContributor/release tooling override.
Source ownerswasm/test/provider/assert-fastly-compute-reality.cjs

PULSE_FOUR_MODE_EVIDENCE#

Selects the output path for the four-mode conformance evidence report.

PropertyContract
ValueFile path
Defaultwasm/.test-results/four-mode-conformance.json.
PrecedenceWhen set, the four-mode conformance suite writes its revision-bound proof to this path.
ConsumerNode/Fastly Native/JavaScript conformance evidence.
Secret safetyNot a secret. The proof records target identities, support hashes, and test outcomes without application secrets.
StabilityContributor/release tooling override.
Source ownerswasm/test/contracts/assert-four-mode-conformance.cjs

PULSE_SOURCE_REVISION#

Propagates one source identity through an aggregate release replay so independently written evidence cannot drift.

PropertyContract
Value40-character lowercase source identity
DefaultCurrent Git commit, or a deterministic archive-tree identity outside a Git checkout.
PrecedenceWhen set by the release runner, every child evidence shard validates and reuses this exact identity.
ConsumerRelease-seal task, four-mode, and offline deployment-candidate evidence binding.
Secret safetyNot a secret. It identifies source but grants no publication or deployment authority.
StabilityRepository release-evidence internal; not an application setting.
Source ownersscripts/source-identity.cjs

PULSE_SOURCE_IDENTITY_KIND#

Labels the provenance class of the propagated source identity.

PropertyContract
ValueSource identity classification
Defaultgit-commit in a checkout or archive-tree-sha256-160 for an extracted source tree.
PrecedenceMeaningful only with PULSE_SOURCE_REVISION; the release runner supplies both together.
ConsumerRelease-seal reports, test reports, four-mode evidence, and offline candidate manifests.
Secret safetyNot a secret. It prevents an archive digest from being represented as a Git commit.
StabilityRepository release-evidence internal; not an application setting.
Source ownersscripts/source-identity.cjs

PULSE_SOURCE_DIGEST_SHA256#

Preserves the full archive-tree digest behind the compatibility-width source revision field.

PropertyContract
Value64-character lowercase SHA-256 digest
DefaultUnset for Git commits; the full archive-tree digest outside a Git checkout.
PrecedenceThe release runner supplies it with an archive-tree source identity.
ConsumerRelease-seal reports, test reports, four-mode evidence, and offline candidate manifests.
Secret safetyNot a secret. It is integrity metadata and carries no release authority.
StabilityRepository release-evidence internal; not an application setting.
Source ownersscripts/source-identity.cjs

PULSE_SOURCE_FILE_COUNT#

Carries the source-file count associated with an archive-tree digest for audit clarity.

PropertyContract
ValueNon-negative integer
DefaultUnset for Git commits; the deterministic archive-tree inventory count otherwise.
PrecedenceThe release runner supplies it with an archive-tree source identity.
ConsumerRelease-seal reports, test reports, four-mode evidence, and offline candidate manifests.
Secret safetyNot a secret. It records only the number of source files in the identity inventory.
StabilityRepository release-evidence internal; not an application setting.
Source ownersscripts/source-identity.cjs

PULSE_FAKE_FASTLY_CAPTURE#

Tells the fake Fastly CLI where to write its captured invocation.

PropertyContract
ValueFile path
DefaultUnset.
PrecedenceUsed only by the fake Fastly CLI fixture when present.
ConsumerFastly CLI surface test fixture.
Secret safetyNot a secret. The file records test arguments and paths.
StabilityFixture-only; not a public tooling setting.
Source ownerswasm/test/provider/assert-fastly-cli-gate-surface.cjs

PULSE_FAKE_VICEROY_CAPTURE#

Tells the fake Viceroy launcher where to write its captured invocation.

PropertyContract
ValueFile path
DefaultUnset.
PrecedenceUsed only by the fake direct-Viceroy fixture when present.
ConsumerFastly local-engine surface test fixture.
Secret safetyNot a secret. The file records test arguments and paths.
StabilityFixture-only; not a public tooling setting.
Source ownerswasm/test/provider/assert-fastly-cli-gate-surface.cjs

PULSE_ES256_REPRODUCTION_ROOT#

Adds an independent source-identical raw guest artifact and Rust metadata comparison to G5.

PropertyContract
ValueDirectory path
DefaultUnset; the G5 seal still performs its required local maintainer reconstruction.
PrecedenceThe --reproduction-root G5 option wins, then PULSE_ES256_REPRODUCTION_ROOT.
ConsumerOptional independent clean-container output comparison in the ES256 G5 seal.
Secret safetyNot a secret. The directory must contain only the public verifier source and build output.
StabilityContributor/test-only proof reproduction control.
Source ownerswasm/test/jwt/assert-jwt-es256-final-seal.cjs

PULSE_ES256_REPRODUCTION_ARCHIVE#

Records the byte size and hash of the independently supplied ES256 reproduction archive.

PropertyContract
ValueFile path
DefaultUnset; no external archive identity is recorded.
PrecedenceThe --reproduction-archive G5 option wins, then PULSE_ES256_REPRODUCTION_ARCHIVE.
ConsumerOptional independent clean-container archive identity in the ES256 G5 seal.
Secret safetyNot a secret. The archive must contain only the public verifier source and build output.
StabilityContributor/test-only proof reproduction control.
Source ownerswasm/test/jwt/assert-jwt-es256-final-seal.cjs

PULSE_RUST_CARGO#

Selects the Cargo executable used to reproduce the sealed first-party Rust guest proof.

PropertyContract
ValueAbsolute or relative executable path
DefaultNo explicit path; discover cargo on PATH.
PrecedencePULSE_RUST_CARGO overrides PATH discovery in the guest-link proof harnesses.
ConsumerPhase A guest-link Rust fixture compilation and toolchain recording.
Secret safetyNot a secret. Do not point it at an untrusted executable.
StabilityContributor/test-only proof reproduction control.
Source ownerswasm/test/guest-link/assert-scalar-link-control.cjs, wasm/test/guest-link/assert-memory-matrix.cjs, wasm/test/guest-link/assert-final-artifact-reality.cjs

PULSE_RUSTC#

Selects the Rust compiler used to reproduce the sealed first-party Rust guest proof.

PropertyContract
ValueAbsolute or relative executable path
DefaultNo explicit path; discover rustc on PATH.
PrecedencePULSE_RUSTC overrides PATH discovery in the guest-link proof harnesses.
ConsumerPhase A guest-link Rust fixture compilation and toolchain recording.
Secret safetyNot a secret. Do not point it at an untrusted executable.
StabilityContributor/test-only proof reproduction control.
Source ownerswasm/test/guest-link/assert-scalar-link-control.cjs, wasm/test/guest-link/assert-memory-matrix.cjs, wasm/test/guest-link/assert-final-artifact-reality.cjs

PULSEWASM_MEM03_BASE#

Selects an explicit baseline generator revision for paired semantic and allocator measurements.

PropertyContract
ValueGit commit or ref
DefaultMerged GEN01 commit 8a6f2ff.
PrecedenceWhen set, selects the baseline generator source loaded from git; all other dependencies come from the candidate checkout.
ConsumerManual MEM03 Fastly schema encode materialization proof.
Secret safetyNot a secret. Use only a trusted baseline generator revision for the proof.
StabilityContributor/test-only proof reproduction control.
Source ownerswasm/test/runtime/compiler-efficiency/mem03-encode-materialization.cjs

Standard process variables#

Pulse also observes normal operating-system inputs such as PATH while locating external tools. Standard process variables are not renamed as Pulse configuration and are outside this catalog.

Browse other documentation