Skip to content

v0.74.0 β€” Zero Ambiguity

Choose a tag to compare

@github-actions github-actions released this 06 Apr 16:58

πŸ¦‹ Nika v0.74.0

Semantic YAML Workflow Engine for AI β€” Schema nika/workflow@0.12

What's Changed

Added

  • schedule: wired into AST pipeline β€” nika check now validates schedule expressions (cron, timezone, overlap). Invalid schedules produce NIKA-144 errors at analysis time.
  • Overlap policies queue and replace β€” overlap: queue allows concurrent runs. overlap: replace cancels the active job before firing. Previously only skip was functional.
  • Serve reconciliation β€” nika serve now upserts YAML-declared schedules into DB at startup + every 60s. 5 reconciliation rules: insert new, update changed cron, delete orphaned yaml-source, keep cli-source, sync paused state.
  • update_schedule_cron() storage method β€” Targeted cron/paused/next_run_at UPDATE preserving run history.
  • Run frequency estimation β€” runs_per_day() and format_run_estimate() show runs/day and runs/month in schedule card, list, and creation celebration.
  • History dots (βœ“βœ—) β€” nika schedule list and nika schedule show display colored run history dots with pass/fail summary.
  • 24h timeline view β€” nika schedule list --timeline renders ASCII grid showing when schedules fire, with overlap warnings.
  • Did-you-mean for schedule names β€” Levenshtein-based fuzzy matching on NIKA-283 not-found errors suggests closest schedule name.
  • Enhanced micro-copy β€” "back in action!" on resume, "Historical runs preserved" on remove, resume/pause hints.

Fixed

  • stdin pipe never written β€” Scheduled jobs with inputs_json hung for 1h timeout. Now writes args to stdin before handing child to monitor task.
  • Timezone ignored in next_run_at β€” Schedule creation and fire recomputation always used UTC. Now applies sched.timezone via chrono_tz when computing next occurrence.
  • list_jobs_for_workflow LIMIT 10 β€” Overlap detection missed active jobs when workflow had 10+ historical runs. Raised to LIMIT 100.
  • TOCTOU double-fire guard β€” update_schedule_after_fire now uses WHERE last_run_at < ?1 to prevent concurrent ticks from double-firing.
  • inputs_json forwarded to submit() β€” Scheduled workflows now receive their configured inputs (was always None).
  • Reconciler name collision β€” a/b.nika.yaml vs a-b.nika.yaml no longer collide. Uses :: separator.
  • Reconciler paused source β€” Uses config.paused from parser instead of raw header text scan (prevented false positives from comments).

Testing

  • Protocol roundtrip tests for 9 schedule variants (6 request + 3 response).
  • Boundary tests: duration_to_cron (0h/24h/0m/60m/0d/29d), parse_hhmm, humanize_relative.
  • E2E AST pipeline tests: valid cron, invalid cron, object form, unknown key regression.
  • Storage update_schedule_cron test preserving run history.
  • Overlap:replace integration test with cancel verification.
  • Levenshtein + find_closest tests.
  • Timeline slot tests (daily, hourly, every-2h, weekday, invalid, multiple-per-hour).

πŸ“¦ Install

Method Command
πŸš€ Quick curl -fsSL https://raw.githubusercontent.com/supernovae-st/nika/main/install.sh | sh
🍺 Homebrew brew install supernovae-st/tap/nika
πŸ“¦ npm npx @supernovae-st/nika
πŸ¦€ Cargo cargo install nika
🐳 Docker docker run --rm ghcr.io/supernovae-st/nika:0.74.0
πŸ’» VS Code Search "Nika" or ext install supernovae.nika-lang
πŸͺŸ Scoop scoop bucket add nika https://github.com/supernovae-st/scoop-nika && scoop install nika
🐧 AUR yay -S nika-bin

πŸ“₯ Downloads

Platform Architecture File Size
🍎 macOS Apple Silicon nika-macos-arm64-0.74.0.tar.gz 44M
🍎 macOS Intel nika-macos-x64-0.74.0.tar.gz 48M
🐧 Linux x64 nika-linux-x64-0.74.0.tar.gz 48M
🐧 Linux ARM64 nika-linux-arm64-0.74.0.tar.gz 34M
πŸͺŸ Windows x64 nika-windows-x64-0.74.0.zip

πŸ” All binaries include SHA256 checksums, SLSA provenance, and macOS notarization.

🌐 Available On

Platform Link
GitHub v0.74.0
VS Code supernovae.nika-lang
Open VSX supernovae.nika-lang
npm @supernovae-st/nika
crates.io nika
Docker ghcr.io Β· Docker Hub
Homebrew supernovae-st/tap/nika
Scoop supernovae-st/scoop-nika
AUR nika-bin

πŸ“Š Stats

Metric Value
πŸ¦€ Crates 19 workspace crates
πŸ§ͺ Tests 10379+ passing
πŸ“¦ npm 6 platform packages
πŸ” macOS Signed + Notarized (Developer ID)
πŸ›‘οΈ SLSA Build provenance attested
🐳 Docker Multi-arch amd64/arm64 + SBOM

Made with πŸ’œ by SuperNovae Studio β€” Open Source, AGPL-3.0

Full Changelog: v0.0.0...v0.74.0