waddling-errors 0.7.3

Structured, secure-by-default diagnostic codes for distributed systems with no_std and role-based documentation
Documentation
//! Sequence Number Conventions
//!
//! Following SEQUENCE-CONVENTIONS.md v0.2.0
//!
//! Sequences provide semantic meaning to error codes:
//! - 001-010: Input/Data validation (MISSING, INVALID, etc.)
//! - 011-020: State/Lifecycle (TIMEOUT, STALE, INPROGRESS, etc.)
//! - 021-030: Resource/Storage (NOTFOUND, EXHAUSTED, CORRUPTED, etc.)
//! - 999: Success/Completion

#[cfg(feature = "doc-gen")]
pub fn register_sequences(generator: &mut waddling_errors::doc_generator::DocRegistry) {
    generator
        .register_sequence(
            "MISSING",
            1,
            Some("Required parameter, field, or argument is absent"),
            Some("Error"),
            &[
                "Check if parameter was provided",
                "Verify required fields are set",
            ],
        )
        .register_sequence(
            "MISMATCH",
            2,
            Some("Type or value doesn't match expected format"),
            Some("Error"),
            &["Verify data type", "Check value format"],
        )
        .register_sequence(
            "INVALID",
            3,
            Some("Validation failed - data doesn't meet constraints"),
            Some("Error"),
            &["Review validation rules", "Check input format"],
        )
        .register_sequence(
            "DUPLICATE",
            7,
            Some("Duplicate entry or rate limit violation"),
            Some("Blocked"),
            &["Check for existing entries", "Implement backoff strategy"],
        )
        .register_sequence(
            "DENIED",
            8,
            Some("Access denied - insufficient permissions"),
            Some("Error"),
            &["Verify permissions", "Check authorization"],
        )
        .register_sequence(
            "CANCELLED",
            14,
            Some("Operation cancelled by user or system"),
            Some("Error"),
            &["Check cancellation reason", "Retry if needed"],
        )
        .register_sequence(
            "IN_PROGRESS",
            15,
            Some("Operation still in progress"),
            Some("Blocked"),
            &["Wait for completion", "Check progress status"],
        )
        .register_sequence(
            "TIMEOUT",
            17,
            Some("Operation exceeded time limit"),
            Some("Error"),
            &[
                "Increase timeout",
                "Optimize operation",
                "Check for blocking",
            ],
        )
        .register_sequence(
            "STALE",
            18,
            Some("Data is outdated and needs refresh"),
            Some("Warning"),
            &["Refresh from source", "Adjust TTL settings"],
        )
        .register_sequence(
            "NOT_FOUND",
            21,
            Some("Requested resource does not exist"),
            Some("Error"),
            &[
                "Verify resource identifier",
                "Check if resource was deleted",
            ],
        )
        .register_sequence(
            "ALREADY_EXISTS",
            22,
            Some("Resource already exists - creation conflict"),
            Some("Error"),
            &["Use update instead of create", "Check unique constraints"],
        )
        .register_sequence(
            "CONFLICT",
            23,
            Some("Concurrent modification or version conflict"),
            Some("Error"),
            &["Retry with latest version", "Implement optimistic locking"],
        )
        .register_sequence(
            "CORRUPTED",
            25,
            Some("Data integrity failure - corruption detected"),
            Some("Critical"),
            &[
                "Restore from backup",
                "Verify checksums",
                "Check storage health",
            ],
        )
        .register_sequence(
            "EXHAUSTED",
            26,
            Some("Resource pool or quota completely used"),
            Some("Critical"),
            &[
                "Scale up resources",
                "Implement resource limits",
                "Review capacity planning",
            ],
        )
        .register_sequence(
            "UNAVAILABLE",
            27,
            Some("Service temporarily unavailable"),
            Some("Error"),
            &[
                "Retry after delay",
                "Check service status",
                "Enable fallback",
            ],
        )
        .register_sequence(
            "UNREACHABLE",
            28,
            Some("Network connectivity failure"),
            Some("Error"),
            &["Check network", "Verify endpoint", "Review DNS"],
        )
        .register_sequence(
            "COMPLETE",
            999,
            Some("Operation completed successfully"),
            Some("Success"),
            &["Operation successful", "Check results"],
        );
}