CRON-DROPIN.md
Purpose
Define what “cron drop-in replacement” means for Kron’s next stage and set a realistic compatibility boundary.
Goal: high compatibility for common cron workloads while preserving Kron’s deterministic core semantics.
Coverage Objective
Target practical compatibility for common Linux cron workloads:
expected coverage band:
~70-80%of real-world cron usagefull parity with every cron implementation variant is explicitly out of scope for this stage
Compatibility Tiers
Tier 1 (Supported): expected to work and covered by integration testsTier 2 (Partial): supported with documented behavior differencesTier 3 (Deferred): not implemented in this stage
Planned Compatibility Matrix
Capability |
Stage target |
Tier |
Notes |
|---|---|---|---|
5-field cron syntax ( |
yes |
Tier 1 |
Matches current parser baseline |
DOM/DOW OR matching semantics |
yes |
Tier 1 |
Keep Vixie-compatible semantics |
|
yes |
Tier 1 |
Includes system crontab user field |
Import/export of user crontab entries |
yes |
Tier 2 |
Migration tooling required |
Environment assignment lines ( |
yes |
Tier 1 |
Parsed and applied per job |
Command execution through shell-compatible mode |
yes |
Tier 1 |
Required for common cron command patterns |
Explicit user execution (system crontab user column) |
yes |
Tier 2 |
Host and permission model dependent |
Structured logs and deterministic explain metadata |
yes |
Tier 1 |
Kron-native enhancement |
|
yes |
Tier 2 |
Expand to canonical cron expressions |
|
no |
Tier 3 |
Deferred until daemon boot lifecycle is finalized |
6-field (seconds) cron syntax |
no |
Tier 3 |
Not part of current syntax contract |
|
no |
Tier 3 |
Deferred; logging is primary output |
|
no |
Tier 3 |
Deferred and platform-specific |
anacron-style unlimited catch-up behavior |
no |
Tier 3 |
Conflicts with bounded execution design |
Non-Goals for This Stage
Bug-for-bug parity with every cron implementation (
cronie,dcron, BusyBox, distro patches)Full legacy ecosystem parity (
MAILTO, PAM-specific hooks,run-partsbehaviors)Unbounded missed-run replay semantics
Acceptance Criteria
Tier 1 capabilities are implemented and covered by integration tests.
Tier 2 capabilities are either implemented with explicit docs or marked as deferred with rationale.
Compatibility corpus is added under version-controlled tests and runs in CI.
Migration guide from existing cron files to Kron execution model is published.
Execution Plan
Build cron-source adapters (
/etc/crontab,/etc/cron.d, exported user crontabs).Normalize parsed entries into Kron internal job spec.
Implement host execution loop in
krondwith locking, deadline handling, and deterministic decision flow.Add compatibility tests and pessimistic edge-case tests for cron parsing and runtime behavior.
Publish compatibility status updates in
docs/COMPAT.mdand release notes.