1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//! Opts structs (ADR-008 §1, ADR-010 §3/§3a, ADR-020 §1–§3).
//!
//! Pinned v1 field sets, carried whole. Deliberately *not*
//! `#[non_exhaustive]` (ADR-017 §3): consumers construct these — an
//! opts *field* addition post-release is a class 3 breaking change,
//! priced that way deliberately.
//!
//! Field semantics (delay-over-`run_at` precedence, relative `expires`)
//! are engine-side resolution (ADR-020 §1–§2) — core carries only the
//! fields and their doc text.
/// Options for enqueueing a job (`Queue::enqueue`, `enqueue_tx`,
/// `outbox_enqueue_tx`).
///
/// Every field has a default-resolved meaning, so all are
/// constructor-settable with `..Default::default()` (`Default` gives
/// all-`None` and priority 0).
/// Queue-level option stamps (ADR-010 §3/§3a).
///
/// Queues are names, not registered objects: these stamps resolve and
/// attach to every job row at enqueue — claims, heartbeats, retries,
/// and sweeps read the job's own stamps, never a live registry.
/// Opts changes apply to *future enqueues only*.
///
/// The numeric fields are trusted as given, engine-side — no domain
/// validation: ADR-023 §2's domain table enumerates its covered
/// arguments by call-site kind (extents, `try_lock`/`renew` TTLs,
/// `trim_to`'s horizon, enqueue `delay`/`run_at`/`expires`) and does
/// not cover these queue-stamp fields (a consumer-obligation note,
/// not a defect). A non-positive
/// `visibility_timeout_s` stamps claims instantly reclaimable, and
/// `max_attempts <= 0` stamps rows that are never claimed — see
/// deployment.md's consumer-obligation notes for the per-field
/// symptoms.
/// Options for `schedule()` — types identical to their `EnqueueOpts`
/// twins (no delay/run-at fields: boundary fires are ready at fire
/// time, ADR-009 §3).
///
/// Applied over the target queue's derived engine defaults at each
/// boundary fire (ADR-020 §3).