For Japanese version, see IScheduler-jp.md.
IScheduler (Interface Specification)
1. Responsibility Boundary
IScheduler governs timing, priority, and lifecycle of intelligence tasks in a time-sharing execution model.
- Role:
- Non-role:
Provide job admission, lookup, cancellation, listing, and result retrieval for execution coordination.
Actual inference execution remains with model/reasoning engines.
2. Contract Signature
namespace AIKernel.Abstractions.Scheduling;\n\npublic interface IScheduler : IProvider\n{\n Task<IScheduledJob?> GetJobAsync(string jobId);\n Task<IScheduledJob> ScheduleAsync(IScheduleSpec job);\n Task<bool> CancelAsync(string jobId);\n Task<IReadOnlyList<IScheduledJob>> ListJobsAsync();\n Task<IScheduledExecutionResult?> GetExecutionResultAsync(string jobId);\n}
3. Related Use Cases
UC-19Parallel multi-model execution:UC-22Dynamic capacity control:UC-28Job scheduling:
Coordinates concurrent job scheduling and result convergence points.
Enables backoff and rescheduling under rate-limit pressure.
Unifies interactive, delayed, and batch execution control.
4. Governance & Determinism
- Job immutability:
- Replay integrity:
- Fail-Closed:
Accepted IScheduleSpec should be treated as immutable; changes require cancel-and-resubmit.
Record acceptance/execution ordering and timestamps for deterministic timeline reconstruction.
Under queue saturation, apply explicit admission control instead of unbounded backlog growth.
5. Implementation Notes
- Durability:
- Priority policy:
Persist scheduler state when workflows must survive process restarts.
Implement dispatch rules that can prioritize critical governance-sensitive jobs.
Changelog
- v0.0.0 / v0.0.0.0: Initial draft
- v0.0.1 (2026-05-06): Version upgrade aligned with documentation guidelines
architecture/interfaces/provider/IScheduler.md