v0.3.0 — S3: per-test timing capture + duration-balanced CI sharding
Added
- S3 — per-test timing capture + duration-balanced CI sharding: a PHPUnit extension (
RawPHP\Warp\Timing\TimingExtension, engaged viaWARP_TIMINGS=1) records every test's duration with file attribution into a portable.warp/timingsartifact; the newwarpCLI packs CI shards to equal duration via deterministic LPT (warp shard <k>/<n>), collapsing count-based shard spread to the mean.warp timingsprints artifact stats. WarpMode::timingsEnabled(),WARP_TIMINGS_DIRenv override,bin/warpcomposer binary.bench/shard-spread.sh— S3 gate harness (count-based vs duration-balanced spread report from recorded timings).
Changed
warp shardnow exits 2 when discovery finds zero test files, keeping that error distinct from exit 3 legitimately empty shards.
This release also folds in an extensive hardening pass across the timing store, sharder, root/path resolution, and CLI boundaries (REQ-063–REQ-111).
Full Changelog: v0.2.0...v0.3.0