Skip to content

Releases: bk1202/proofcli

ProofCLI v0.4.2

Choose a tag to compare

@github-actions github-actions released this 16 Oct 07:16
f5702e0

Changes

Changed

  • Failed checks are easier to read in the terminal. Each failure shows where the output differs (for example $/rows/1/amount), why, and the expected and actual values on separate lines. Passing checks are summarized as a count instead of one long line each. Child stdout/stderr and the temporary directory are still printed on passing and failing runs, as before.
  • Errors that happen before a command runs (missing arguments, a missing or invalid spec, an existing artifact directory, an existing init target) now print the error itself instead of ERROR: command followed by Exit: None; elapsed: 0.000s.
  • A timed-out command is reported as timed out: exceeded the 1s limit instead of expected 1; actual True.
  • In the human output, the Artifacts: line now comes before Temporary directory (removed):.
  • Motion demos upload only to the GitHub release for the current package version, and only when that release already exists.
  • The demo and motion-demo Action examples show bk1202/proofcli@v0.4.2.

Added

  • A version-agreement check (tools/check_versions.py) that runs in CI and fails when the package version, the README install pins, the documented Action @v references, or a hard-coded release tag in the motion-demo workflow disagree.
  • README examples of the new failure output, and vertical and landscape motion demos attached to the v0.4.1 release.

Compatibility

The JSON report (--json and --report) is unchanged, and exit codes are unchanged. Scripts that parse the human-readable text may need updating: [PASS] lines are gone, Exit: is now Command exit code:, and pre-execution errors start with ERROR: <message>. Use --json for machine-readable output.

Validation workflow: runtime, Action, distribution and advisory checks.

Watch the 30-second demo. Requires Python 3.10+. Assets contain a universal Python wheel, source distribution, demo video and SHA256SUMS. PyPI publication runs separately after this release; check its workflow before assuming index availability. Commands run with your user permissions, and a pass covers only the declared assertions. See SECURITY.md and docs/audit-0.3.md for remaining limits.

ProofCLI v0.4.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:15
a640072

Changes

Fixed

  • Latch handled interrupts while supervising a process instead of raising between a pipe read and saving its bytes. A macOS CI run exposed this timing-sensitive output-loss case after the 0.4.0 drain fix.
  • Preserve bounded pipe draining when an interrupt arrives after process-tree cleanup has started. The real child-to-parent signal regression now repeats 20 times per POSIX test run.

No contract or report schema changes. Custom caller-installed signal handlers and ignored/default signals remain unchanged; ProofCLI defers only its own interruption handlers and Python's standard Ctrl+C handler during supervision.

Validation workflow: runtime, Action, distribution and advisory checks.

Watch the 30-second demo. Requires Python 3.10+. Assets contain a universal Python wheel, source distribution, demo video and SHA256SUMS. PyPI publication runs separately after this release; check its workflow before assuming index availability. Commands run with your user permissions, and a pass covers only the declared assertions. See SECURITY.md and docs/audit-0.3.md for remaining limits.

30-second motion demos

Vertical / Instagram · Landscape

Both use results captured from the actual exporter and ProofCLI. Covers, checksums and media validation are attached separately.

ProofCLI v0.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 14:36
9e081be

Changes

Fixed

  • Reject invalid UTF-8 in captured logs instead of letting replacement characters satisfy regex assertions. Reports retain the offending captured bytes as base64 and identify the first decoding error.
  • Drain pending pipe data after handled interruption, within the existing capture and drain limits.
  • Include truncation, incomplete-pipe, and encoding diagnostics in the output-capture check.

Added

  • A composite GitHub Action with Python setup, reports, exit-code propagation, and a job summary. No package installation is needed by consumers.
  • A 30-second demo built from actual exporter and CLI results, plus an intentionally failing workflow that contrasts an exit-code-only step with output verification.
  • PyPI Trusted Publishing after successful GitHub release validation, using the same checksum-verified distribution files.
  • Linux runtime and cross-platform Action integration checks.

Compatibility

Invalid UTF-8 output now fails verification, including contracts with file-only checks. Decoded log fields remain available for inspection; output_bytes_base64 preserves the captured prefix for invalid streams. Binary logs are not supported as passing text output. Existing UTF-8 contracts and spec version 1 remain supported.

Validation workflow: runtime, Action, distribution and advisory checks.

Watch the 30-second demo. Requires Python 3.10+. Assets contain a universal Python wheel, source distribution, demo video and SHA256SUMS. PyPI publication runs separately after this release; check its workflow before assuming index availability. Commands run with your user permissions, and a pass covers only the declared assertions. See SECURITY.md and docs/audit-0.3.md for remaining limits.

ProofCLI v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 14:06
cfd5a56

Changes

Fixed

  • Stop output overflow with bounded pipes instead of unbounded temporary logs.
  • Bound regex/content verification using a supervised assertion worker/deadline.
  • Clean ordinary POSIX descendants on normal completion; bound draining of pipes held by detached children.
  • Handle SIGTERM/Windows break; preserve interruption reports and execution evidence on report-write errors.
  • Compare output decimals precisely and reject precision-losing spec numbers.
  • Preserve venv interpreter paths instead of dereferencing Python symlinks.
  • Reject output links/reparse points, staged-input hard-link aliases, normalization/device aliases, overlapping destinations, lone surrogates, and oversized/nonregular specs.
  • Escape terminal controls in human diagnostics.

Added

  • Exact JSON (json_equals), exact CSV headers/ordered records, and precise mismatch locations/values.
  • Fixture fingerprints, verification_complete, and a separate assertion deadline.
  • Real regressions for lying summaries, missing records, wrong values, and unexpected columns.
  • Wheel/sdist install/rebuild gates, hashed build tools, immutable Actions pins, advisories/checksums, and gated release assets.

Compatibility

Spec version 1 and legacy invocation remain. Subset/count defaults are unchanged. Output overflow now stops execution, ordinary background POSIX children do not survive completion, and ambiguous/link-based contracts or precision-losing spec decimals are rejected. This is a pre-1.0 hardening release, not independent security certification or universal production readiness.

Validation workflow: Windows/macOS runtime, distribution and advisory gates.

Requires Python 3.10+. Assets contain a universal Python wheel, source distribution and SHA256SUMS. Installation instructions are in the README; the package is not on PyPI. Commands run with your user permissions, and a pass covers only the declared assertions. See SECURITY.md and docs/audit-0.3.md for remaining limits.