Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 06:33
· 138 commits to main since this release

Changed (M6, second half)

  • Record the second-half validation evidence and prepare gated 0.4.0 release
    notes (M6-T08 preparation). Keep the package version at 0.1.1 until real paired
    model acceptance and the outstanding resource gates are complete.

  • Document diff inputs, table v1, version components, verdicts, overrides and
    independent display/exit thresholds; add tested fixture excerpts to the README
    (M6-T07, spec §§6, 17–18). Real paired-model acceptance and release remain pending.

  • Add four JSON/text diff goldens: captured prompt/temperature changes, a locked
    model revision, identical inputs and a torch patch update (M6-T06, spec §18).
    The capture scenario commits its changed inputs before measuring commit drift;
    identical inputs have no changes, and torch patch drift is MEDIUM under table v1.

  • Migrate Level 2 generation, model identity, custom-field, environment and file
    consistency checks to State leaves and their alternatives (M6-T05, spec §§11,
    12.12, 17). Audit projects current declarations and working files alongside
    runtime observations; standalone diff continues to use historical snapshots.
    Existing audit snapshots and lock/run schemas remain unchanged.
    Invalid lock paths, including empty paths, remain explicit consistency findings
    instead of aborting State projection.

Added (M6, first half)

  • Add reprollm diff for run IDs/prefixes, run files/directories and lock files,
    with text/JSON reports, schema validation, display filtering and independent
    exit thresholds (M6-T04, spec §§1, 6, 17–18, 23). Snapshots are contained and
    mandatory when referenced; report values are sanitized after comparison.
    The v1 report adds nullable filtered_below; summary always remains complete.

  • Compare effective State values with normalized equality, stable severity/section
    ordering, complete counts and source-conflict notes (M6-T03, spec §18).
    The diff_report v1 placeholder now requires input references, summary and
    changes. No diff writer was previously released; consumers of the placeholder
    schema must regenerate it. Lock/run schemas are unchanged.

  • Ship the normative drift table and resolve ordered profile overrides, dirty-code
    notes and package version components (M6-T02, spec §§6, 18.1–18.2). Patch drift
    lowers severity by one level: torch MEDIUM_HIGH → MEDIUM, following the
    specification rather than the conflicting LOW example in the sprint plan.

  • Project manifest, lock and run snapshots into a deterministic experiment State;
    retain every source with provenance and runtime precedence (M6-T01, spec §17).
    Three new State goldens include declared/resolved/observed values; two synthetic
    run fixtures complete projection coverage. Existing lock/run schemas and audit
    snapshots are unchanged. YAML dates in free-form fields project to stable ISO
    strings before deterministic source ordering.

Added (M5, second half)

  • Document runtime capture, structured conflicts, environment policies, raw hashes
    versus redacted snapshots, child-owned artifacts, SLURM placement and private
    reporting; add run/inspection commands to the quick start (M5-T08, spec §§1, 5, 15–16).

  • Add a real-child, dirty-repository leakage test covering both environment modes,
    argv, forbidden files, snapshots, patches and captured logs. Run the security
    gate separately in CI and before building release distributions (M5-T07,
    spec §§5.1, 16, 22 T-06); any failure blocks publication.

  • Audit the latest valid run for file, generation, model, environment and accepted
    custom-field conflicts; preserve all structured evidence and project severities.
    Skip corrupt records with visible warnings and remove the final four runtime
    placeholders (M5-T06, spec §§5, 11, 12.12, 15). Reviewed Level 2 snapshots now
    explain missing evidence; a new post-run snapshot demonstrates a CRITICAL
    temperature conflict and exec.run_recorded PASS. Schemas are unchanged.

Validation (M5-T09 preparation)

  • Record unchanged five-project gold results, byte-identical initialization and
    full Level 1 comparisons, and independently specified runtime conflicts/latest
    matching runs. Real inference/training/judge gates remain blocked on provisioned
    resources; see the validation report.

Release note (M5, shipped in 0.4.0)

Planned for 0.3.0: the first release of the run record schema v1 writer
and the documented redaction policy. Draft notes
include sanitized inspection/conflict examples and an isolated packaging preflight
(M5-T10 preparation). Task commits are prepared; resource validation, maintainer review and CI are
still pending; no version bump, tag or publication is claimed.

Added (M5, first half)

  • Expose run, runs list, and unique-prefix runs show, with config defaults,
    child argument/exit preservation, JSON inspection, and a reviewed locked-fixture
    run snapshot showing CLI/config temperature disagreement (M5-T05, spec §§1, 5, 15).
  • Execute commands without a shell, write crash evidence before launch and an
    atomic final record, forward signals, tee opt-in redacted logs, and preserve
    child exit codes through metadata-capture failures. Persist portable paths
    and hashed machine identity (M5-T04, spec §5.1 R-01/R-02/R-05/R-06/R-10–R-12).
  • Hash repository-contained input and output files, snapshot bounded redacted
    text, and observe declared CLI/config/environment bindings with deterministic
    normalization and complete repeated-flag history (M5-T03, spec §§5, 15–16).
  • Capture CPU/GPU metadata through bounded nvidia-smi calls, hash GPU UUIDs,
    and capture SLURM/PBS/LSF namespaces with secret names omitted and values
    redacted; malformed or unavailable GPU data is explicit (M5-T02, spec §5.1 R-07/R-08).
  • Implement the nine ordered text-redaction classes, segment-based environment
    name checks, allowlisted environment capture, and streaming PEM suppression;
    execute the synthetic positive/negative/name corpus and enforce 100% branch
    coverage for the redaction module in CI (M5-T01, spec §16).
  • Accept complete JWT padding variants under the maintainer-approved
    spec correction #3, with
    all 27 segment-padding combinations covered. No schema or rule ID changes.

Release note (M4, shipped in 0.4.0)

Planned for 0.2.0: the first release of the lock schema v1 writer
(reprollm.lock, schema_version: 1). Existing manifest schema v1 remains
compatible; no schema migration is required.

Clarified

  • Keep only the four runtime consistency placeholders through M4; require an
    empty stub set after M5-T06, with a CI assertion for the current boundary.
    This maintainer-approved clarification changes no schema or rule selection
    (#2, spec §§6.1, 12.12).

Added (M4, second half)

  • Record five-project metadata validation with independently checked HF
    revisions and file hashes, offline/online stability, and authenticated
    gated-file denial without credential leakage; retain Linux H2 as a pending
    manual gate (M4-T08, spec §§4, 12, 22; validation record).

  • Reuse the bounded HF client in doctor --check-network, including mirror,
    retry, metadata-validation, and sanitized authentication failure behavior;
    document lock provenance, pinnability, offline resolution and freshness
    (M4-T07, spec §§1, 4, 22 T-04).

  • Add reviewed lock and Level 2 audit snapshots for all three complete fixtures,
    with exported-schema validation, an intentionally unavailable vLLM backend,
    API judge pinnability, and a gated-model denial (M4-T06, spec §§4, 10, 22).

Fixed (M4 dogfooding)

  • Recognize supported Apple Git version strings in doctor instead of reporting
    a parsing warning for their vendor suffix (M4-T08, spec §1).

Documentation (M4-T09 preparation)

  • Prepare draft release notes with the real
    FastChat judge lock fragment and isolated wheel/sdist packaging evidence.
    Version bump, tag and publication await the manual Linux validation gate.

Added (M4, first half)

  • Add a bounded Hugging Face Hub HTTP client with mirror support, environment-based
    authentication, sanitized errors, and deterministic retry behavior, backed by a
    hand-written offline response corpus (M4-T01, spec §4.3 and §22 T-04).
  • Resolve Hugging Face, API, and local model and dataset identities; hash prompts,
    declared files, metrics, local metadata, adapters, and bounded weights; and capture
    backend and environment provenance in online and offline modes (M4-T02, spec §4).
  • Add reprollm lock with atomic deterministic YAML writes, offline and optional API
    verification modes, large-weight control, provenance summaries, and a network-free
    --check freshness path with exit code 1 for missing or stale locks (M4-T03, spec §§1, 4).
  • Load and validate locks during audit, auto-detect Level 2, report manifest and accepted
    project-rule staleness independently, and compare locked prompt/config hashes with the
    current working tree using repository-contained paths (M4-T04, spec §§9–12.12).
  • Enforce resolved model, tokenizer, chat-template, dataset, backend, prompt, and judge
    lock metadata with provider-specific severities and provenance evidence; API snapshot
    aliases remain informational while mutable API aliases warn (M4-T05, spec §§12.4–12.9).