feat(scripts): 경고를 읽는 장치가 아니라 만드는 장치를 더한다
남은 셋은 묶음 경고가 0건이라 게이트를 아무리 조여도 지나간다. 뿌리가 하나다 — 지금 검사기는 사라진 것과 새로 생긴 보호 구간을 보고, 범위가 넓어진 것과 정본을 안 거친 것을 보는 자리가 없었다. 그림이 정본을 거쳤는지 본다. SVG 는 바뀌었는데 spec.json 은 그대로면 그 그림은 정본에서 나온 것이 아니고, 화살표 뒤집기가 그 모양이다. spec 의 간선과 SVG 의 경로를 직접 견주려면 렌더러가 id 를 어떻게 붙이는지 알아야 하는데, 정본을 거쳤는지만 보면 몰라도 된다. 작업 트리와 이력 두 자리를 본다. 정본이 없는 그림은 볼 것이 아니라 세기만 한다. 적용 범위를 넓히는 말이 새로 들어왔는지 본다. 로컬에서 확인했다에 운영 환경에서도를 더하기만 하면 유보도 보호 구간도 안 바뀐다 — 지운 것이 없기 때문이다. 유보 감소의 반대편이고, 판정하지 않고 경고로 올린다. 경고 생산자를 더하는 것이 과잉 차단이 생기는 자리라 후보마다 채택 편집 100쌍을 돌렸다. error 도 경고도 안 늘었다. 정상 편집에 경고가 붙으면 그것도 사실상 차단이다. 목록에 운영·항상 같은 흔한 말이 들어가서, 원래 있던 말을 두고 주변만 고쳐도 걸리는지 보는 대조군을 회귀에 넣었다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q4vKjQo9KKBBokzxqXLCfk
This commit is contained in:
co-authored by
Claude Opus 5
parent
16cbe141a0
commit
e3230ce5ed
@@ -98,6 +98,20 @@ VOICE_MARKS = (
|
||||
"시행착오", "삽질", "헤맸", "덕분에", "다행히", "결국 내",
|
||||
)
|
||||
|
||||
# 적용 범위를 넓히는 말. **늘어난 것만** 본다.
|
||||
#
|
||||
# 지금 검사기는 「사라진 것」과 「새로 생긴 보호 구간」을 본다. **「범위가 넓어진 것」을 보는
|
||||
# 자리가 없었다.** 「로컬에서 확인했다」에 「운영 환경에서도」를 **더하기만** 하면 유보도
|
||||
# 보호 구간도 안 바뀐다 — 지운 것이 없기 때문이다. 그래서 관문 전부를 지나갔다.
|
||||
#
|
||||
# 유보 감소의 반대편이다. 유보를 지워도 확신이 오르고, 범위 말을 더해도 오른다.
|
||||
# **판정하지 않는다** — 범위가 실제로 넓어졌는지는 근거를 읽어야 안다.
|
||||
SCOPE_MARKS = (
|
||||
"운영 환경", "운영에서", "운영에도", "프로덕션",
|
||||
"항상", "언제나", "언제든", "어디서나", "어느 경우에도",
|
||||
"모든 경우", "전부 그렇다", "예외 없이", "무조건", "반드시", "절대",
|
||||
)
|
||||
|
||||
# `## 이름` 절. 통째로 사라진 절은 그 자체를 낸다 — 안에 보호 구간이 없으면
|
||||
# 다른 어떤 계수도 안 움직인다. 「확인하지 못한 것」 절을 지우는 편집이 그 모양이다
|
||||
SECTION = re.compile(r"^##\s+(.+?)\s*$", re.M)
|
||||
@@ -157,6 +171,18 @@ def compare(before: str, after: str) -> dict:
|
||||
"note": "절이 통째로 없어졌다. 덜어 낸 것인지 한계를 지운 것인지는 "
|
||||
"근거를 읽어야 안다"})
|
||||
|
||||
# 적용 범위가 넓어졌나. 늘어난 것만 본다 — 좁히는 것은 이 규범에서 안전한 쪽이다
|
||||
for mark in SCOPE_MARKS:
|
||||
gained = after.count(mark) - before.count(mark)
|
||||
if gained > 0:
|
||||
warnings.append({
|
||||
"kind": "적용 범위", "change": "새로생김", "count": gained, "value": mark,
|
||||
"sentence": _sentence_of(after, mark),
|
||||
"note": "편집이 적용 범위를 넓혔다. 그 범위에서 실제로 확인했는지 근거를 "
|
||||
"읽어야 안다 — 로컬에서 잰 것을 운영에서 확인한 것으로 올리는 "
|
||||
"자리가 여기다",
|
||||
})
|
||||
|
||||
# 자료에 없는 1인칭이 들어왔나. 늘어난 것만 본다 — 지우는 것은 이 규범에서 안전한 쪽이다
|
||||
for mark in VOICE_MARKS:
|
||||
gained = after.count(mark) - before.count(mark)
|
||||
|
||||
Reference in New Issue
Block a user