Orchestrata Ultimate / RTM / 068-schedule-cron-tool

RTM: 068-schedule-cron-tool

Requirement to symbol to test rows for 068-schedule-cron-tool: ScheduleCronTool - Cron Job Scheduling with Timezone Support.

At a glance

Item Value
Requirement IDs 30
Traced from src/ 23 (76.7%)
Untraced 7
Cited from tests/ 0 (0.0%)
Traced in src/ but not cited from tests/ 23

Reading this matrix

This matrix lists each of the 30 requirement IDs of spec 068-schedule-cron-tool with the src/ symbols that cite it and the tests that cite it. 23 of them (76.7%) have at least one citing symbol and 7 have none.

0 requirements are also cited from tests/, and 23 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.

Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-068-* (4), REQ-068-EXT (3).

Requirement to symbols to tests

Requirement Symbols in src/ Tests citing it
REQ-068-001 Support standard 5-field cron expressions (minute, hour, day, month, weekday),... orchestrata_ultimate/tools/schedule_cron_tool CronExpression L338
orchestrata_ultimate/tools/schedule_cron_tool JobScheduleResult L250
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronTool L794
+5 more
none
REQ-068-002 Support named months and weekdays (JAN-DEC, SUN-SAT), case-insensitive orchestrata_ultimate/tools/schedule_cron_tool CronExpression L338
orchestrata_ultimate/tools/schedule_cron_tool _parse_field L286
orchestrata_ultimate/tools/schedule_cron_tool _resolve_token L276
+1 more
none
REQ-068-003 Validate expression syntax before scheduling (validate_cron_expression) orchestrata_ultimate/tools/schedule_cron_tool CronExpression L338
orchestrata_ultimate/tools/schedule_cron_tool validate_cron_expression L1138
none
REQ-068-004 Support extended 6-field format with seconds, and L/W/# special characters — MVP... orchestrata_ultimate/tools/schedule_cron_tool CronParseError L125 none
REQ-068-005 Accept IANA timezone database names (e.g. America/New_York) via stdlib zoneinfo orchestrata_ultimate/tools/schedule_cron_tool JobScheduleResult L250
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronTool L794
orchestrata_ultimate/tools/schedule_cron_tool schedule_job L872
none
REQ-068-006 Store all timestamps in UTC internally; job-timezone wall-clock fields are only used... none none
REQ-068-007 Handle DST transitions automatically (search is carried out in the job's local... orchestrata_ultimate/tools/schedule_cron_tool CronExpression L338
orchestrata_ultimate/tools/schedule_cron_tool next_fire_time L402
none
REQ-068-008 Support UTC offset notation (e.g. +05:30) as a timezone value — not implemented;... none none
REQ-068-009 Persist job definitions across restarts — via Redis (ScheduleCronStore), not SQLite... orchestrata_ultimate/tools/schedule_cron_tool CronJob L204
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronStore L506
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronTool L794
+10 more
none
REQ-068-010 Maintain execution history — per-job and global Redis sorted sets of execution records orchestrata_ultimate/tools/schedule_cron_tool JobExecution L233
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronStore L506
orchestrata_ultimate/tools/schedule_cron_tool _exec_all_key L541
+6 more
none
REQ-068-011 Support job import/export — not implemented; out of MVP scope none none
REQ-068-012 miss_policy is stored on every job so a future recovery daemon has the bookkeeping... orchestrata_ultimate/tools/schedule_cron_tool MissedJobPolicy L169 none
REQ-068-EXT-001 Detect missed executions on startup and apply the recovery policy automatically —... none none
REQ-068-013 Acquire a distributed lock (Redis SET NX EX) before execution when... orchestrata_ultimate/tools/schedule_cron_tool ConcurrencyPolicy L179
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronStore L506
orchestrata_ultimate/tools/schedule_cron_tool _lock_key L545
+3 more
none
REQ-068-014 Lock has a TTL equal to timeout_seconds, so a stuck/crashed holder's lock... orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronStore L506
orchestrata_ultimate/tools/schedule_cron_tool _lock_key L545
orchestrata_ultimate/tools/schedule_cron_tool get_job_status L1056
+2 more
none
REQ-068-EXT-002 True FIFO queue concurrency semantics — not implemented: ALLOW and QUEUE... none none
REQ-068-015 Execute jobs asynchronously via asyncio.create_subprocess_shell orchestrata_ultimate/tools/schedule_cron_tool JobStatus L189
orchestrata_ultimate/tools/schedule_cron_tool _run_command_once L1162
orchestrata_ultimate/tools/schedule_cron_tool run_job_now L1206
none
REQ-068-016 Support timeout enforcement (asyncio.wait_for + subprocess kill on expiry) and... orchestrata_ultimate/tools/schedule_cron_tool JobExecutionResult L261
orchestrata_ultimate/tools/schedule_cron_tool _run_command_once L1162
orchestrata_ultimate/tools/schedule_cron_tool run_job_now L1206
none
REQ-068-017 Handle execution errors gracefully (non-zero exit, COMMAND_NOT_FOUND, timeout)... orchestrata_ultimate/tools/schedule_cron_tool JobExecution L233
orchestrata_ultimate/tools/schedule_cron_tool JobExecutionResult L261
orchestrata_ultimate/tools/schedule_cron_tool _run_command_once L1162
+1 more
none
REQ-068-EXT-003 Exponential backoff option — not implemented; delay is fixed per spec's... none none
REQ-068-019 List jobs with enabled_only/tags/limit filters orchestrata_ultimate/tools/schedule_cron_tool CronJob L204
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronTool L794
orchestrata_ultimate/tools/schedule_cron_tool find_by_name L582
+2 more
none
REQ-068-020 Update job configuration (update_job), re-validating cron expression/timezone and... orchestrata_ultimate/tools/schedule_cron_tool CronJob L204
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronError L148
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronErrorCode L130
+2 more
none
REQ-068-021 Pause/resume jobs (disable/enable without removing) orchestrata_ultimate/tools/schedule_cron_tool CronJob L204
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronErrorCode L130
orchestrata_ultimate/tools/schedule_cron_tool _set_enabled L1086
+2 more
none
REQ-068-022 Delete (unschedule_job) a job and its execution history orchestrata_ultimate/tools/schedule_cron_tool CronJob L204
orchestrata_ultimate/tools/schedule_cron_tool ScheduleCronErrorCode L130
orchestrata_ultimate/tools/schedule_cron_tool delete_all_executions_for_job L628
+2 more
none
REQ-068-023 Manual trigger support (run_job_now, with a force override for disabled jobs /... orchestrata_ultimate/tools/schedule_cron_tool run_job_now L1206 none
REQ-068-024 Cancel a running job (cancel_job) — in-process only: cancels the... orchestrata_ultimate/tools/schedule_cron_tool cancel_job L1323 none
REQ-068-025 get_next_runs computes the next N upcoming fire times orchestrata_ultimate/tools/schedule_cron_tool get_next_runs L1114
orchestrata_ultimate/tools/schedule_cron_tool next_fire_time L402
none
REQ-068-026 get_execution_history with job_id/status/limit filters orchestrata_ultimate/tools/schedule_cron_tool _execution_public_dict L716
orchestrata_ultimate/tools/schedule_cron_tool _hydrate L603
orchestrata_ultimate/tools/schedule_cron_tool get_execution_history L1356
+2 more
none
REQ-068-027 clear_history deletes execution records older than a cutoff (older_than_days),... orchestrata_ultimate/tools/schedule_cron_tool clear_history L1375
orchestrata_ultimate/tools/schedule_cron_tool delete_executions_older_than L641
none
REQ-068-028 Bulk operations across multiple jobs in one call — not implemented; out of MVP scope none none