Skip to content

Repository hygiene and smaller checker defects #11

Description

@mairas

From the review on PR #1: #1 (comment)

Smaller items, grouped because none is worth its own issue.

  • No hard-coded hostname pre-commit check. docs/HOSTNAME_POLICY.md names a per-repository lefthook command running .github/scripts/check-hardcoded-hostnames.sh as the enforcement mechanism; this repo has the lefthook infrastructure but neither the command nor the script. 13 of the 22 workspace repos with a lefthook.yml carry it. Either add it or record the exemption in AGENTS.md.
  • Nothing runs ruff format --check. pyproject.toml waives E501 as "handled by formatter", but CI and lefthook run ruff check only and ./run format rewrites rather than verifies. The sources are clean today, so adding the check costs nothing.
  • ci.yml is hand-written where every other halos-org repo calls halos-org/shared-workflows. Producing no .deb does not opt a repo out — skip and skip-freeboard-panel are npm packages that call pr-checks.yml with skip-lintian: true, and version-bump-check already no-ops without a VERSION file. Either adopt it or record the deviation.
  • The pre-commit hooks exit 0 with a warning when uv or ruff is missing, so a clean commit can mean nothing was checked.
  • The gate covers locales configured with build: false. Parking a work-in-progress locale is the obvious escape hatch when a language falls behind; today it blocks every pull request instead of pausing one language. Decide deliberately and write it down either way.
  • check-anchors reports a fragment link to a non-HTML asset as broken. resolve() appends index.html to any path without an .html suffix, so manual.pdf#page=12 — ordinary in hardware documentation — resolves to manual.pdf/index.html and fails. The documented remedy is --exclude, whose broad patterns produce the false green PR Package the documentation checkers and add a blocking translation gate #1 just closed. Return None for targets whose extension is present and is not .html.
  • english_diff drops content lines beginning -- or ++ . The noise filter matches rendered diff lines by prefix, so a removed line whose text starts with -- becomes --- and is discarded as a file header. In the fixture a changed safety limit rendered as an addition with no corresponding removal. Drop headers by position, or match the anchored --- a/ forms.
  • Page paths are interpolated unescaped into the comment. A fork PR can push a filename containing newlines and --> that terminates the table early, renders chosen prose in the bot's voice — including the "everything is current" sentence — and emits a second <!-- translation-status --> marker ahead of the real one, breaking find-or-update workflows.
  • The README and AGENTS.md reference a v0.1.0 tag that does not exist yet. PR Package the documentation checkers and add a blocking translation gate #1 replaced the literal with a placeholder; cut the tag when the package is first pinned.

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