goalctl 0.2.0

Minimal Goal → Contract compiler (doctor / validate / compile)
Documentation

goalctl

最小 Goal → Contract 编译器(library + CLI)。

CLI

cargo run -p goalctl -- doctor
cargo run -p goalctl -- validate path/to/goal.yaml
cargo run -p goalctl -- compile path/to/goal.yaml -o contract.json

Goal 字段

字段 说明
id 必填
outcome 必填、非空
risk R0…R4
acceptance[] 每项必有 id + statement
invariants / forbidden / not_in_scope / touches 可选列表

Fail-closed

  • 空 outcome
  • 缺失 / 重复 acceptance id
  • 主观词 lint(如 better / hopefully / 更好)

Digest

对 不含 digest 字段 的 canonical JSON(对象 key 排序)做 sha256 hex,写回 digest。

夹具见 tests/fixtures/。