oh-my-customcode 1.1.90 → 1.1.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/MAY-optimization.md +2 -0
- package/templates/.claude/rules/MUST-sync-verification.md +2 -0
- package/templates/.claude/skills/pipeline/workflows/auto-dev.yaml +11 -4
- package/templates/manifest.json +1 -1
- package/templates/workflows/auto-dev.yaml +11 -4
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -78,6 +78,8 @@ zsh는 미인용 `$var`를 단어분할하지 않습니다(#1683 #5) — 분할
|
|
|
78
78
|
|
|
79
79
|
계수/매칭 방법 확인(#1521): 카운트 대조 전 비교 대상의 계수 방법(glob vs `find`, 부분매칭, 확장자 필터, 머지커밋 diff 생략 등)을 먼저 확인합니다.
|
|
80
80
|
|
|
81
|
+
`git grep -E`(POSIX ERE)는 `\b`·`\d`·`\s`를 지원하지 않으며 오류 없이 0건을 반환할 수 있습니다(#1760, 플랫폼 의존 — macOS git 2.52.0에서 확인, GNU/glibc ERE는 확장으로 지원) — 이식 가능한 PCRE가 필요하면 `git grep -P` 또는 python을 사용합니다.
|
|
82
|
+
|
|
81
83
|
<!-- DETAIL: counting method check
|
|
82
84
|
> **계수/매칭 방법 확인 (#1521)**: 카운트를 대조하기 전에 **비교 대상이 무엇을 어떻게 세는지** 먼저 확인한다 — 같은 지표라도 계수 방법이 다르면 값이 달라진다. 대표 함정 4종: (a) glob(`ls *.md`, 최상위만) vs 재귀 `find`(하위 디렉토리 포함), (b) 부분 문자열 grep(`grep "sdd"`가 `sdd-dev`까지 매칭), (c) 확장자 필터(`--include='*.md'`가 `CLAUDE.md.en`을 미매칭), (d) **머지 커밋 diff 기본 생략** — `git show --name-only <머지커밋>`은 diff를 기본적으로 출력하지 않아 변경 파일 0개로 오독된다. 머지 커밋의 변경 파일을 세려면 `--first-parent`(1차 부모 대비) 또는 `-m`(각 부모별 diff)을 명시한다. 검증 스크립트와 대조할 때는 **스크립트의 실제 계수 로직을 읽고** 같은 방법으로 센다. 위 `ls | tail` 시계열 오판(#1417)과 동류로, 도구의 기본 동작을 확인하지 않은 채 결과를 해석해 오탐에 이르는 패턴이다. Origin: #1521 (2026-07-20 세션에서 3회 반복; 두 서브에이전트가 독립적으로 동일 오탐에 도달); (d)는 #1553 찐빠 #4 (2026-07-30 세션에서 머지 커밋 `--name-only` 0파일을 "변경 없음"으로 오독).
|
|
83
85
|
-->
|
|
@@ -503,6 +503,8 @@ Origin: #1584 #1 (v1.1.46 세션) — 이슈 생성(8/11~14)과 작업(8/15) 사
|
|
|
503
503
|
|
|
504
504
|
R017 게이트 통과 후 스코프가 확장되면(추가 파일 편집), 커밋 전 게이트를 **최종 상태에서 재실행**한다.
|
|
505
505
|
|
|
506
|
+
**경계 (#1760)**: 이 경계는 위 재실행 규칙을 취소하지 않고 같은 파일 내 리뷰 정정에 한해 좁힙니다. "리뷰 정정"은 이 게이트의 리뷰 위임(mgr-sauron R017, 적대적 리뷰)의 지적에 따라 게이트 대상 변경 집합에 이미 있는 파일만 바꾼 정정입니다. 그런 정정 후 결정론 검사(`bun run lint`, `bun run typecheck`, `bash .github/scripts/verify-template-sync.sh`, `bun .github/scripts/validate-docs.ts --programmatic-only`, 전체 `bun test`)를 최종 상태에서 재통과했다면 구조 재검증(mgr-sauron 재실행)을 생략할 수 있으며 생략 사실을 기록합니다. 이 생략은 게이트 판정이 PASS였던 경우에만 적용되며, FAIL 판정 후의 정정은 PASS가 나올 때까지 항상 게이트를 재실행합니다. #1688이 요구하는 리뷰 후 위키 재동기화가 만든 위키 페이지·매니페스트는 `verify-wiki-sync.sh`가 다루므로 그것만으로는 재실행 사유가 아닙니다. 그 외 새 파일이나 새 구조 표면이 생기면 게이트를 재실행합니다.
|
|
507
|
+
|
|
506
508
|
<!-- DETAIL: Post-Gate Scope-Expansion Re-Run intro, original wording
|
|
507
509
|
R017 게이트(mgr-sauron) 통과 선언 후 신규 결함 발견 등으로 스코프가 확장되면(추가 파일 편집), 커밋 전 게이트를 **최종 상태에서 재실행**한다. 게이트 통과 시점 이후의 변경은 형식적으로 미검증이므로, 확장분 미검증 커밋은 R017이 최종 산출물을 커버하지 못하게 만든다.
|
|
508
510
|
-->
|
|
@@ -455,7 +455,12 @@ steps:
|
|
|
455
455
|
combined commit lands. DEADLINE: the combined commit MUST land — with the
|
|
456
456
|
`.husky/pre-commit` gate passing — before the release step begins; release step
|
|
457
457
|
1.a requires a clean working tree, so a deferred commit cannot cross into release.
|
|
458
|
-
|
|
458
|
+
LABEL TIMING: when this OPTION is used, the moment right after the combined commit
|
|
459
|
+
lands is the per-issue "success" point — run lifecycle item 6 (`gh issue edit <N>
|
|
460
|
+
--remove-label in-progress --add-label verify-ready`) there for every issue in the
|
|
461
|
+
commit, at that point rather than deferring it to ci-check, whose step 5 remains the
|
|
462
|
+
safety net (통합 커밋 직후에 이슈별 라벨 전환을 실행합니다, #1760 찐빠 #6).
|
|
463
|
+
6. On success: remove in-progress, add verify-ready (combined-commit OPTION: right after the combined commit lands, #1760 찐빠 #6)
|
|
459
464
|
7. On failure: remove in-progress, add needs-review, comment error summary
|
|
460
465
|
|
|
461
466
|
Rules:
|
|
@@ -488,11 +493,13 @@ steps:
|
|
|
488
493
|
criteria MUST include THREE deterministic checks, scoped to edited text files (md/yaml)
|
|
489
494
|
and restricted to added lines only (`git diff -U0 -- <edited md/yaml files> | grep
|
|
490
495
|
'^+'`): family check `grep -cE '(한다|된다|않는다|따른다|했다|있다|없다|넣는다|이다)[.。 "]'`
|
|
491
|
-
= 0, line-final auxiliary check `grep -E '다[.。"]?$' | grep -
|
|
496
|
+
= 0, line-final auxiliary check `grep -E '다[.。"]?$' | grep -vcE '니다[.。"]?$'` = 0
|
|
492
497
|
(the family list alone misses endings such as 따른다/했다/있다 and unpunctuated
|
|
493
498
|
line-final endings; the line-final check excludes 합쇼체 `-니다` endings so it does not
|
|
494
|
-
flag correct sentences —
|
|
495
|
-
|
|
499
|
+
flag correct sentences — the second grep MUST use `-E`: in BRE `?` is a literal
|
|
500
|
+
character, so the original `grep -vc` form flagged all 6 합쇼체 negatives (6/12 correct,
|
|
501
|
+
re-measured #1760); with `-vcE` the 6 반말/평서형 positive and 6 합쇼체 negative samples
|
|
502
|
+
give 12/12 correct) (#1711 찐빠 #3), AND line-final noun-ending check
|
|
496
503
|
`grep -E '(함|됨|필요)[.。"]?$'` = 0 (반말/명사 종결 endings such as 확인함·정정
|
|
497
504
|
필요·완료됨 fall entirely outside the 다-ending regexes above and were previously
|
|
498
505
|
undetectable — verified against 4 명사 종결 positive samples and 4 합쇼체 negative
|
package/templates/manifest.json
CHANGED
|
@@ -455,7 +455,12 @@ steps:
|
|
|
455
455
|
combined commit lands. DEADLINE: the combined commit MUST land — with the
|
|
456
456
|
`.husky/pre-commit` gate passing — before the release step begins; release step
|
|
457
457
|
1.a requires a clean working tree, so a deferred commit cannot cross into release.
|
|
458
|
-
|
|
458
|
+
LABEL TIMING: when this OPTION is used, the moment right after the combined commit
|
|
459
|
+
lands is the per-issue "success" point — run lifecycle item 6 (`gh issue edit <N>
|
|
460
|
+
--remove-label in-progress --add-label verify-ready`) there for every issue in the
|
|
461
|
+
commit, at that point rather than deferring it to ci-check, whose step 5 remains the
|
|
462
|
+
safety net (통합 커밋 직후에 이슈별 라벨 전환을 실행합니다, #1760 찐빠 #6).
|
|
463
|
+
6. On success: remove in-progress, add verify-ready (combined-commit OPTION: right after the combined commit lands, #1760 찐빠 #6)
|
|
459
464
|
7. On failure: remove in-progress, add needs-review, comment error summary
|
|
460
465
|
|
|
461
466
|
Rules:
|
|
@@ -488,11 +493,13 @@ steps:
|
|
|
488
493
|
criteria MUST include THREE deterministic checks, scoped to edited text files (md/yaml)
|
|
489
494
|
and restricted to added lines only (`git diff -U0 -- <edited md/yaml files> | grep
|
|
490
495
|
'^+'`): family check `grep -cE '(한다|된다|않는다|따른다|했다|있다|없다|넣는다|이다)[.。 "]'`
|
|
491
|
-
= 0, line-final auxiliary check `grep -E '다[.。"]?$' | grep -
|
|
496
|
+
= 0, line-final auxiliary check `grep -E '다[.。"]?$' | grep -vcE '니다[.。"]?$'` = 0
|
|
492
497
|
(the family list alone misses endings such as 따른다/했다/있다 and unpunctuated
|
|
493
498
|
line-final endings; the line-final check excludes 합쇼체 `-니다` endings so it does not
|
|
494
|
-
flag correct sentences —
|
|
495
|
-
|
|
499
|
+
flag correct sentences — the second grep MUST use `-E`: in BRE `?` is a literal
|
|
500
|
+
character, so the original `grep -vc` form flagged all 6 합쇼체 negatives (6/12 correct,
|
|
501
|
+
re-measured #1760); with `-vcE` the 6 반말/평서형 positive and 6 합쇼체 negative samples
|
|
502
|
+
give 12/12 correct) (#1711 찐빠 #3), AND line-final noun-ending check
|
|
496
503
|
`grep -E '(함|됨|필요)[.。"]?$'` = 0 (반말/명사 종결 endings such as 확인함·정정
|
|
497
504
|
필요·완료됨 fall entirely outside the 다-ending regexes above and were previously
|
|
498
505
|
undetectable — verified against 4 명사 종결 positive samples and 4 합쇼체 negative
|