Skip to content

v0.6.0

Choose a tag to compare

@justapithecus justapithecus released this 08 Feb 17:14
· 97 commits to main since this release
d864ae6

In-process fan-out for derived work execution

Summary

Quarry v0.6.0 introduces the fan-out operator, enabling scripts to spawn child runs via emit.enqueue() without external orchestration. The runtime intercepts enqueue events and executes them as bounded, deduplicated child runs — replacing custom process pools for homogeneous derived work patterns.

Highlights

  • Fan-out operator — --depth, --max-runs, --parallel CLI flags activate in-process derived work execution from emit.enqueue() events
  • SHA-256 deduplication — identical (target, params) pairs are executed once per invocation
  • Bounded concurrency — semaphore-based worker pool with configurable parallelism
  • Fan-out chain example — runnable listing → detail pattern demonstrating two-level fan-out with local fixtures
  • Lode decoupling — lode package no longer depends on cli/reader (#113)
  • Documentation — fan-out flags documented across guides, contracts, and CLI reference; version bumps from v0.5.x

Known Limitations

  • ctx.storage.put() is not available in child runs (FileWriter plumbing deferred)
  • target resolution uses file paths relative to CWD (may support config-based names in future)
  • Child runs inherit the root run's --category; no per-child override

References

Full Changelog: v0.5.1...v0.6.0

What's Changed

  • refactor(lode): ♻️ decouple lode from cli/reader dependency by @justapithecus in #113
  • docs(adapter): 📝 document Temporal orchestration integration and module split by @justapithecus in #114
  • docs(design): 📝 add ingress models exploration document by @justapithecus in #115
  • docs(design): 📝 replace crawl mode with derived work execution via fan-out flags by @justapithecus in #116
  • feat(runtime): ✨ add fan-out operator for derived work execution by @justapithecus in #117
  • chore(release): 🔖 prepare v0.6.0 release by @justapithecus in #118
  • docs(runtime): 📝 add fan-out documentation and v0.6.0 version bumps by @justapithecus in #119
  • docs(runtime): 📝 add fan-out-chain example for derived work execution by @justapithecus in #120

Full Changelog: v0.5.1...v0.6.0