Skip to content

lawref.diagnostics

Реестр диагностик (WP-03; формат — SPEC §198, диапазоны — §199 + errata E-0004).

Каталог кодов растёт вместе с реализацией (аудит: в SPEC поимённо определены единицы кодов — остальные заводятся здесь по мере появления проверок). Каждый новый код обязан попадать в свой диапазон и валидироваться diagnostic-схемой.

Attributes

NameDescription
CODE_RENo description.
KNOWN_CODESNo description.
RANGESNo description.

Functions

NameDescription
range_ofИмя диапазона §199 для кода; ValueError на неканоничный код.

CODE_REattributemodule attribute#

CODE_RE = re.compile('^LDC-([EWIH])(\\d)(\\d{3})$')

KNOWN_CODESattributemodule attribute#

KNOWN_CODES = {
  'LDC-E1401': ('UNSUPPORTED_LANGUAGE_VERSION', 'SPEC §266.1'),
  'LDC-E1402': ('UNKNOWN_FEATURE', 'SPEC §26'),
  'LDC-E1403': ('FEATURE_NOT_ACTIVE', 'SPEC §26'),
  'LDC-E1368': ('PACKAGE_KEY_CONFLICT', 'SPEC §45.1/§196; errata E-0210'),
  'LDC-E2401': ('COMPUTABILITY_EXPECTATION_MISMATCH', 'SPEC §47.5'),
  'LDC-E2402': ('COMPUTABILITY_UNKNOWN_CLASS', 'SPEC §47.5'),
  'LDC-E2403': ('COMPUTABILITY_NOT_PROVED', 'SPEC §46/§47.5; errata E-0043'),
  'LDC-E2110': ('FUNCTION_RECURSION_UNPROVED', 'SPEC §46/§264'),
  'LDC-E4103': ('LATE_STATUS_PRODUCER', 'SPEC §111'),
  'LDC-E4112': ('DEFEATER_WITHOUT_CANDIDATE', 'SPEC §107.3/§110; 0.2-01'),
  'LDC-E8101': ('LAYER_EXCEEDED', 'spec/LAYERS.ru.md A1.6'),
  'LDC-E8102': ('LAYER_DEPENDENCY_EXCEEDED', 'spec/LAYERS.ru.md A1.6'),
  'LDC-E8201': ('VERBALIZATION_GAP', 'LAYERS-SURFACES §3.3'),
  'LDC-E8202': ('STALE_APPROVAL', 'LAYERS-SURFACES §3.6'),
  'LDC-E8203': ('UNKNOWN_GRAMMATICAL_FORM', 'SPEC §218.1'),
  'LDC-E8301': ('TABLE_OVERLAP', 'A3 §A3.4'),
  'LDC-E8302': ('TABLE_NOT_EXHAUSTIVE', 'A3 §A3.4'),
  'LDC-E8303': ('TABLE_OUTPUT_DISAGREEMENT', 'A3 §A3.4'),
  'LDC-E8304': ('UNSUPPORTED_FEEL', 'A3 §A3.4'),
  'LDC-E8306': ('UNSUPPORTED_COLUMN_TYPE', 'A3 §A3.4'),
  'LDC-W8305': ('UNREACHABLE_TABLE_ROW', 'A3 §A3.3.2'),
  'LDC-E8701': ('PARAMETER_INTERVAL_OVERLAP', 'A3 §A3.2'),
  'LDC-E8702': ('PARAMETER_TYPE_MISMATCH', 'A3 §A3.2'),
  'LDC-E8703': ('PARAMETER_RANGE_INVALID', 'A3 §A3.2'),
  'LDC-E8704': ('PARAMETER_LOCK_MISMATCH', 'A3 §A3.5'),
  'LDC-E8705': ('PARAMETER_GRANULARITY_MISMATCH', 'A3 §A3.2'),
  'LDC-E4701': ('EPISTEMIC_ACCEPTANCE_CYCLE', 'SPEC §78.1'),
  'LDC-E5201': ('SOURCE_TEXT_HASH_MISMATCH', 'SPEC §194'),
  'LDC-E5202': ('FRAGMENT_TEXT_NOT_IN_PUBLICATION', 'SPEC §194'),
  'LDC-E5205': ('SOURCE_TEXT_HASH_MISSING', 'SPEC §194'),
  'LDC-E5203': ('SOURCE_RESOLUTION_AMBIGUOUS', 'SPEC §198'),
  'LDC-E5204': ('PUBLICATION_DOCUMENT_HASH_MISMATCH', 'SPEC §194'),
  'LDC-E5208': ('ANCHOR_QUOTE_NOT_IN_FRAGMENT', 'SPEC §194'),
  'LDC-E5401': ('CONSOLIDATION_MISMATCH', 'SPEC §32.2'),
  'LDC-E5402': ('OPERATION_TARGET_NOT_FOUND', 'SPEC §32.2'),
  'LDC-E5403': ('OPERATIONS_OVERLAP', 'SPEC §32.2'),
  'LDC-E5404': ('MIGRATION_BASE_MISMATCH', 'SPEC §32.2'),
  'LDC-E5405': ('DANGLING_LOCATOR', 'SPEC §32.2')
}

RANGESattributemodule attribute#

RANGES = {
  'E0': 'syntax',
  'E1': 'names/packages',
  'E2': 'types/units',
  'E3': 'time/context',
  'E4': 'rules/defeasibility',
  'E5': 'source/provenance',
  'E6': 'execution/determinism',
  'E7': 'interop',
  'E8': 'layers/surfaces/ontology (reserved, errata E-0004)'
}

range_offunction#

def range_of(code: str) -> str

Имя диапазона §199 для кода; ValueError на неканоничный код.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.