Skip to content

id(world): F11.13 error taxonomy: stable codes plus reasons on the wire #554

Closed

Description

@dezren39

What and why

Typed errors with stable codes and reasons on the wire, including the reason schedule.at drops; every CapError documented in the guide. Stable codes exist, but reasons are dropped, so a guest or operator sees bad_args with no hint why. The DoS suite (F12.18) asserts documented codes.

Source

Current status

Partial. Stable codes exist (the status audit says planned): pkgs/id/src/world_caps.rs:319-346, six CapError codes (cap_denied, unknown_cap, bad_args, failed, actor_denied, outside_ceiling). Reasons are still dropped: world.rs:2646-2648 logs the check_schedule error at debug and returns plain CapError::BadArgs. No error-code list in a guide was found.

Acceptance criteria

  • Every CapError carries its stable code and a reason on the wire
  • schedule.at returns the check_schedule reason instead of a plain BadArgs (world.rs:2646-2648)
  • Every CapError code is listed in the guide
  • Tests assert code and reason for each refusal

Size

M

Prerequisites

Activity

  1. dezren39 commented on Oct 25, 2026

    @dezren39
    MemberAuthor

    Implemented in PR #808 (id Phase 11 foundations, session B of the id train), merged to main as 49ee287 with all checks green. The PR body documents the implementation for this item. Closing as complete — reopen if verification finds a gap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions