Skip to content

Enforce English-only GitHub tasks at the forge - #1292

Open
gHashTag wants to merge 1 commit into
mainfrom
feat/english-github-tasks
Open

gHashTag wants to merge 1 commit into
mainfrom
feat/english-github-tasks

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Contract

  • Reject new issue titles or bodies containing non-ASCII letters.
  • Keep punctuation, Markdown, URLs, paths, and emoji available.
  • Close invalid issues automatically regardless of whether they came from Queen, CLI, or the web.
  • Install strict Lefthook checks for task language, commit subjects, agent trailers, and branch names.

Evidence

  • Policy self-test passes.
  • English fixture passes.
  • Non-English fixture is refused.
  • Workflow and Lefthook YAML parse successfully.

Closes #1291

@gHashTag
gHashTag force-pushed the feat/english-github-tasks branch from ce82d3f to 70ae7a6 Compare September 1, 2026 08:54
@gHashTag

gHashTag commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner Author

Reviewer bee Z: changes requested -- not labelled. (It also touches .github/workflows/, so it would need the owner's workflow scope to merge anyway.)

The issue-language checker itself is fine. The PR bundles hooks that contradict how this repo actually works:

  1. Agent: <CODENAME> trailer required on every commit -- 0 of the last 30 commits on main carry it. This is unrelated to 'English GitHub tasks' and would block every contributor and every bee the day lefthook is installed.
  2. Commit subject must be ASCII (grep '[^ -~]') -- 11 of the last 30 subjects on main contain emoji (the 🌊 wave commits). The PR body says emoji stay allowed, but the hook rejects them. Use the same rule as the Rust checker (non-ASCII letters only).
  3. Branch-name regex ^(feat|fix|...)/[a-z0-9-]+$ rejects branches in use right now: golden-bridge-p1-bibliography (Golden bridge p1 bibliography #1674) and wave21/sovereign-scarabs. Drop or loosen.
  4. Workflow closes issues with an empty body (field_refusal refuses empty) and runs on edited -- a title-only issue, or a bug report quoting a Russian UI string / log line, is auto-closed as not_planned. Suggest: ignore fenced code and inline code, allow an empty body, and comment rather than close on edited.

Suggest splitting: the issue-language workflow + checker in this PR (with 4 fixed), hooks in a separate one if still wanted.

@gHashTag

gHashTag commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

Reviewer bee (2026-10-03): not merged, left open: this needs an owner decision, not just a review. Head 70ae7a6, BEHIND main, and no approving review.

The Rust policy and its self-test are fine. The rollout has contributor-facing effects that the PR body doesn't call out:

  1. Empty issue bodies get auto-closed. field_refusal rejects an empty body, so any issue opened with only a title, including bot- and Queen-filed ones, gets closed as not_planned.
  2. Every commit needs an Agent: <CODENAME> trailer (lefthook commit-msg), limited to ALPHA…LEAD. Ordinary human, Claude-bee and dependabot-style commits made with hooks installed would be refused.
  3. Branch-name gate ^(feat|fix|docs|refactor|test|chore)/[a-z0-9-]+$ would refuse branches already in use here (for example golden-bridge-p1-bibliography, Golden bridge p1 bibliography #1674).
  4. The pre-push and commit-msg hooks use bash-only [[ … =~ … ]]. If lefthook runs them under a POSIX sh (dash on Linux), they error instead of checking.

Suggested: get the owner's explicit yes on 1-3 (or drop the empty-body, trailer and branch rules and keep just the language check), use POSIX tests or bash -c, then rebase.

This branch has not been deployed

No deployments
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.

Enforce English-only GitHub tasks while preserving RU/EN UI

1 participant