Skip to content

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.