Skip to content

Port FixType contract to current Fix common errors rules - #107

Draft
Blackspirits wants to merge 2 commits into
upl/review-base-c77cfrom
feature/fixtype-contract-c77c
Draft

Blackspirits wants to merge 2 commits into
upl/review-base-c77cfrom
feature/fixtype-contract-c77c

Conversation

@Blackspirits

@Blackspirits Blackspirits commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Purpose

Current-base audit/port of upstream draft stack PR SubtitleEdit#14442 onto Subtitle Edit c77c4b428649ce7030e6cf218b4d7c384b955232.

The original PR is 628 upstream commits behind and no longer mergeable. This port preserves all current rule changes and adds only the taxonomy contract:

  • new FixType enum: Time, Formatting, Dialog, Punctuation, Casing, Spacing, Characters, OCR;
  • FixType FixType { get; } on IFixCommonError;
  • all 39 libse rules plus UI FixCommonOcrErrors declare a category.

Rebase integrity

Only three rule files changed upstream since SubtitleEdit#14442's base:

  • FixHyphensRemoveDashSingleLine.cs
  • FixMissingPeriodsAtEndOfLine.cs
  • FixShortDisplayTimes.cs

Those three were patched on top of the current versions. All other changed blobs are identical to the original SubtitleEdit#14442 changes because their files did not drift.

Audit notes

The contract is structurally complete for the current 40 implementations. Category assignments are retained from SubtitleEdit#14442 for behavioral comparison; ambiguous taxonomy cases such as FixDoubleGreaterThan can be adjudicated separately without changing execution behavior.

Validation

  • current upstream base: c77c4b428649ce7030e6cf218b4d7c384b955232
  • final HEAD: cd4ad6454a55651d6b2563fed0babc58b8be9991
  • taxonomy review moved FixDoubleGreaterThan from Punctuation to Dialog, matching its behavior as removal of a >> speaker/dialogue marker
  • final-head full solution restore passed
  • final-head full solution build passed
  • final-head full solution test suite passed on the first run
  • UI suite: 5,151 passed, 9 skipped, 0 failed (5,160 total)
  • retry step was not used
  • final validation run: #34787974854
  • no merge/promotion intended during audit

AI assistance: ChatGPT was used to rebase the stale contract without overwriting current rule fixes and to audit category coverage.

@Blackspirits Blackspirits left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent adversarial re-check: the stale SubtitleEdit#14442 stack was ported onto current c77c4b4 without overwriting later rule changes. The three drifted rule files were patched on top of current content; all remaining changed blobs are unchanged from the original contract addition. Full CI #34787730169 passed restore, build and the complete solution suite on the first run; UITests reported 5,151 passed, 9 skipped and 0 failed. Retry was not used. No structural blocker identified; taxonomy semantics remain under review for ambiguous cases such as FixDoubleGreaterThan. Keep draft; no merge performed.

@Blackspirits Blackspirits left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Final independent re-check: the contract is complete for all current IFixCommonError implementations and preserves the three rule files that drifted upstream after SubtitleEdit#14442. Taxonomy review additionally moved FixDoubleGreaterThan to Dialog because it removes the >> speaker/dialogue marker rather than repairing ordinary punctuation. Final-head CI #34787974854 passed restore, build and the complete solution suite on the first run; UITests reported 5,151 passed, 9 skipped and 0 failed. Retry was not used. No blocker identified. Keep draft; no merge performed.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant