Skip to content

spec: register every error code that ships in dist — the nine unregistered defineStack / ownership / namespace codes enter ERROR_CODE_LEDGER / StandardErrorCode (the ledger is the published face, per the #16404 ruling) #16449

Description

@os-zhuang

Filed by the director seat under the #16404 ruling (decision batch #62, 2026-09-07, option D): the published contract face for error codes is ERROR_CODE_LEDGER. Any code that ships in dist must be registered there; registering a code widens the published face and is therefore Clause-②: yes, door or no door. A code present in dist but absent from the ledger is a protocol gap, not a tier question.

The nine codes measured unregistered (0 hits in StandardErrorCode + ERROR_CODE_LEDGER; positive controls VALIDATION_ERROR / PERMISSION_DENIED = 2 each)

code introduced by door
OBJECT_OWNERSHIP_CONFLICT #14367 has a door (demoted to declaredCode today)
NAMESPACE_CONFLICT #14474 has a door (dispatcher-error-vocabulary.ts:642)
STACK_CROSS_REFERENCE_INVALID #14552 / PR #15962 door: 'none'
six STACK_* sibling codes #15963 / PR #16342 door: 'none'

Scope

Clause-② yes; landing PR carries needs:contract-review.

Refs #16404 (ruling), #14552 (recorded as under-tiered, not reopened), #15963, #14367, #14474, ADR-0112.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions