Use this checklist before cutting a public
@proof-computer/liskov-runtime tag.
- Runtime jobs must not receive Liskov server control tokens.
- Runtime jobs must not receive managed-secrets service control tokens.
- Runtime jobs sign runtime-env and secret requests with the Acurast job-owned Ed25519 signer.
- Signed v2 requests must bind Application UID, compatibility application id, policy digest, deployment id, job id, processor id, nonce, and expiry.
- Plaintext runtime secrets must not be served through Slipway runtime-env.
- Plaintext runtime secrets must not be emitted in diagnostics or Liskov logging batches.
- Managed-secret payloads must be encrypted to the job response encryption key.
- Managed-secret encrypted payload digest and plaintext digest must be verified before installing secrets.
- Secrets protocol v2 encrypted payloads must verify the canonical response-AAD digest and the decrypted Application UID/application-id binding before installation.
- Managed-secret plaintext payload fields must match the signed request and response.
- File-target secret writes must stay under the configured base directory and
use mode
0600. - Runtime and CLI state must live under
LISKOV_HOME, defaulting to~/.slipwaywhen a home directory is available. Logging- or secrets-specific home directories must not be promoted as the user-facing model.
- Slipway, secrets, and logging runtime URLs must use HTTPS by default.
- HTTP is allowed only for localhost/test hosts or explicit insecure local override env.
- Diagnostic POSTs must be bounded and best-effort; failed diagnostic delivery must not block runtime-env or secrets startup.
- Diagnostics may report counts, status codes, revisions, hostnames, component names, and boolean capability flags.
- Diagnostics must redact string attributes that look like tokens, secrets, private keys, signatures, passwords, or authorization headers.
runtime.startandruntime.fatal.*must not expose compact bootstrap payloads or plaintext env values.- V2 diagnostic signatures must cover the normalized job and processor identities plus stage, status, sequence, timestamp, component, code, message, and attributes. Terminal delivery must remain bounded even when identity, signing, or transport hangs.
- V3 diagnostic signatures must additionally bind
runtimeInstanceIdfrom the signed runtime-bootstrap response. Bootstrap transport retries must reuse one nonce and signature for the lifetime of the process boot. - V4 diagnostic signatures must additionally bind the authenticated
applicationUid; a UID-bearing bootstrap response must never downgrade to a v2 or v3 diagnostic. - Processor coverage uses the separate
proof.liskov.processor-coverage-result.v1envelope. Its signature binds the application, policy, artifact, cycle, target, occurrence placement, processor, probe/profile versions, bounded outcomes, normalized metric digest, challenge, and replay subject. It must never reuse or alter a runtime diagnostics signature. - Slipway logging batches must contain encrypted log records only.
package.jsonmust be public-ready:private: false, a version matching the release tag, and repository metadata pointing atproof-computer/liskov-runtime-js.- The package
filesallowlist must include onlydist,LICENSE,README.md, andSECURITY.md. npm pack --dry-run --jsonmust show no source files, tests, local env, lockfiles, or generated runtime artifacts.- CI must pass typecheck, test, build, and package dry-run before a tag is pushed.