Skip to content

COLEMAN 4.4 — Know your CI data. Reproduce your inputs.

Choose a tag to compare

@github-actions github-actions released this 15 Oct 23:37
· 60 commits to main since this release

COLEMAN 4.4 — Know your CI data. Reproduce your inputs.

COLEMAN 4.4 helps you inspect the evidence behind a test-prioritization experiment
before trusting its results. Profile native CI inputs, pin permitted source
packages and verify the exact bytes used by a recoverable TCPCI workflow.

Inspect the history before comparing policies

Bounded offline profiles describe all ten existing native Parquet artifacts with
explicit unit status, missingness, raw duration distributions and rows per execution
group. Logical builds,
variant execution groups, repeated identities and conflicting outcomes remain
separate. A deterministic inventory makes data-quality limits visible instead of
turning repeated rows into independent evidence.

Profiles preserve the source data cards and their admission decisions. A readable
file or a large row count does not establish a licensed, diverse evaluation corpus.

Pin, verify and reuse permitted source bytes

Versioned source-package recipes freeze source/version/citation, SHA-256, byte
counts, specific reviewed terms, redistribution rules, member identities and
resource limits. Raw files and conservative ZIP packages use an external immutable
cache. Complete streams must pass checksum and size validation before publication;
interruption cannot create a falsely completed blob or receipt. Identical retries
and concurrent writers converge, while conflicts fail explicitly.

Offline validation rechecks the source, archive-to-member relation and cached
members. Metadata-only receipts preserve provenance without exporting recipe-only
data. CLI acquisition checks cache/export separation first; SDK workflows use an
explicit shared preflight, repeated at publication. Archive traversal,
links, aliases, duplicates, unsupported formats and inconsistent sizes are rejected.

The library accepts explicit binary readers. An optional public HTTPS adapter
supports a reviewed origin with verified TLS and no ambient credentials, proxies
or redirects. No metadata URI silently initiates a download.

Run a small native CI example twice

Use Python 3.14 and the verified release wheel attached below. Copy
examples/corpus-materialization/ci.py
into a separate workspace and select a cache outside Git repositories and outside
the output tree:

python ci.py owned-ci-output /absolute/path/to/external-source-cache
python ci.py owned-ci-output /absolute/path/to/external-source-cache

The base package suffices. The example builds an owned deterministic ZIP, verifies
two CI correctness fixtures, executes the existing native runner, reopens its
learning checkpoints and checks persisted rankings against an independent tiny
reference. Repeating the command preserves exactly two native result rows.

Read the complete source-package guide
for executable SDK/CLI examples, byte limits and failure behavior. The
corpus guide
covers profiles, the inventory and admission boundaries.

Validation you can reproduce

The integrated implementation passed 1,947 tests with 95.21% combined
statement/branch coverage
, plus lint, formatting, both type checkers, Pylint,
structural checks, strict documentation and package/install tests. Installed
base-wheel workflows run outside the checkout with real native CI/checkpoints.
Golden/version/compatibility checks, source corruption, interruption, concurrent
publication, compressed-stream boundaries and malformed archive/resource-limit
cases accompany the implementation. All confirmed PR findings were reproduced or
verified and corrected; local-only OpenCodeReview and manual exclusions covered
every changed file before integration.

Compatibility and honest evidence

This additive 4.x release reuses existing runner, results, sinks, artifacts and
checkpoints. Existing native outputs and older domain artifacts keep their meaning.
New profile, package, receipt and cache contracts require explicit schema version 1;
unknown versions reject. No old row is silently migrated into a source-admission
or scientific success claim.

Limits apply per operation, with trusted private local filesystem parents. The
cache has no global quota/eviction policy; this release is not a hostile-filesystem
sandbox or a hard operating-system deadline for network acquisition. The built-in
archive recipe excludes tar, ZIP64 and additional compression methods. The optional
HTTPS adapter is limited to raw.githubusercontent.com; explicit library readers
remain independent of that transport.

All ten existing registrations remain blocked pending source-specific admission
evidence. All seven required diversity regimes remain uncovered. The owned
correctness fixtures share one dependence group; they establish functional
integrity and recovery, not independent projects or algorithm superiority.
Negative and inconclusive evidence remains valid.

The diversified benchmark program in
#261 stays open. Next come
source-specific historical and controlled-fault adapters, synthetic stress cases,
comparable baselines, protected statistical protocols and frozen cross-corpus
reports. COLEMAN remains centered on CI test-case prioritization and selection.

Implemented in #284 and
#285.

Full changes from 4.3.