Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 17 additions & 17 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,30 @@ edition = "2024"
rust-version = "1.85.0"
license = "MIT"
repository = "https://github.com/pulseengine/kiln"
version = "0.3.6"
version = "0.4.0"


[workspace.dependencies]
anyhow = "1.0"
wit-bindgen = "0.41.0"

# Internal crate versions
kiln-error = { path = "kiln-error", version = "0.3.6", default-features = false }
kiln-sync = { path = "kiln-sync", version = "0.3.6", default-features = false }
kiln-format = { path = "kiln-format", version = "0.3.6", default-features = false }
kiln-foundation = { path = "kiln-foundation", version = "0.3.6", default-features = false }
kiln-decoder = { path = "kiln-decoder", version = "0.3.6", default-features = false, features = ["std"] }
kiln-debug = { path = "kiln-debug", version = "0.3.6", default-features = false }
kiln-runtime = { path = "kiln-runtime", version = "0.3.6", default-features = false }
kiln-logging = { path = "kiln-logging", version = "0.3.6", default-features = false }
kiln-instructions = { path = "kiln-instructions", version = "0.3.6", default-features = false }
kiln-component = { path = "kiln-component", version = "0.3.6", default-features = false }
kiln-host = { path = "kiln-host", version = "0.3.6", default-features = false }
kiln-intercept = { path = "kiln-intercept", version = "0.3.6", default-features = false }
kiln-math = { path = "kiln-math", version = "0.3.6", default-features = false }
kiln-platform = { path = "kiln-platform", version = "0.3.6", default-features = false }
kiln-panic = { path = "kiln-panic", version = "0.3.6", default-features = false }
kiln-wasi = { path = "kiln-wasi", version = "0.3.6", default-features = false }
kiln-error = { path = "kiln-error", version = "0.4.0", default-features = false }
kiln-sync = { path = "kiln-sync", version = "0.4.0", default-features = false }
kiln-format = { path = "kiln-format", version = "0.4.0", default-features = false }
kiln-foundation = { path = "kiln-foundation", version = "0.4.0", default-features = false }
kiln-decoder = { path = "kiln-decoder", version = "0.4.0", default-features = false, features = ["std"] }
kiln-debug = { path = "kiln-debug", version = "0.4.0", default-features = false }
kiln-runtime = { path = "kiln-runtime", version = "0.4.0", default-features = false }
kiln-logging = { path = "kiln-logging", version = "0.4.0", default-features = false }
kiln-instructions = { path = "kiln-instructions", version = "0.4.0", default-features = false }
kiln-component = { path = "kiln-component", version = "0.4.0", default-features = false }
kiln-host = { path = "kiln-host", version = "0.4.0", default-features = false }
kiln-intercept = { path = "kiln-intercept", version = "0.4.0", default-features = false }
kiln-math = { path = "kiln-math", version = "0.4.0", default-features = false }
kiln-platform = { path = "kiln-platform", version = "0.4.0", default-features = false }
kiln-panic = { path = "kiln-panic", version = "0.4.0", default-features = false }
kiln-wasi = { path = "kiln-wasi", version = "0.4.0", default-features = false }

# Note: Safety level presets should be defined in individual crate Cargo.toml files
# as workspace.features is not supported by Cargo
Expand Down
2 changes: 1 addition & 1 deletion safety/requirements/architecture-decisions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,7 @@ artifacts:
created-by: ai
model: claude-opus-4-8
timestamp: 2026-07-02T07:40:14Z
release: v0.4.0
release: v0.5.0
links:
- type: satisfies
target: REQ_WITNESS_COV
Expand Down
10 changes: 5 additions & 5 deletions safety/requirements/functional-requirements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ artifacts:
relation must be accepted. The relation is currently wrong in BOTH
directions (too permissive AND too strict). Issue #149.
status: proposed
release: v0.4.0
release: v0.5.0
tags: [wasm-gc, reference-types, subtyping, spec-conformance, release-v0.3.5]
links:
- type: derives-from
Expand Down Expand Up @@ -910,12 +910,12 @@ artifacts:
created-by: ai
model: claude-opus-4-8
timestamp: 2026-07-02T07:40:03Z
release: v0.4.0
release: v0.5.0

- id: SR-30
type: requirement
title: wasi:cli/run export resolution honors the instance-import offset in the component-instance index space
status: implemented
status: verified
description: "resolve_command_entry shall resolve a wasi:cli/run instance export's backing instance by walking the component-instance index space (0..K-1 imported instances, K.. defined instances), offsetting export.idx by the instance-import count K before indexing parsed.instances — and return None (legacy path) if the run instance is an imported instance (export.idx < K). Today it uses export.idx directly, so a meld-fused component with instance-import stubs (K>0) fails with E5DC2 out-of-bounds. Differential oracle: wasmtime 41.0.0 runs the same fused.wasm. Must keep #364's K=0 fixture green. Issue #382 (split from #375)."
tags: [component-model, instantiation, wasi-cli-run, index-space, bug]
fields:
Expand Down Expand Up @@ -958,7 +958,7 @@ artifacts:
- id: SR-33
type: requirement
title: kilnd --wasi-fs/--dir actually grants filesystem access (no silent no-op)
status: implemented
status: verified
description: "When kilnd is given --wasi-fs/--dir <path>, the WASI filesystem capability (read_access, directory_access, and write_access for writable mappings) must actually be enabled so a Preview2 guest can read/list/open files under the preopen — matching wasmtime's --dir. Today kilnd builds WasiCapabilities::minimal() and enables env/random/io but never filesystem access, so --wasi-fs registers an unusable preopen and every op returns noent (silent no-op, violates FAIL-LOUD). Root cause: kilnd/src/lib.rs capability build + dispatcher.rs:663 directory_access gate. Differential oracle: wasmtime 42 reads the same dir. Issue #392."
tags: [kilnd, wasi, filesystem, bug]
fields:
Expand All @@ -981,7 +981,7 @@ artifacts:
created-by: ai
model: claude-opus-4-8
timestamp: 2026-07-08T06:48:52Z
release: v0.4.0
release: v0.5.0

- id: SR-36
type: requirement
Expand Down
14 changes: 14 additions & 0 deletions safety/requirements/roadmap-requirements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -459,3 +459,17 @@ artifacts:
run must be satisfied by the WasiDispatcher set (filesystem/cli/clocks/io/
random); syscall-heavy fused cores needing interfaces outside that set are
the #340-item-3 stub gap and fail loud at instantiate, not faked here.

- id: SR-35
type: requirement
title: kiln is a verified reference oracle, validated by differential testing against an external verified interpreter
status: proposed
description: "Invest kiln from 'an interpreter that works' into a reference executable oracle: (1) 'runs identically on kiln and on the shipped/dissolved path' becomes a standard differential gate for the dissolve pipeline (kiln is the wasm-side reference; gale already differentials dissolved-native vs wasmtime); (2) validate kiln's own correctness independently by differential-testing against an EXTERNAL, independently-verified Wasm reference interpreter (e.g. WasmRef-Isabelle, PLDI 2023) — an interpreter you also wrote is not its own oracle. Spec-as-machine-oracle pattern; verification-approach direction, not a defect. Relates to #283 (positioning vs Wasmtime TCB) and #280 (Verus). Issue #401."
tags: [verification, oracle, differential-testing, research, direction]
fields:
upstream-ref: https://github.com/pulseengine/kiln/issues/401
provenance:
created-by: ai
model: claude-opus-4-8
timestamp: 2026-07-08T22:48:04Z
release: v0.7.0
Loading