Module: Uniword::Docx::Reconciler::FixCodes

Defined in:
lib/uniword/docx/reconciler/fix_codes.rb

Overview

Single source of truth for record_fix rule codes.

Every record_fix call site references a constant from this module instead of a bare string literal. Adding a new fix category means adding one constant here, not hunting for the next free letter.

Wire format is preserved — external validation rules and audit-log consumers that pattern-match on "R1".."R16" continue to work.

Known debt: R10 is overloaded for several distinct concerns (note defs, table structure, style defaults, dangling refs). Splitting requires consumer coordination.

Constant Summary collapse

MC_IGNORABLE =

Settings / package structure

"R1"
DOC_ID_GENERATED =
"R2"
THEME_CREATED =

Support parts

"R3"
NUMBERING_REFERENCED =
"R4"
RELATIONSHIPS_ASSEMBLED =

Package assembly

"R6"
CONTENT_TYPES_ASSEMBLED =
"R7"
APP_PROPERTIES_ENSURED =
"R8"
NOTE_PAIR_CREATED =

Notes — pair creation

"R9"
NOTE_DEFINITION_CREATED =
"R10"
NOTE_INVALID_TYPE_STRIPPED =
"R15"
NOTE_DUPLICATE_ID_REMOVED =
"R16"
DANGLING_NOTE_REFERENCE_WARNING =

Notes — referential integrity warnings and removals

"R9"
DANGLING_NOTE_REFERENCE_REMOVED =
"R10"
"R9"
SECTION_PROPERTIES_DEFAULTED =

Body

"R11"
PARAGRAPH_BACKFILL =
"R12"
FONT_TABLE_CREATED =

Parts

"R13"
CORE_PROPERTIES_REBUILT =
"R14"
STYLE_DEFAULTS_ADDED =

Styles (currently shares R10 with other concerns — see debt note above)

"R10"
SEMI_HIDDEN_ADDED =
"R10"
TABLE_STRUCTURE_RECONCILED =

Tables (currently shares R10)

"R10"
TABLE_CELL_PR_REORDERED =
"R10"
TABLE_CELL_DEFAULTS =
"R12"
TABLE_ROW_GRID_AFTER =
"R13"
DANGLING_STYLE_REFERENCE_REMOVED =

Referential integrity (currently shares R10)

"R10"
DANGLING_BASED_ON_REMOVED =
"R10"
DANGLING_NUMBERING_REMOVED =
"R4"
"R10"
"R11"
DANGLING_DRAWING_REMOVED =
"R12"
EMPTY_RUNS_STRIPPED =

Run cleanup (currently shares R10)

"R10"