Skip to content

translation-status: a wide English edit empties both channels that explain the red run #43

Description

@mairas

The design principle in the workflow header is that everything which can fail
runs after the comment, so a red run always carries its explanation. Both
carriers have size limits, and one realistic change crosses them together.

A terminology or formatting sweep over all 20 English pages in a nine-locale
repo produces 180 stale entries.

  1. translation-status --format markdown --diff renders a collapsed diff per
    entry. Rewriting a 15 KB page yields roughly 30 KB of diff, so the report
    reaches several megabytes. GITHUB_STEP_SUMMARY is capped at 1 MiB per step;
    GitHub drops an oversized summary and annotates the run. The step stays
    green, so nothing about the failure points at it.
  2. translation-status --comment sees the body cross its 60000-character
    ceiling, strips the diffs, and appends "See the workflow run's job summary
    for the complete report" — pointing at the summary that step 1 just lost.

So at exactly the size where the report is least reconstructible by hand, the
comment lists 180 page names without saying what changed and points at an empty
summary. On a push-to-main run there is no comment at all, so the summary is
the only channel and it is the one dropped.

The two limits are independent, which is why neither side noticed: the comment
fallback in halos-org/docs-tools#2
is about the comment, and nothing bounds the summary.

Options: write the no-diff report to the summary when the diff report exceeds
roughly 900 KB and say so in the appended text, or upload the full report as a
run artifact and point the comment's fallback at that instead.

Found by the adversarial reviewer on
#39. Not reproduced —
the probe was two pages in one locale, far below either limit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions