Skip to content

Releases: y4ho0/assume-zero

Release list

AssumeZero v0.1.0

Choose a tag to compare

@y4ho0 y4ho0 released this 27 Jul 15:35
Immutable release. Only release title and notes can be modified.

AssumeZero v0.1.0

AssumeZero tests finite project commands against controlled machine-environment changes and reports evidence-backed hidden assumptions.

完整简体中文文档

Highlights

  • Seven Quick scenarios and three Deep scenarios covering home, cache, environment, PATH, working-directory, temporary-directory, timezone, and locale conditions.
  • Repeated stable baselines and failure confirmation before attribution.
  • Verified 1-minimal recovery for CLEAN_ENV environment-variable names and ordered MINIMAL_PATH entries.
  • Exit-code, output-text, regular-expression, and file oracles.
  • Terminal, JSON, Markdown, and JUnit XML reports with bounded, redacted output.
  • Working-tree and Git-clean copied workspaces with source-integrity, size, hardlink, and symlink protections.

Install

Requires Rust 1.80 or newer:

cargo install \
  --git https://github.com/y4ho0/assume-zero \
  --tag v0.1.0 \
  --locked

For a completely immutable source reference:

cargo install \
  --git https://github.com/y4ho0/assume-zero \
  --rev 1c06b02a42f0b494e2f31bd24af44d14731c712b \
  --locked

Precompiled archives are attached for Windows x86_64, Linux x86_64, macOS x86_64, and macOS arm64. Each contains the native assumezero executable, README.md, and LICENSE. Verify downloads with SHA256SUMS.

No crates.io package is published for v0.1.0.

Security boundary

AssumeZero runs user-provided commands with the current user's privileges inside copied workspaces. It protects the source workspace from ordinary command writes, but it is not a sandbox for untrusted code. Tested commands retain the user's operating-system permissions and may deliberately access resources outside the copy.

The release commit passed three-platform CI, the Rust 1.80 MSRV job, JSON Schema validation, an installation smoke test, and the dedicated cargo audit workflow.

Known limitations

  • Only finite, non-interactive commands are supported.
  • v0.1.0 does not execute pairwise scenario combinations.
  • Descendant-process termination after timeout is best effort.
  • EMPTY_HOME does not identify the specific home file involved.
  • Timezone changes are process-level and best effort; unsupported C locale scenarios are skipped explicitly.
  • A 1-minimal recovery set is not necessarily globally minimal or a unique cause.
  • AssumeZero does not provide OS virtualization, network/database fault injection, syscall/file-access tracing, or a security sandbox.

Full release commit: 1c06b02a42f0b494e2f31bd24af44d14731c712b


简体中文

AssumeZero 针对受控的机器环境变化测试有限项目命令,并报告有证据支持的隐藏假设。

主要能力

  • 七个 Quick 场景和三个 Deep 场景,覆盖主目录、缓存、环境变量、PATH、工作目录、临时目录、时区和 Locale 条件。
  • 在归因前执行独立稳定基线和重复失败确认。
  • CLEAN_ENV 环境变量名和有序 MINIMAL_PATH 条目执行经过验证的 1-minimal 恢复。
  • 支持退出码、输出文本、正则表达式和文件 Oracle。
  • 支持终端、JSON、Markdown 和 JUnit XML 报告,以及有界、脱敏的命令输出。
  • working-tree 与 Git-clean 工作区副本,并提供源码完整性、大小、硬链接和符号链接保护。

安装

需要 Rust 1.80 或更新版本:

cargo install \
  --git https://github.com/y4ho0/assume-zero \
  --tag v0.1.0 \
  --locked

完全不可变的源码引用:

cargo install \
  --git https://github.com/y4ho0/assume-zero \
  --rev 1c06b02a42f0b494e2f31bd24af44d14731c712b \
  --locked

Release 附带 Windows x86_64、Linux x86_64、macOS x86_64 和 macOS arm64 的预编译包;每个包包含原生 assumezeroREADME.mdLICENSE。请使用 SHA256SUMS 校验下载文件。v0.1.0 没有发布到 crates.io。

安全边界与限制

AssumeZero 使用当前用户权限在工作区副本中运行用户提供的命令。它用于保护源工作区,不是运行不受信任代码的安全沙箱。v0.1.0 只支持有限、非交互式命令,不执行两两场景组合;超时后的后代进程终止、进程级时区设置和部分平台能力均为 best effort。1-minimal 集合不一定是全局最小或唯一根因。

完整发布提交:1c06b02a42f0b494e2f31bd24af44d14731c712b