Scheduler and HTTP feature status

These pages describe the HTTP/MCP management layer, experimental scheduler, and dynamic HTTP functions with PR #284 hardening at ffe1195 integrated through #287, #293, #295, and #299. They do not imply that the feature stack has merged into main, been deployed, or passed fresh combined-stack validation.

Integrated runtime boundary

The stack is main → #281 → #282 → #284 → #287 → #293 → #295 → #299 (management layer). Earlier documentation of #293 at 5c52682 described the pre-hardening runtime; those historical test results are not validation of this integrated revision.

Concern Integrated behavior
Scheduler Raft transport Required cluster_bearer_env; all fixed-voter HTTP routes authenticate the shared bearer and bind the configured advertised address
Resource bounds 4 MiB checkpoint cap; claim/admission metadata retires with core records; 512 KiB scheduled/admission bodies; bounded replication batches and checked terms; no general log compaction
Admission refusal HTTP 409 and definite connection-establishment errors advance to the next callback; ambiguous sends stop
Rejected admission Only a bound, quorum-confirmed terminal fence can establish not-launched; existing permits and uncertain outcomes retain capacity
Uncertain cancellation Explicit dispatcher-and-work quiescence attestation can abandon Unknown or unresolved Cancelling; never automatic
Shutdown and Engine lifetime Admission remains available during drain; driver panic/abort does not confirm stopped while blocking execution remains alive

Set cluster_bearer_env on every runner, resolving to the same existing secret on all voters. Bearer authentication does not encrypt HTTP or make Raft Byzantine- tolerant: keep private network boundaries and encrypted transport for remote links. Legacy dynamic cluster mode is not changed by this fixed-voter protection.

Implemented and excluded scope

Implemented here: numeric five-field cron with IANA timezones, missed-run, overlap and retry policies, durable fixed-voter runner admission, dedicated scheduled workers, explicit cancellation, dynamic HTTP definition CRUD and invocation, conditional revisions, and NixOS integration tests. The management layer adds dedicated HTTP-function MCP tools and opt-in scheduler HTTP/MCP operator access. Both transports reuse the existing operations and state model.

The design documents also discuss future work. There is no MCP Events delivery, multi-tenant principal-to-grant binding, exactly-once external effects, automatic resolution of Unknown, schema migration, or production-readiness guarantee. Dynamic HTTP handlers have no per-definition owner/role model, wildcard routes, streaming, or upgrades.

Choose a page

Need Documentation
Learn with a small working example Schedule a first run, Create an HTTP function
Operate or deploy Stop scheduled work, Update HTTP handlers, Deploy and test on NixOS
Look up fields and limits Scheduler reference, HTTP functions reference
Understand the safety model Admission and cancellation, HTTP revisions and execution

The site follows Diátaxis: tutorials teach through guided practice; how-to guides solve operational tasks; reference records contracts; explanation develops the model. The existing Concepts section contains explanation. The repository READMEs and design plans remain supporting material.