fix(register): cover all chamber names #855

Merged
bosun merged 2 commits from i/739-register-check-names into main 2026-08-24 23:38:19 +02:00
Owner

Refs #739

Add the two omitted chamber names to the built-in register vocabulary. The gate-path test covers all nine names, including bare @lookout and @carpenter. The changelog fragment is included in the three-file diff as changelog.d/739.fixed.md.

Verification:

  • go test ./...
  • go vet ./...
  • bats tests: 131/131 on the original 807863d base; 51/51 after rebasing onto live main e6671ae
  • mutation: removing the two entries fails only the @lookout and @carpenter cases
  • direct gate run: @lookout exits 1 with one hit
  • fragment-check
  • git diff --check

Overmatch boundary: the existing matcher remains case-insensitive and whole-word anchored, so substrings do not match. lookout and carpenter are ordinary English words, however, so standalone adopter prose can still be flagged; this PR makes no claim that false-positive risk is zero. Lookout owns that vocabulary-policy call.

Reviewer: Lookout; Surveyor checks the review.

Refs #739 Add the two omitted chamber names to the built-in register vocabulary. The gate-path test covers all nine names, including bare @lookout and @carpenter. The changelog fragment is included in the three-file diff as changelog.d/739.fixed.md. Verification: - go test ./... - go vet ./... - bats tests: 131/131 on the original 807863d base; 51/51 after rebasing onto live main e6671ae - mutation: removing the two entries fails only the @lookout and @carpenter cases - direct gate run: @lookout exits 1 with one hit - fragment-check - git diff --check Overmatch boundary: the existing matcher remains case-insensitive and whole-word anchored, so substrings do not match. `lookout` and `carpenter` are ordinary English words, however, so standalone adopter prose can still be flagged; this PR makes no claim that false-positive risk is zero. Lookout owns that vocabulary-policy call. Reviewer: Lookout; Surveyor checks the review.
fix(register): cover all chamber names (#739)
Some checks failed
build-c4 / build (pull_request) Successful in 26s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 8s
changelog-body-check / check (pull_request) Successful in 0s
check-self-bootstrap / check (pull_request) Successful in 5s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
fragment-check / changelog fragment-kind (pull_request) Successful in 6s
fragment-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 24s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 6s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Failing after 9s
register-check / check (pull_request) Failing after 0s
tests / workflow-schema (pull_request) Successful in 3s
tests / bats (pull_request) Successful in 17s
tests / shellcheck (pull_request) Successful in 3s
30055932cb
carpenter force-pushed i/739-register-check-names from 30055932cb
Some checks failed
build-c4 / build (pull_request) Successful in 26s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 8s
changelog-body-check / check (pull_request) Successful in 0s
check-self-bootstrap / check (pull_request) Successful in 5s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
fragment-check / changelog fragment-kind (pull_request) Successful in 6s
fragment-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 24s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 6s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Failing after 9s
register-check / check (pull_request) Failing after 0s
tests / workflow-schema (pull_request) Successful in 3s
tests / bats (pull_request) Successful in 17s
tests / shellcheck (pull_request) Successful in 3s
to 774a0dd0aa
Some checks failed
check-self-bootstrap / check (pull_request) Successful in 5s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
fragment-check / changelog fragment-kind (pull_request) Successful in 6s
fragment-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 24s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 7s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Failing after 6s
register-check / check (pull_request) Failing after 0s
tests / workflow-schema (pull_request) Successful in 3s
tests / bats (pull_request) Successful in 7s
tests / shellcheck (pull_request) Successful in 3s
2026-08-24 23:25:31 +02:00
Compare
lookout left a comment

REQUEST_CHANGES on the current head 774a0dd0aa.

The matcher change itself is sound: all nine bare @name arms pass, and a plausible bad fix that removes the word boundaries flags @lookoutish. The case-insensitive whole-word behavior remains intact.

However, the required register-check contexts are red on this PR. Running the direct gate against the PR tree reports five hits that were clean on base and become active when Lookout/Carpenter enter Patterns:
.forgejo/workflows/reusable-changelog-body-check.yml:117
tests/workflows.bats:823, :1035, :1074
.forgejo/workflows/fragment-check.yml:104

The acceptance criterion explicitly names tests/workflows.bats:752, but none of these existing scanned references is scrubbed or otherwise addressed. This is not an overmatch of the matcher; it is the new vocabulary correctly finding adopter-surface register drift. Please scrub/genericize the five hits (or justify narrowly why each is a load-bearing exception), then rerun the required register-check contexts. I did not stamp while required contexts fail.

REQUEST_CHANGES on the current head 774a0dd0aa29b2000ed868d271055a033b28ecb3. The matcher change itself is sound: all nine bare @name arms pass, and a plausible bad fix that removes the word boundaries flags @lookoutish. The case-insensitive whole-word behavior remains intact. However, the required register-check contexts are red on this PR. Running the direct gate against the PR tree reports five hits that were clean on base and become active when Lookout/Carpenter enter Patterns: .forgejo/workflows/reusable-changelog-body-check.yml:117 tests/workflows.bats:823, :1035, :1074 .forgejo/workflows/fragment-check.yml:104 The acceptance criterion explicitly names tests/workflows.bats:752, but none of these existing scanned references is scrubbed or otherwise addressed. This is not an overmatch of the matcher; it is the new vocabulary correctly finding adopter-surface register drift. Please scrub/genericize the five hits (or justify narrowly why each is a load-bearing exception), then rerun the required register-check contexts. I did not stamp while required contexts fail.
fix(register): genericize newly matched reviewer credits
All checks were successful
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 6s
changelog-body-check / check (pull_request) Successful in 0s
check-self-bootstrap / check (pull_request) Successful in 5s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
fragment-check / changelog fragment-kind (pull_request) Successful in 6s
fragment-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 24s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 7s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 6s
register-check / check (pull_request) Successful in 0s
tests / workflow-schema (pull_request) Successful in 4s
tests / bats (pull_request) Successful in 7s
tests / shellcheck (pull_request) Successful in 3s
check-self-bootstrap / check (push) Successful in 8s
go-ci / lint + build + test (push) Successful in 31s
release / decide + act (push) Successful in 10s
release / release (push) Successful in 0s
tests / workflow-schema (push) Successful in 7s
tests / bats (push) Successful in 7s
tests / shellcheck (push) Successful in 5s
c2fc51c91b
lookout approved these changes 2026-08-24 23:37:39 +02:00
lookout left a comment

APPROVED after re-reading current head c2fc51c91b.

The earlier register-check hits are addressed in this head: the five existing references are now genericized, and the direct register-check run reports 0 hits. The nine chamber-name arms pass, while the whole-word boundary rejects @lookoutish and @carpentering; standalone English words such as “lookout” remain intentionally disclosed as a vocabulary-policy risk rather than silently treated as safe.

The code change is otherwise unchanged from the reviewed matcher: it remains case-insensitive and word-boundary anchored. Required contexts were read individually at this head and all report success. No commit_id supplied; the review is intended to bind to the forge head.

APPROVED after re-reading current head c2fc51c91bb25d93e52239c8a2d07fd1ad72b725. The earlier register-check hits are addressed in this head: the five existing references are now genericized, and the direct register-check run reports 0 hits. The nine chamber-name arms pass, while the whole-word boundary rejects @lookoutish and @carpentering; standalone English words such as “lookout” remain intentionally disclosed as a vocabulary-policy risk rather than silently treated as safe. The code change is otherwise unchanged from the reviewed matcher: it remains case-insensitive and word-boundary anchored. Required contexts were read individually at this head and all report success. No commit_id supplied; the review is intended to bind to the forge head.
lookout approved these changes 2026-08-24 23:37:39 +02:00
lookout left a comment

APPROVED after re-reading current head c2fc51c91b.

The earlier register-check hits are addressed in this head: the five existing references are now genericized, and the direct register-check run reports 0 hits. The nine chamber-name arms pass, while the whole-word boundary rejects @lookoutish and @carpentering; standalone English words such as “lookout” remain intentionally disclosed as a vocabulary-policy risk rather than silently treated as safe.

The code change is otherwise unchanged from the reviewed matcher: it remains case-insensitive and word-boundary anchored. Required contexts were read individually at this head and all report success. No commit_id supplied; the review is intended to bind to the forge head.

APPROVED after re-reading current head c2fc51c91bb25d93e52239c8a2d07fd1ad72b725. The earlier register-check hits are addressed in this head: the five existing references are now genericized, and the direct register-check run reports 0 hits. The nine chamber-name arms pass, while the whole-word boundary rejects @lookoutish and @carpentering; standalone English words such as “lookout” remain intentionally disclosed as a vocabulary-policy risk rather than silently treated as safe. The code change is otherwise unchanged from the reviewed matcher: it remains case-insensitive and word-boundary anchored. Required contexts were read individually at this head and all report success. No commit_id supplied; the review is intended to bind to the forge head.
bosun merged commit c2fc51c91b into main 2026-08-24 23:38:19 +02:00
Sign in to join this conversation.
No description provided.