Comparable CI baseline matrices¶
Execute a frozen candidate matrix through COLEMAN's existing RunSpec runner, policies, Parquet results and per-build checkpoints. The application API retains raw complete rankings, selected prefixes, failed attempts and incompatible methods. It grants no protected test access, source admission or algorithm promotion.
Execute and inspect¶
Use the complete constructed CI example with the published wheel. In an activated Python 3.14+ environment, outside the repository:
python -m pip install "https://github.com/jacksonpradolima/coleman/releases/download/v4.17.0/coleman-4.17.0-py3-none-any.whl#sha256=e5a272ddc0edf72bd909a743fa2b3bc0dfeb8a02871c487ab22683cddeea40ca"
curl --fail --location \
"https://raw.githubusercontent.com/jacksonpradolima/coleman/a30cb5570bfeb7b18af1c7dc1814e1780e7bf8d6/examples/comparable_baselines.py" \
--output /tmp/coleman-ci-baselines.py
python /tmp/coleman-ci-baselines.py /tmp/ci-baseline-evidence
The script's __main__ guard is required for native spawned workers. It freezes
three causal builds, three tests per build, one seed, one native-work budget and
all thirteen method declarations. Twelve execute; the external DANTE candidate
remains incompatible with an explicit reason. This constructed example is one
family, not independent evidence from three projects.
Use the matrix API for execution and replay. A saved native RunSpec contains the
typed binding plus a legacy factory placeholder; plain coleman.api.run does not
load extension callbacks and cannot reproduce a qualified matrix cell.
The reusable application interface is:
from coleman.application.baselines import run_baseline_matrix, read_baseline_matrix
# plan is a validated BaselinePlan assembled from verified source observations.
report = run_baseline_matrix(plan, "/tmp/ci-baseline-evidence")
# Locate the printed/returned plan/runtime scope before inspecting complete.json.
verified = read_baseline_matrix("/tmp/ci-baseline-evidence/baseline-matrices/PLAN_HASH/RUNTIME_HASH")
assert verified == report
BaselinePlan requires version 1, an interpreted source with its URI, original
content fingerprint, license declaration, complete test membership and explicit
clock/evidence basis. It freezes one development fold, candidate IDs, seeds,
ratios and common cooperative resource bounds. Rows and dimensions canonicalize;
duplicate identities reject. Every candidate gets identical source membership,
RNFail budget-censored feedback and declared budgets. Source references record
provenance; source-specific verification and admission
remain separate prerequisites for empirical claims.
Candidate behavior¶
| Method ID | Decision inputs and fixed behavior |
|---|---|
seeded_random_v1 |
Actual native Random policy, seeded per cell |
original_order_v1 |
Producer-attested full base order; unavailable if absent |
shortest_prior_v1 |
Predecision cost estimate, otherwise own observed selected history |
recent_failure_v1 |
Most recent actually observed failure first |
failure_frequency_v1 |
Failures divided by actually observed executions |
recency_duration_v1 |
Frequency plus reciprocal failure distance, divided by prior duration with a declared 1 ns floor |
ucb_c1_v1 |
Native UCB, exploration constant 1 |
thompson_beta11_v1 |
Native Thompson sampling, Beta(1,1) prior |
discounted_ucb_095_c1_v1 |
Native discounted UCB, discount .95 and exploration 1 |
linucb_alpha05_v1 |
Native contextual LinUCB, alpha .5; complete consistently defined prior features required |
portfolio_random_ucb_v1 |
Native Random/UCB portfolio, exploration 1 and window 20 |
unattainable_failure_first_v1 |
Current failures first, then actual cost and ID; explicitly unattainable complete-truth reference |
external_dante_prioritization |
Not qualified; primary-artifact investigation below |
Deterministic heuristics break remaining ties by stable test ID. Missing cost or history sorts after known inputs and increments an explicit fallback count. Unknown outcomes never become passing feedback. Noncontextual native learners retain their existing seeded initial shuffle; LinUCB evaluates native contextual scores from the first build. Original-order, heuristic and oracle candidates apply their declared rule from the first build. Scores, rewards and observed failure frequencies do not become calibrated probabilities. The oracle label claims neither a deployable algorithm nor global mathematical optimality.
Native policy RNG state is owned by each matrix agent and included in its native checkpoint. Binding to the existing process-global policy RNG lasts only through serialized policy calls and restores the prior binding even after errors. This adapter requires process isolation; it does not claim thread safety or change the legacy runner's checkpoint format or random behavior.
Quantities and clocks¶
Reported source duration is additive test work in seconds. This projection does
not prove whole-runner occupancy or CI elapsed savings. The native bandit projects
costs to binary32; the source budget remains binary64 source work times the frozen
ratio. This matrix's loader computes source work with math.fsum in canonical
source order before constructing the native bandit. Parallel reduction order
cannot change its budget or mathematical digest; legacy native loaders retain
their existing sums. Selection reproduces native sequential binary64 prefixes. Independent
rational arithmetic checks NAPFD, midpoint-cost APFDc, recall, selected work and
first-failure work against that exact projection. Any projected-work excess over
the declared budget is a separate measurement.
Quality uses the full test/failure universe. Zero-failure ratios are unavailable; the unchanged legacy Parquet fallback remains 1. Nondetection is right-censored with null time; an observed failure at zero work remains observed zero. Unknown, unavailable and nonfinite source truth cannot execute; negative physical costs reject. Signed finite contextual features retain their own allowed minimum. No target duration or outcome is passed to an ordinary heuristic's decision view.
Real preparation, inference and learning elapsed seconds are recorded separately from modeled test work. Native-process elapsed/CPU seconds are cumulative within an invocation; peak RSS is MiB for that executable. Host invocation elapsed includes bootstrap and publication. These are variable observations, not deterministic mathematical result identity. Missing interrupted costs remain unavailable.
Source-point-in-time execution requires original decision and label clocks;
features must be available at the decision. Known labels arriving after the next
decision make synchronous replay incompatible. Missing historical clocks may be
explicitly declared assumed_order_only for post-hoc simulation; no timestamps
are invented and no historical admission follows. Original order and context
cannot be inferred from a loader's lexical sort or today's target.
Artifacts, recovery and compatibility¶
flowchart LR
S[Verified source observations] --> P[Frozen v1 development plan]
P --> E[Explicit eligibility per candidate]
E --> R[Existing RunSpec runner and process worker]
R --> A[Checkpointed native or heuristic agent]
A --> O[Independent per-build reference check]
O --> D[Immutable domain records and native Parquet]
D --> C[Existing per-build checkpoint]
C --> N[Native completion and byte inventory]
N --> M[Complete grid report and completion receipt last]
R --> T[Durable physical attempt events]
T --> M
Artifacts live under baseline-matrices/<plan hash>/<installed runtime hash>.
The runtime includes complete SDK resource identity, Python/platform and active
base-dependency versions. It excludes unrelated host packages and optional tools;
it does not attest hardware, every native binary or upstream honesty. A runtime
change creates a new scope, preventing accidental cross-runtime checkpoint reuse.
Each raw observation carries attempt_id separately from data provenance.
record.provenance.source_revision identifies the original frozen source
content; spec_fingerprint hashes the typed native binding stored in the resolved
RunSpec extension. It is not the hash of the entire path-dependent RunSpec.
Logical cell identity excludes output paths and attempt IDs. Mathematical identity
excludes physical timing and native run paths; raw record identity retains them.
The matrix lock serializes local orchestration. Each native child separately owns its execution lock through completion, including when its parent dies. These are POSIX advisory locks on a trusted local filesystem, not distributed locks. The same elapsed, peak-memory and output limits apply per invocation. Checks happen between phases and can overshoot during an operation; they are not an OS sandbox. Earlier attempts remain in the cost ledger after checkpoint continuation.
A started attempt publishes before native execution. An interrupted start without a terminal event stays visible with unknown costs. Failed cells remain terminal results on retry; they are not silently rerun until favorable. Completed cells verify their actual bytes without re-execution. Incomplete cells resume through native checkpoints, preserving the first immutable per-build evidence. An aborted or unavailable cell prevents a matrix completion receipt. After recording the partial grid and terminal attempt, a graceful KeyboardInterrupt/SystemExit is re-raised so the caller actually stops. A terminal failed cell can complete the inventory without pretending its execution succeeded.
Strict readers reject missing/old/future schema versions, changed evidence,
missing native rows/checkpoints and incompatible units. There is no implicit
migration of old artifacts. Existing native results remain readable through their
existing readers; they do not acquire baseline provenance retroactively.
read_baseline_matrix verifies a moved completed directory without following its
old recorded input paths or unpickling checkpoints. Resume requires the original
compatible execution scope; it does not automatically relocate checkpoint state.
V1 snapshots are bounded to 512 builds, 10,000 tests/build, 100,000 total test cells, 64 seeds, 16 budgets and 65,536 native result cells. Strict JSON artifacts are at most 16 MiB; native input Parquet is at most 64 MiB. These are qualification bounds, not permission to drop inconvenient source rows. Larger sources require an explicitly reviewed complete snapshot or a later streaming contract.
External baseline investigation: DANTE¶
Primary sources are the ICST 2026 paper
and the immutable author artifact 18900675.
The complete ML_TCSP.zip was downloaded read-only: 3,590,599,893 bytes,
author MD5 b268b21616f6ceb396e8df89d382f298, SHA-256
a99ffc38d0caf0c9362f6b762483e6bd453fe45ed4f6b981a6dca4464495748d.
Its root MIT license and bundled LRTS MIT license were inspected separately;
these do not automatically establish every upstream project's source-code terms.
No external source or dataset is vendored or executed by this adapter.
The archive's complete ZIP64 directory has 417,906 entries. This read-only study
does not qualify it for COLEMAN's smaller bounded source-selection profiles.
Inspected component bytes were matched to the fully verified archive, including
run_prioritization.py SHA-256
3b06f6020caba91faae6617180530ac48ced9744c0deaa09bf23e1ebf7765a20.
The paper was read from the PDF included in that same verified archive.
Qualification remains explicitly blocked:
- DANTE prioritizes test classes; the existing LRTS method projection uses test methods. A reviewed common unit and complete universe are required.
- Original code excludes missing-source and nonpositive-duration cases. These exclusions cannot silently shrink a shared comparison universe.
- The paper's confidence-weighted sticky relevance and the inspected code's inverse-window weighting require a precisely named variant and validation.
- Configuration selects BM25 while the paper discusses TF-IDF. Pinning a source archive alone does not identify an equivalent experiment.
- The priority implementation's APFDc adds a correction unlike this adapter's declared midpoint-cost reference. All rankings need evaluation with one common metric, rather than copying external aggregate scores.
- Runtime, historical feature availability, cost inputs, missing-history handling and same-universe equivalence have not been qualified.
The incompatible result is an honest outcome of the investigation, not evidence against the method. No superiority, paper reproduction or algorithm-equivalence claim follows. Public provider feasibility is available; final historical confirmation remains unfinished and the four historical admission gaps documented in evidence status remain unresolved.
Published 4.17 qualification¶
The actual signed base wheel was installed outside the checkout, with all 322 SDK files verified against the release tag and no MCP dependency. The tagged example executes twelve candidates, retains 36 raw build records and preserves all 258 artifacts on retry. The completed reader verifies the native results and checkpoint frontiers without unpickling them.
Original verified Karaf Parquet contains 6,567 method observations across eight
builds. Ten eligible methods complete all 80 raw records; original order, context
and DANTE remain incompatible with explicit reasons. The mathematical digest is
sha256:7a507a9864cfa2f78ed780270703530cc16a1d4c6ee83b28d29e6ba524c5a968,
identical to both final-source runs in different directories with one versus two
Polars threads. This remains assumed-order retrospective development evidence.
An actual published 4.16 native run continues at checkpoint 8 and retries with all 28 protected files unchanged. Existing source-admission bindings are revalidated using their original producer configuration; legacy stage-ETL byte profiles can reject after a thread-setting change in both 4.16 and 4.17. No old receipt is rewritten or silently migrated.
Continue the workflow¶
Interpret raw repetitions using corpus metrics and repository-family means, then follow the evaluation guide before selecting an inference protocol.