oh-my-customcode 1.1.86 → 1.1.88
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
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -496,7 +496,20 @@ steps:
|
|
|
496
496
|
`grep -E '(함|됨|필요)[.。"]?$'` = 0 (반말/명사 종결 endings such as 확인함·정정
|
|
497
497
|
필요·완료됨 fall entirely outside the 다-ending regexes above and were previously
|
|
498
498
|
undetectable — verified against 4 명사 종결 positive samples and 4 합쇼체 negative
|
|
499
|
-
samples, 8/8 correct) (#1728 찐빠 #2 residual).
|
|
499
|
+
samples, 8/8 correct) (#1728 찐빠 #2 residual). On macOS, a `grep -E` run of these three
|
|
500
|
+
checks MAY false-positive on multibyte UTF-8 lines (line-final `$` anchor mismatch
|
|
501
|
+
observed, [hypothesis: unverified]) and this repo's Bash `grep` MAY be a shell function
|
|
502
|
+
shadowing the real binary (R005) — the agent MUST ALSO run the same three checks as a
|
|
503
|
+
python3 `re` equivalent of all THREE checks above, reading from the SAME piped stdin as
|
|
504
|
+
(a) (`git diff -U0 -- <edited md/yaml files> | grep '^+' | python3 -c "import re,sys;
|
|
505
|
+
text=sys.stdin.read();
|
|
506
|
+
fam=len(re.findall(r'(한다|된다|않는다|따른다|했다|있다|없다|넣는다|이다)[.。 \"]', text));
|
|
507
|
+
lf=len(re.findall(r'다[.。\"]?$', text, re.M)) - len(re.findall(r'니다[.。\"]?$', text, re.M));
|
|
508
|
+
noun=len(re.findall(r'(함|됨|필요)[.。\"]?$', text, re.M));
|
|
509
|
+
print(fam, lf, noun)"`, NOT a file-argument read — the input is the piped diff, never a
|
|
510
|
+
file path), in ADDITION to (not instead of) the grep commands above, and
|
|
511
|
+
treat a python3/grep disagreement as evidence the grep result is unreliable (macOS
|
|
512
|
+
line-final 오탐 가능성 대응, R005, R023, #1749 찐빠 #3). Even with all three checks, a residual
|
|
500
513
|
gap remains for 반말/명사 종결 variants the patterns above do not enumerate — the agent
|
|
501
514
|
MUST also read the newly added lines directly as a final check, not rely on regex alone.
|
|
502
515
|
When an edit re-emits a pre-existing
|
|
@@ -514,6 +527,13 @@ steps:
|
|
|
514
527
|
contaminate the very command a clause cites (#1711 찐빠 #2); (h) any temporary file the
|
|
515
528
|
delegation creates MUST live under a per-agent-unique path (`$TMPDIR` or the session
|
|
516
529
|
scratchpad), never a fixed shared path (#1722 찐빠 #7).
|
|
530
|
+
- Any implement-stage delegation that writes an executable command or code snippet into
|
|
531
|
+
rule/skill/guide/workflow TEXT (not a prose-only edit) MUST require, as a completion-report
|
|
532
|
+
item, that the agent copy the command OUT of the edited file and run it once on a positive
|
|
533
|
+
fixture (the check-triggering case) and once on a negative fixture (the check-passing
|
|
534
|
+
case), reporting both raw outputs (룰/스킬/워크플로 텍스트에 넣는 실행 명령은 편집 파일에서
|
|
535
|
+
그대로 복사해 양성·음성 픽스처로 실행한 출력을 완료 보고에 포함해야 합니다; 정정 위임은 이미
|
|
536
|
+
적용해 통과한 결과로 갈음합니다) (R023 「Sample-Value Assembly」, #1752 찐빠 #1).
|
|
517
537
|
- Every delegation prompt (not only rule/skill/guide TEXT edits) MUST instruct the agent
|
|
518
538
|
that if a guard, classifier, or permission check blocks an action, it MUST NOT route
|
|
519
539
|
around it (e.g. via a shell glob or path rewrite) — it MUST stop and report the block
|
|
@@ -542,6 +562,13 @@ steps:
|
|
|
542
562
|
arithmetic above MUST add a batched-verification term — ⌈N/batch⌉ — still an
|
|
543
563
|
upper-bound guide that may still truncate, not a truncation guarantee (검증 비용을
|
|
544
564
|
턴 산술에 반영, R020 「maxTurns 절단 실증」 6항 확장, #1737 찐빠 #1).
|
|
565
|
+
- A single-file edit delegation (of any type, not only rule/skill/guide TEXT edits) whose
|
|
566
|
+
target file is ≥1,000 lines (measure `wc -l`) MUST either (i) split "본문 편집" (body edit) from "미러 복사·검증·
|
|
567
|
+
보고" (mirror copy, verification, and completion report) into separate delegations, or
|
|
568
|
+
(ii) add a large-file fixed-cost term to the turn arithmetic above — a large-file edit
|
|
569
|
+
can exceed what the arithmetic assumes even when the item count stays small; read-only
|
|
570
|
+
review delegations are excluded (대형 파일 편집 위임 20턴 절단 재발 방지, R020
|
|
571
|
+
「maxTurns 절단 실증」, R009, #1749 찐빠 #1).
|
|
545
572
|
- Parity delegation prompts (e.g. a ko mirror tracking an en source) MUST require THREE
|
|
546
573
|
directions — additions, edits, AND deletions — to match the source, never additions
|
|
547
574
|
only; completion criteria MUST include a `grep -F` confirming zero rows/sentences are
|
|
@@ -606,7 +633,19 @@ steps:
|
|
|
606
633
|
upstream CHANGELOG lines (measured with `grep -nF`) and the original target paragraph
|
|
607
634
|
as ground truth; if the issue's premise differs from the primary source, the primary
|
|
608
635
|
source wins and the discrepancy is reported rather than silently inherited into the
|
|
609
|
-
corrected wording (#1730 찐빠 #1).
|
|
636
|
+
corrected wording (#1730 찐빠 #1). A `claude-code-release` delegation prompt that writes
|
|
637
|
+
a count sentence (e.g. "기타 N건") MUST specify, in the prompt itself, the exact counting
|
|
638
|
+
range (which section of the issue body to count) and the exact measurement command; the
|
|
639
|
+
resulting guide/rule text MUST carry that same command alongside the number — delegations
|
|
640
|
+
that produce no count sentence are excluded (계수 구간 정의 부재로 인한 수치 오류 방지,
|
|
641
|
+
R023 「리서치 위임의 결론 수치는 표에서 재계산해 병기」, R020, #1749 찐빠 #2).
|
|
642
|
+
- Any delegation correcting a fact (the issue states an existing statement in a target file
|
|
643
|
+
is wrong) — not only `claude-code-release` CC-notes — MUST include, as a completion
|
|
644
|
+
criterion, an exhaustive `grep` across the target file(s) for the claim's key terms, not
|
|
645
|
+
only the single string anchor supplied in the prompt, so a second copy of the same claim
|
|
646
|
+
elsewhere in the file is also caught; pure additions (no existing statement is being
|
|
647
|
+
corrected) are excluded (앵커 1개 한정으로 인한 동일 주장 잔존 사본 방지, R010 「출처
|
|
648
|
+
인용과 인접 문구 점검」, R022, #1749 찐빠 #4).
|
|
610
649
|
- When review-correction work is split across file-ownership delegations (one file per
|
|
611
650
|
agent), every split delegation prompt MUST carry the FULL list of review findings
|
|
612
651
|
(not only the subset touching that agent's file) as a self-check list, so a fix in one
|
|
@@ -853,6 +892,12 @@ steps:
|
|
|
853
892
|
(loop_count × sleep_interval + command time ≤ timeout, with margin), or prefer a
|
|
854
893
|
single bounded call `gh run watch <run-id> --exit-status` (optionally
|
|
855
894
|
run_in_background) over an unbounded manual poll loop (#1711 찐빠 #6).
|
|
895
|
+
- Any wait/poll loop in this step, including a release-publish package-availability
|
|
896
|
+
wait, MUST print one progress line per iteration (attempt count, current observed
|
|
897
|
+
value) so a long-but-normal wait is not mistaken for a stall — a single bounded
|
|
898
|
+
`gh run watch`/`gh pr checks --watch` call already streams periodic status, which
|
|
899
|
+
serves the same anti-stall purpose and satisfies this requirement without extra
|
|
900
|
+
instrumentation (#1752 찐빠 #2).
|
|
856
901
|
- If failures: diagnose, fix, re-verify
|
|
857
902
|
3. For npm projects with auto-tag.yml: MANDATORY additional check:
|
|
858
903
|
gh run list --workflow auto-tag.yml --limit 1 --json conclusion,displayTitle
|
package/templates/manifest.json
CHANGED
|
@@ -496,7 +496,20 @@ steps:
|
|
|
496
496
|
`grep -E '(함|됨|필요)[.。"]?$'` = 0 (반말/명사 종결 endings such as 확인함·정정
|
|
497
497
|
필요·완료됨 fall entirely outside the 다-ending regexes above and were previously
|
|
498
498
|
undetectable — verified against 4 명사 종결 positive samples and 4 합쇼체 negative
|
|
499
|
-
samples, 8/8 correct) (#1728 찐빠 #2 residual).
|
|
499
|
+
samples, 8/8 correct) (#1728 찐빠 #2 residual). On macOS, a `grep -E` run of these three
|
|
500
|
+
checks MAY false-positive on multibyte UTF-8 lines (line-final `$` anchor mismatch
|
|
501
|
+
observed, [hypothesis: unverified]) and this repo's Bash `grep` MAY be a shell function
|
|
502
|
+
shadowing the real binary (R005) — the agent MUST ALSO run the same three checks as a
|
|
503
|
+
python3 `re` equivalent of all THREE checks above, reading from the SAME piped stdin as
|
|
504
|
+
(a) (`git diff -U0 -- <edited md/yaml files> | grep '^+' | python3 -c "import re,sys;
|
|
505
|
+
text=sys.stdin.read();
|
|
506
|
+
fam=len(re.findall(r'(한다|된다|않는다|따른다|했다|있다|없다|넣는다|이다)[.。 \"]', text));
|
|
507
|
+
lf=len(re.findall(r'다[.。\"]?$', text, re.M)) - len(re.findall(r'니다[.。\"]?$', text, re.M));
|
|
508
|
+
noun=len(re.findall(r'(함|됨|필요)[.。\"]?$', text, re.M));
|
|
509
|
+
print(fam, lf, noun)"`, NOT a file-argument read — the input is the piped diff, never a
|
|
510
|
+
file path), in ADDITION to (not instead of) the grep commands above, and
|
|
511
|
+
treat a python3/grep disagreement as evidence the grep result is unreliable (macOS
|
|
512
|
+
line-final 오탐 가능성 대응, R005, R023, #1749 찐빠 #3). Even with all three checks, a residual
|
|
500
513
|
gap remains for 반말/명사 종결 variants the patterns above do not enumerate — the agent
|
|
501
514
|
MUST also read the newly added lines directly as a final check, not rely on regex alone.
|
|
502
515
|
When an edit re-emits a pre-existing
|
|
@@ -514,6 +527,13 @@ steps:
|
|
|
514
527
|
contaminate the very command a clause cites (#1711 찐빠 #2); (h) any temporary file the
|
|
515
528
|
delegation creates MUST live under a per-agent-unique path (`$TMPDIR` or the session
|
|
516
529
|
scratchpad), never a fixed shared path (#1722 찐빠 #7).
|
|
530
|
+
- Any implement-stage delegation that writes an executable command or code snippet into
|
|
531
|
+
rule/skill/guide/workflow TEXT (not a prose-only edit) MUST require, as a completion-report
|
|
532
|
+
item, that the agent copy the command OUT of the edited file and run it once on a positive
|
|
533
|
+
fixture (the check-triggering case) and once on a negative fixture (the check-passing
|
|
534
|
+
case), reporting both raw outputs (룰/스킬/워크플로 텍스트에 넣는 실행 명령은 편집 파일에서
|
|
535
|
+
그대로 복사해 양성·음성 픽스처로 실행한 출력을 완료 보고에 포함해야 합니다; 정정 위임은 이미
|
|
536
|
+
적용해 통과한 결과로 갈음합니다) (R023 「Sample-Value Assembly」, #1752 찐빠 #1).
|
|
517
537
|
- Every delegation prompt (not only rule/skill/guide TEXT edits) MUST instruct the agent
|
|
518
538
|
that if a guard, classifier, or permission check blocks an action, it MUST NOT route
|
|
519
539
|
around it (e.g. via a shell glob or path rewrite) — it MUST stop and report the block
|
|
@@ -542,6 +562,13 @@ steps:
|
|
|
542
562
|
arithmetic above MUST add a batched-verification term — ⌈N/batch⌉ — still an
|
|
543
563
|
upper-bound guide that may still truncate, not a truncation guarantee (검증 비용을
|
|
544
564
|
턴 산술에 반영, R020 「maxTurns 절단 실증」 6항 확장, #1737 찐빠 #1).
|
|
565
|
+
- A single-file edit delegation (of any type, not only rule/skill/guide TEXT edits) whose
|
|
566
|
+
target file is ≥1,000 lines (measure `wc -l`) MUST either (i) split "본문 편집" (body edit) from "미러 복사·검증·
|
|
567
|
+
보고" (mirror copy, verification, and completion report) into separate delegations, or
|
|
568
|
+
(ii) add a large-file fixed-cost term to the turn arithmetic above — a large-file edit
|
|
569
|
+
can exceed what the arithmetic assumes even when the item count stays small; read-only
|
|
570
|
+
review delegations are excluded (대형 파일 편집 위임 20턴 절단 재발 방지, R020
|
|
571
|
+
「maxTurns 절단 실증」, R009, #1749 찐빠 #1).
|
|
545
572
|
- Parity delegation prompts (e.g. a ko mirror tracking an en source) MUST require THREE
|
|
546
573
|
directions — additions, edits, AND deletions — to match the source, never additions
|
|
547
574
|
only; completion criteria MUST include a `grep -F` confirming zero rows/sentences are
|
|
@@ -606,7 +633,19 @@ steps:
|
|
|
606
633
|
upstream CHANGELOG lines (measured with `grep -nF`) and the original target paragraph
|
|
607
634
|
as ground truth; if the issue's premise differs from the primary source, the primary
|
|
608
635
|
source wins and the discrepancy is reported rather than silently inherited into the
|
|
609
|
-
corrected wording (#1730 찐빠 #1).
|
|
636
|
+
corrected wording (#1730 찐빠 #1). A `claude-code-release` delegation prompt that writes
|
|
637
|
+
a count sentence (e.g. "기타 N건") MUST specify, in the prompt itself, the exact counting
|
|
638
|
+
range (which section of the issue body to count) and the exact measurement command; the
|
|
639
|
+
resulting guide/rule text MUST carry that same command alongside the number — delegations
|
|
640
|
+
that produce no count sentence are excluded (계수 구간 정의 부재로 인한 수치 오류 방지,
|
|
641
|
+
R023 「리서치 위임의 결론 수치는 표에서 재계산해 병기」, R020, #1749 찐빠 #2).
|
|
642
|
+
- Any delegation correcting a fact (the issue states an existing statement in a target file
|
|
643
|
+
is wrong) — not only `claude-code-release` CC-notes — MUST include, as a completion
|
|
644
|
+
criterion, an exhaustive `grep` across the target file(s) for the claim's key terms, not
|
|
645
|
+
only the single string anchor supplied in the prompt, so a second copy of the same claim
|
|
646
|
+
elsewhere in the file is also caught; pure additions (no existing statement is being
|
|
647
|
+
corrected) are excluded (앵커 1개 한정으로 인한 동일 주장 잔존 사본 방지, R010 「출처
|
|
648
|
+
인용과 인접 문구 점검」, R022, #1749 찐빠 #4).
|
|
610
649
|
- When review-correction work is split across file-ownership delegations (one file per
|
|
611
650
|
agent), every split delegation prompt MUST carry the FULL list of review findings
|
|
612
651
|
(not only the subset touching that agent's file) as a self-check list, so a fix in one
|
|
@@ -853,6 +892,12 @@ steps:
|
|
|
853
892
|
(loop_count × sleep_interval + command time ≤ timeout, with margin), or prefer a
|
|
854
893
|
single bounded call `gh run watch <run-id> --exit-status` (optionally
|
|
855
894
|
run_in_background) over an unbounded manual poll loop (#1711 찐빠 #6).
|
|
895
|
+
- Any wait/poll loop in this step, including a release-publish package-availability
|
|
896
|
+
wait, MUST print one progress line per iteration (attempt count, current observed
|
|
897
|
+
value) so a long-but-normal wait is not mistaken for a stall — a single bounded
|
|
898
|
+
`gh run watch`/`gh pr checks --watch` call already streams periodic status, which
|
|
899
|
+
serves the same anti-stall purpose and satisfies this requirement without extra
|
|
900
|
+
instrumentation (#1752 찐빠 #2).
|
|
856
901
|
- If failures: diagnose, fix, re-verify
|
|
857
902
|
3. For npm projects with auto-tag.yml: MANDATORY additional check:
|
|
858
903
|
gh run list --workflow auto-tag.yml --limit 1 --json conclusion,displayTitle
|