Skip to main content

Crate sloop

Crate sloop 

Source

Modules§

cli
clock
config
coordination
Answers scheduling mutation intents with granted or denied decisions.
daemon
domain
Pure domain logic with no I/O, SQL, clock reads, or persistence/runtime dependencies.
eligibility
Why a ticket is not being dispatched right now. One pure decision used by the dispatcher’s gates and reported verbatim by the list verb, so the operator sees exactly what the scheduler saw.
flow
Flow definitions and the pure walk over them. Parsing turns a committed YAML file into a validated Flow; next_step then turns a flow and the evidence gathered so far into the next stage to run or a terminal reading. Neither half touches a clock, a process, or the store, so policy can be tested without a daemon.
frontmatter
ids
init
logging
outcome
Outcome derivation. Evidence in, verdict out: this module is the only place a run’s terminal outcome is decided, and it is pure so policy can be tested without a daemon, a process, or a repository.
paths
post
protocol
reindex
render
Human rendering of response envelopes. JSON envelopes remain the internal and --json representation; this module is a one-way translation applied at the final write, so the socket API and agent-facing output are unaffected by presentation changes here.
run_log
Per-run NDJSON output capture. Agent and aftercare stdout/stderr are untrusted evidence: they are stored as ordered chunks, never parsed as lines and never routed through the dispatcher.
run_ref
Run identity: minted internal ids, ticket-derived aliases, and the shapes a run reference can take.
runner
Execution boundary for one flow stage at a time.
sources
Authored ticket and flow definitions live in sources. Sloop borrows them into its derived index: post validates a Markdown push against its author, while pull keeps invalid tickets visible and held when they are upserted.
store
vendor_error
Data-driven classification of rejected agent requests. Catalogs describe evidence only; outcome and cooldown policy remain in the scheduler.