Skip to content

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 26 Apr 06:08

[0.3.3] - 2026-04-26

Added

  • BuildIntentFactory::fromFlags(): Centralises the match(true) resume/restart/fresh dispatch pattern duplicated across all three adapter CLIs.
  • MemoryBudgetConfig::fromCliAndConfig(): Single call to resolve CLI flags over saved config with correct precedence and zero-chunk normalisation.
  • AiControllerTrait: PHP trait for platform AI controllers — removes duplicated 7-argument AiEndpointHandler instantiation block from each controller.
  • Atomic manifest writes. BuildState::commitManifest() writes via temp file + atomic rename. Process crash leaves at most a .tmp fallback.
  • Stale lock detection at acquisition time. BuildState::initiateBuild() now checks and clears stale lock files (PID+timestamp, filemtime() fallback). Threshold: 1 hour.
  • CRC32 chunk validation. ChunkWriter appends crc32b checksum to footer; ChunkReader::verifyCrc32() rejects corrupted chunks on read. Backward-compatible.
  • Version sync check script. scripts/check-version-sync.sh validates all five packages share the same version string.
  • Anti-pattern CI check. New antipatterns job catches bare || "#" in JS assets without || data.url fallback.

Performance

  • Stemmer::stem() memoization: 166× reduction in stemmer CPU time; InvertedIndexBuilder::build() throughput ~110 → ~1,470 pages/s.
  • Tokenizer O(n) char-offset tracking: Eliminated O(n²) substr prefix allocation; tokenizer now scales linearly.
  • Tokenizer ASCII fast-path: Skips ICU transliteration and mb_* calls for pure-ASCII content; ~14.5× cumulative throughput gain from baseline.