diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 93711f95fe..2e7ef7876f 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -79,7 +79,6 @@ jobs:
cargo-doc:
runs-on: ubuntu-latest
timeout-minutes: 20
- continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
@@ -90,7 +89,6 @@ jobs:
with:
cache-on-failure: true
- name: doclint
- continue-on-error: true
run: just lint-docs
- name: doctest
run: just test-docs
diff --git a/crates/derive/src/stages/attributes_queue.rs b/crates/derive/src/stages/attributes_queue.rs
index f64992fe46..76fa2ffee1 100644
--- a/crates/derive/src/stages/attributes_queue.rs
+++ b/crates/derive/src/stages/attributes_queue.rs
@@ -19,6 +19,8 @@ mod builder;
pub use builder::{AttributesBuilder, StatefulAttributesBuilder};
/// [AttributesProvider] is a trait abstraction that generalizes the [BatchQueue] stage.
+///
+/// [BatchQueue]: crate::stages::BatchQueue
#[async_trait]
pub trait AttributesProvider {
/// Returns the next valid batch upon the given safe head.
@@ -38,6 +40,8 @@ pub trait AttributesProvider {
///
/// This stage can be reset by clearing its batch buffer.
/// This stage does not need to retain any references to L1 blocks.
+///
+/// [BatchQueue]: crate::stages::BatchQueue
#[derive(Debug)]
pub struct AttributesQueue
where
diff --git a/crates/derive/src/stages/batch_queue.rs b/crates/derive/src/stages/batch_queue.rs
index 47cbb9c0f0..ca6d80ae96 100644
--- a/crates/derive/src/stages/batch_queue.rs
+++ b/crates/derive/src/stages/batch_queue.rs
@@ -21,6 +21,8 @@ pub trait BatchQueueProvider {
/// This function can only be called once while the stage is in progress, and will return
/// [`None`] on subsequent calls unless the stage is reset or complete. If the stage is
/// complete and the batch has been consumed, an [StageError::Eof] error is returned.
+ ///
+ /// [ChannelReader]: crate::stages::ChannelReader
async fn next_batch(&mut self) -> StageResult;
}
@@ -62,7 +64,9 @@ where
/// A set of batches in order from when we've seen them.
batches: Vec,
- /// A set of cached [SingleBatche]s derived from [SpanBatch]s.
+ /// A set of cached [SingleBatch]es derived from [SpanBatch]es.
+ ///
+ /// [SpanBatch]: crate::types::SpanBatch
next_spans: Vec,
/// Used to validate the batches.
diff --git a/crates/derive/src/stages/channel_bank.rs b/crates/derive/src/stages/channel_bank.rs
index fa40202edf..03027515e6 100644
--- a/crates/derive/src/stages/channel_bank.rs
+++ b/crates/derive/src/stages/channel_bank.rs
@@ -18,6 +18,8 @@ use tracing::{debug, warn};
#[async_trait]
pub trait ChannelBankProvider {
/// Retrieves the next [Frame] from the [FrameQueue] stage.
+ ///
+ /// [FrameQueue]: crate::stages::FrameQueue
async fn next_frame(&mut self) -> StageResult;
}
diff --git a/crates/derive/src/stages/frame_queue.rs b/crates/derive/src/stages/frame_queue.rs
index cc562ba4d1..32fc49c37c 100644
--- a/crates/derive/src/stages/frame_queue.rs
+++ b/crates/derive/src/stages/frame_queue.rs
@@ -26,6 +26,8 @@ pub trait FrameQueueProvider {
/// The [FrameQueue] stage of the derivation pipeline.
/// This stage takes the output of the [L1Retrieval] stage and parses it into frames.
+///
+/// [L1Retrieval]: crate::stages::L1Retrieval
#[derive(Debug)]
pub struct FrameQueue
where
@@ -42,6 +44,8 @@ where
P: FrameQueueProvider + OriginProvider + Debug,
{
/// Create a new [FrameQueue] stage with the given previous [L1Retrieval] stage.
+ ///
+ /// [L1Retrieval]: crate::stages::L1Retrieval
pub fn new(prev: P) -> Self {
Self { prev, queue: VecDeque::new() }
}
diff --git a/crates/derive/src/stages/l1_retrieval.rs b/crates/derive/src/stages/l1_retrieval.rs
index 50106d7f3b..8d23917665 100644
--- a/crates/derive/src/stages/l1_retrieval.rs
+++ b/crates/derive/src/stages/l1_retrieval.rs
@@ -17,6 +17,8 @@ pub trait L1RetrievalProvider {
/// This function can only be called once while the stage is in progress, and will return
/// [`None`] on subsequent calls unless the stage is reset or complete. If the stage is
/// complete and the [BlockInfo] has been consumed, an [StageError::Eof] error is returned.
+ ///
+ /// [L1Traversal]: crate::stages::L1Traversal
fn next_l1_block(&mut self) -> StageResult