Skip to content

ReproMin v0.1.0.dev14

Pre-release
Pre-release

Choose a tag to compare

@fly1d fly1d released this 27 Oct 08:27
df45c6a

Added

  • Doctor and reduction accept --match-text for a literal failure message,
    including brackets, parentheses, and other regular-expression punctuation.
    It is mutually exclusive with the existing regex --match option and uses
    the same report, session, and replay failure contract.

Changed

  • After a verified baseline, Doctor's text output provides a copyable reduction
    command with the checked options. Direct CLI suggestions use a first-trial
    budget of 25 attempts and 300 seconds with the semantic reducer disabled;
    configuration-file invocations keep their configured limits and reducers.
    Suggestions are quoted for Bash/Zsh or Windows PowerShell, and are omitted
    when explicit environment overrides would be repeated. JSON and privacy-safe
    Markdown output remain unchanged.
    The suggested launcher uses the checked ReproMin installation even when the
    working directory or PYTHONPATH contains another repomin module.
  • The English and Chinese quick starts keep the project's interpreter and
    dependencies active while ReproMin runs from a separate tool environment.
    The Ruby Gemfile walkthrough now covers reduction, fingerprint validation,
    and an independent oracle rerun.

Fixed

  • Source distributions now include the Pipenv and shared MSBuild props fixtures
    used by the shipped offline benchmark runner.

  • Reduction preflight now applies the same effective ignore and protected-path
    rules as Doctor. Explicitly excluded generated entries no longer block a
    reduction after Doctor succeeds; unsafe entries that remain selected are
    still rejected before execution. Gitignore rule files are checked before
    reading so exclusions cannot hide unsafe repository rule-file links.
    Selected regular files with missing directory-entry link counts are inspected
    directly, preserving hardlink rejection on Windows as well as POSIX.
    Explicit rule-file paths through repository directory aliases receive the
    same link checks before their contents are read.

  • POSIX reproduction commands now start without /dev/fd, including when
    parallel execution allocates multi-digit pipe descriptors. The startup gate
    still blocks command execution until cancellation tracking is registered.

  • Python exception oracles now retain stable module/function identity across
    fresh execution copies under host /workspace directories. Reports record
    the frame policy for compatible replay; old Python sessions require restart.

  • Doctor and reduction reject missing or non-directory output parents before
    running the failure command. Create the parent directory explicitly instead
    of completing a reduction that cannot publish its payload and report.

  • Windows host commands preserve quoted executable and script paths, literal
    arguments, and shell operators instead of applying argument-list escaping to
    the command text. Commands containing spaces now reach the same failure in
    Doctor, reduction, and replay.

Compatibility and validation

  • Python exception reports keep schema version 1 and add
    normalization_policy: execution-root-relative-v1. Reports without the field
    retain legacy replay behavior; Python sessions created without this policy
    must start a new session. Other signature modes retain checkpoint compatibility.
  • This remains a pre-alpha development release. The host backend executes the
    reproduction command with the current user's permissions. Reduction and replay
    validate the configured failure contract; they do not establish a root cause.
  • The integrated changes passed the ten required CI checks on Linux, macOS,
    Windows, Python 3.9/3.13/3.14, JDK 11/21, GitHub Action, offline benchmarks,
    packaging, and isolated wheel/source-distribution installs. Release artifacts
    require their own tag-bound validation before publication.

Verified release candidate

Source: df45c6a6565edbca15980a631cf837e25b21967e. Normal tag CI: https://github.com/fly1d/repomin/actions/runs/40469621798.
Exact stored candidate verification: https://github.com/fly1d/repomin/actions/runs/40469621956.
The wheel and source distribution below are the exact archives from that run.

Artifact SHA-256
repomin-0.1.0.dev14-py3-none-any.whl 763be17e31d0398e204c7fc5b911097ea77a7aab599da4512d53da2f55bd5267
repomin-0.1.0.dev14.tar.gz 8c061b8ef1d4af23b30bedd93e94801d151311a981981f8634f3376cb8529701

GitHub pre-release only; ReproMin is not published to PyPI.