Skip to content

ErrorCode comment overstates what §12 specifies about retryability #49

@nficano

Description

@nficano

Category: docs Severity: minor
Location: src/Arcp.Core/Errors/ErrorCode.cs:51-54

What

Spec §12 only constrains retryability for three codes (LEASE_EXPIRED and BUDGET_EXHAUSTED MUST be retryable:false; INTERNAL_ERROR always retryable). It does not enumerate AGENT_NOT_AVAILABLE/TIMEOUT/HEARTBEAT_LOST as the retryable set — that is this implementation's own choice. The comment attributes the full list to the spec. (The runtime behavior is conformant; only the comment over-claims.)

Evidence

    /// <summary>Retryable codes per spec §12: only <c>AGENT_NOT_AVAILABLE</c>, <c>TIMEOUT</c>,
    /// <c>HEARTBEAT_LOST</c>, and <c>INTERNAL_ERROR</c> may be retried.</summary>
    public static bool IsRetryable(string code) => code is
        AgentNotAvailable or Timeout or HeartbeatLost or InternalError;

Proposed fix

Reword to: 'Codes this runtime treats as retryable. Spec §12 mandates only LEASE_EXPIRED/BUDGET_EXHAUSTED = false and INTERNAL_ERROR = true; the rest are implementation policy.'

Acceptance criteria

  • The comment distinguishes spec-mandated retryability from implementation policy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    audit/docsAudit: documentation inaccuracysev/minorSeverity: minor

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions