Conversation
Correct "AionUI" to "AionUi" and add link to AionUi GitHub repository in video caption. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Convert video demo to GIF format since GitHub doesn't support HTML5 video tags in Markdown. The animated GIF will display directly in the README. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Remove first 20 seconds of demo video, keeping only the relevant content. File size reduced from 32MB to 19MB. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
goworm
approved these changes
Mar 25, 2026
goworm
added a commit
that referenced
this pull request
Mar 27, 2026
goworm
added a commit
that referenced
this pull request
Apr 2, 2026
goworm
added a commit
that referenced
this pull request
Apr 17, 2026
ECMA-376 renders a display equation as `<w:p><m:oMathPara>…</m:oMathPara></w:p>`.
Our HTML preview already treats that wrapper specially — emits a
`<div class="equation">` rather than a `<p>` — but path resolution,
Query enumeration, and data-path attribution counted the wrapper as
just another /body/p[N] slot. Result: `/body/p[2]` after a display
equation resolved to the equation wrapper instead of the next prose
paragraph, and Query("p") over-counted by one per equation.
Changes (IsOMathParaWrapperParagraph shared helper):
- Navigation.cs: /body/p[N] filters out oMathPara wrappers; /body/oMathPara[M]
still addresses them separately.
- Query.cs: paraIdx no longer advances for oMathPara wrappers; the
mathParaIdx/equation emission path runs before paraIdx++ instead of
after.
- HtmlPreview.cs: wParaCount skips oMathPara wrappers so data-path
attributes on subsequent paragraphs line up with Navigation.
Test BugPM005_RemoveEquation_RemovesWrapperParagraphToo encoded the
old semantics (wrapper counted as `p`); updated to assert the new
semantics + an explicit raw w:p count to still guard against zombie
wrappers after equation removal.
References LibreOffice: its chart2 tests confirm XPath /body/p[N]
naturally addresses paragraphs — the bug was specifically that the
oMathPara wrapper is not a text paragraph semantically.
Fixes KNOWN_ISSUES.md #6.
goworm
added a commit
that referenced
this pull request
May 2, 2026
…light, drop static contrast Gate 4 Min cycle and Delivery Gate were two passes at the same checks: Min cycle #2 (view html) overlapped Gate 5, #3 (token query) overlapped Gate 2's grep, #4 (close+validate) overlapped Gate 1, #5 (target viewer) was a 4-line restatement of the view-html-vs-runtime rule already in Common Workflow #6. The intro itself called Min cycle "warmup" while Delivery Gate did the real work. Replace the 6-step Min cycle with a single-line Pre-flight using view annotated (the one Min-cycle item Gates don't cover — font/size violations and overflow surfaced before the gate run). Move target viewer + fix-and-rerun guidance into a tight "After all gates pass" subsection at the end of QA. Drop the static-contrast Gate 4 (query+jq dark-fill scan): its hardcoded list of five hex values misses any deck using a custom dark fill, while Gate 5's visual review catches dark-on-dark across all fills. Renumber: Gate 5 → Gate 4. Update cross-references (intro line, status banner, "Gates 1-4 cannot see rendered slides" → "Gates 1-3", "Gates 2-5 are how you catch" → "Gates 2-4").
goworm
added a commit
that referenced
this pull request
May 2, 2026
All three paragraphs were duplicates: target-viewer reminder is in Common Workflow #6, the rerun-on-fail advice is implicit in the bash gates' exit-1 behavior, and the validate-vs-design framing already appears in the Delivery Gate intro. The section title also pointed the wrong direction — "after all gates pass" but the middle paragraph is "if a gate fails". Drop the subsection; the gate output ("Gate 3 PASS" / "REJECT and list every instance") is the natural close.
NextDoorLaoHuang-HF
pushed a commit
to NextDoorLaoHuang-HF/OfficeCLI
that referenced
this pull request
Jun 10, 2026
NextDoorLaoHuang-HF
pushed a commit
to NextDoorLaoHuang-HF/OfficeCLI
that referenced
this pull request
Jun 10, 2026
ECMA-376 renders a display equation as `<w:p><m:oMathPara>…</m:oMathPara></w:p>`.
Our HTML preview already treats that wrapper specially — emits a
`<div class="equation">` rather than a `<p>` — but path resolution,
Query enumeration, and data-path attribution counted the wrapper as
just another /body/p[N] slot. Result: `/body/p[2]` after a display
equation resolved to the equation wrapper instead of the next prose
paragraph, and Query("p") over-counted by one per equation.
Changes (IsOMathParaWrapperParagraph shared helper):
- Navigation.cs: /body/p[N] filters out oMathPara wrappers; /body/oMathPara[M]
still addresses them separately.
- Query.cs: paraIdx no longer advances for oMathPara wrappers; the
mathParaIdx/equation emission path runs before paraIdx++ instead of
after.
- HtmlPreview.cs: wParaCount skips oMathPara wrappers so data-path
attributes on subsequent paragraphs line up with Navigation.
Test BugPM005_RemoveEquation_RemovesWrapperParagraphToo encoded the
old semantics (wrapper counted as `p`); updated to assert the new
semantics + an explicit raw w:p count to still guard against zombie
wrappers after equation removal.
References LibreOffice: its chart2 tests confirm XPath /body/p[N]
naturally addresses paragraphs — the bug was specifically that the
oMathPara wrapper is not a text paragraph semantically.
Fixes KNOWN_ISSUES.md iOfficeAI#6.
NextDoorLaoHuang-HF
pushed a commit
to NextDoorLaoHuang-HF/OfficeCLI
that referenced
this pull request
Jun 10, 2026
…light, drop static contrast Gate 4 Min cycle and Delivery Gate were two passes at the same checks: Min cycle iOfficeAI#2 (view html) overlapped Gate 5, iOfficeAI#3 (token query) overlapped Gate 2's grep, iOfficeAI#4 (close+validate) overlapped Gate 1, iOfficeAI#5 (target viewer) was a 4-line restatement of the view-html-vs-runtime rule already in Common Workflow iOfficeAI#6. The intro itself called Min cycle "warmup" while Delivery Gate did the real work. Replace the 6-step Min cycle with a single-line Pre-flight using view annotated (the one Min-cycle item Gates don't cover — font/size violations and overflow surfaced before the gate run). Move target viewer + fix-and-rerun guidance into a tight "After all gates pass" subsection at the end of QA. Drop the static-contrast Gate 4 (query+jq dark-fill scan): its hardcoded list of five hex values misses any deck using a custom dark fill, while Gate 5's visual review catches dark-on-dark across all fills. Renumber: Gate 5 → Gate 4. Update cross-references (intro line, status banner, "Gates 1-4 cannot see rendered slides" → "Gates 1-3", "Gates 2-5 are how you catch" → "Gates 2-4").
NextDoorLaoHuang-HF
pushed a commit
to NextDoorLaoHuang-HF/OfficeCLI
that referenced
this pull request
Jun 10, 2026
All three paragraphs were duplicates: target-viewer reminder is in Common Workflow iOfficeAI#6, the rerun-on-fail advice is implicit in the bash gates' exit-1 behavior, and the validate-vs-design framing already appears in the Delivery Gate intro. The section title also pointed the wrong direction — "after all gates pass" but the middle paragraph is "if a gate fails". Drop the subsection; the gate output ("Gate 3 PASS" / "REJECT and list every instance") is the natural close.
goworm
added a commit
that referenced
this pull request
Jun 16, 2026
ECMA-376 renders a display equation as `<w:p><m:oMathPara>…</m:oMathPara></w:p>`.
Our HTML preview already treats that wrapper specially — emits a
`<div class="equation">` rather than a `<p>` — but path resolution,
Query enumeration, and data-path attribution counted the wrapper as
just another /body/p[N] slot. Result: `/body/p[2]` after a display
equation resolved to the equation wrapper instead of the next prose
paragraph, and Query("p") over-counted by one per equation.
Changes (IsOMathParaWrapperParagraph shared helper):
- Navigation.cs: /body/p[N] filters out oMathPara wrappers; /body/oMathPara[M]
still addresses them separately.
- Query.cs: paraIdx no longer advances for oMathPara wrappers; the
mathParaIdx/equation emission path runs before paraIdx++ instead of
after.
- HtmlPreview.cs: wParaCount skips oMathPara wrappers so data-path
attributes on subsequent paragraphs line up with Navigation.
Test BugPM005_RemoveEquation_RemovesWrapperParagraphToo encoded the
old semantics (wrapper counted as `p`); updated to assert the new
semantics + an explicit raw w:p count to still guard against zombie
wrappers after equation removal.
References LibreOffice: its chart2 tests confirm XPath /body/p[N]
naturally addresses paragraphs — the bug was specifically that the
oMathPara wrapper is not a text paragraph semantically.
Fixes KNOWN_ISSUES.md #6.
goworm
added a commit
that referenced
this pull request
Jun 16, 2026
…light, drop static contrast Gate 4 Min cycle and Delivery Gate were two passes at the same checks: Min cycle #2 (view html) overlapped Gate 5, #3 (token query) overlapped Gate 2's grep, #4 (close+validate) overlapped Gate 1, #5 (target viewer) was a 4-line restatement of the view-html-vs-runtime rule already in Common Workflow #6. The intro itself called Min cycle "warmup" while Delivery Gate did the real work. Replace the 6-step Min cycle with a single-line Pre-flight using view annotated (the one Min-cycle item Gates don't cover — font/size violations and overflow surfaced before the gate run). Move target viewer + fix-and-rerun guidance into a tight "After all gates pass" subsection at the end of QA. Drop the static-contrast Gate 4 (query+jq dark-fill scan): its hardcoded list of five hex values misses any deck using a custom dark fill, while Gate 5's visual review catches dark-on-dark across all fills. Renumber: Gate 5 → Gate 4. Update cross-references (intro line, status banner, "Gates 1-4 cannot see rendered slides" → "Gates 1-3", "Gates 2-5 are how you catch" → "Gates 2-4").
goworm
added a commit
that referenced
this pull request
Jun 16, 2026
All three paragraphs were duplicates: target-viewer reminder is in Common Workflow #6, the rerun-on-fail advice is implicit in the bash gates' exit-1 behavior, and the validate-vs-design framing already appears in the Delivery Gate intro. The section title also pointed the wrong direction — "after all gates pass" but the middle paragraph is "if a gate fails". Drop the subsection; the gate output ("Gate 3 PASS" / "REJECT and list every instance") is the natural close.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.