Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 30 Jun 04:40
· 16 commits to main since this release
b95dd8e

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-edge E1 status heartbeat for the optional edge fleet agent, plus the
    E0 boundary documentation for the optional scoot-edge deployment (#172, #173).

  • WebAssembly spec conformance tests for the bundled scoot-wasm engine. A
    curated subset of the official WebAssembly/testsuite (pinned at revision
    193e551f) is converted offline with wast2json and committed under
    test/wasm-spec/, then replayed against the engine by an always-run
    zig build test target. The core stays zero-dependency (fixtures are embedded
    via @embedFile; no toolchain needed at test time). See
    docs/WASM_TOOLS.md for 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 kind audit, 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 kind policy, 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 by scoot policy check.
    Default off (#136).

Fixed

  • scoot-wasm: iNN.trunc_fMM_s/u no 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-construction unreachable sites 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-edge E0 boundary doc (#170, #172).

Install

curl -fsSL https://raw.githubusercontent.com/jamiesun/scoot/main/install.sh | sh

macOS (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 checks

Each target also ships a separate scoot-wasm-* archive: the optional
standalone Wasm host. The zero-dependency core scoot binary never embeds it.