v0.6.0
Added
-
Project-wide audit agent skill (
project-audit) that scores ten dimensions
of repository health (docs↔functionality, security, config consistency,
bilingual parity, build/test, memory discipline, public-API surface, …) into a
single reproducible report (#168). -
scoot-edgeE1 status heartbeat for the optional edge fleet agent, plus the
E0 boundary documentation for the optionalscoot-edgedeployment (#172, #173). -
WebAssembly spec conformance tests for the bundled
scoot-wasmengine. A
curated subset of the official WebAssembly/testsuite (pinned at revision
193e551f) is converted offline withwast2jsonand committed under
test/wasm-spec/, then replayed against the engine by an always-run
zig build testtarget. The core stays zero-dependency (fixtures are embedded
via@embedFile; no toolchain needed at test time). See
docs/WASM_TOOLS.mdfor the
included/excluded coverage and how to regenerate (#163). -
Opt-in PostToolUse-style audit/observability hook (
[audit.hook]). After a
tool action completes (executed or policy-denied), an external Wasm package
(manifest kindaudit, compute-only) receives a structured JSON event for an
external SIEM/analytics/org-audit pipeline. Purely observational — never gates
execution — and best-effort: any failure/timeout is counted and surfaced as a
flush warning, never fatal. Default off (#137). -
Structured ReACT event sink for protocol adapters: an optional in-process
observer receives typed lifecycle events (thinking, step, observation,
policy_deny, final, …) so embedders can build protocol adapters without parsing
trace text (#156). -
Opt-in PreToolUse-style policy hook at the unified
guard()chokepoint
([tools.policy_hook]). After built-in checks allow an action, an external
Wasm policy package (manifest kindpolicy, compute-only) may further restrict
it — allow→deny only, never relaxing a built-in deny. Fail-closed on any
failure/timeout/invalid output, audited, and reflected byscoot policy check.
Default off (#136).
Fixed
scoot-wasm:iNN.trunc_fMM_s/uno longer traps on fractional inputs whose
truncated (toward-zero) integral value is in range — e.g.
i32.trunc_f64_s(-2147483648.9). The range check now runs after truncation
instead of against the raw operand, matching the spec (surfaced by the new
conformance suite, #163).scoot-wasm: hardened the loader/interpreter against hostile bytecode by
replacing unreachable-by-constructionunreachablesites with explicit decode
errors and traps, and removed an OOM→panic path in the WASI test host (#174,
#181).
Security
- Tightened the agent boundary guardrails so untrusted tool output cannot widen
authority (#176).
Documentation
- Compute-unit build guidance, trigger/discovery notes for Wasm tools, and the
scoot-edgeE0 boundary doc (#170, #172).
Install
curl -fsSL https://raw.githubusercontent.com/jamiesun/scoot/main/install.sh | shmacOS (Homebrew):
brew install jamiesun/tap/scoot # the agent
brew install jamiesun/tap/scoot-wasm # optional Wasm compute-unit host (pulls in scoot)Build flavors
Prebuilt archives are ReleaseSafe only (runtime safety checks on). If you
need a smaller binary, compile from source:
zig build -Doptimize=ReleaseSmall # smallest, fewer safety checksEach target also ships a separate scoot-wasm-* archive: the optional
standalone Wasm host. The zero-dependency core scoot binary never embeds it.