@tienne/gestalt 0.85.0 → 0.87.0
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/package.json +4 -3
- package/dist/plugin/review-agents/harness-reviewer/AGENT.md +21 -1
- package/dist/plugin/role-agents/_shared/references/ai-tell-quick-rules.md +2 -2
- package/dist/plugin/skills/review/SKILL.md +9 -2
- package/dist/src/cli/commands/harness-refs.d.ts +10 -0
- package/dist/src/cli/commands/harness-refs.d.ts.map +1 -1
- package/dist/src/cli/commands/harness-refs.js +40 -0
- package/dist/src/cli/commands/harness-refs.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +10 -1
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/harness-review/backward-search.d.ts +15 -2
- package/dist/src/harness-review/backward-search.d.ts.map +1 -1
- package/dist/src/harness-review/backward-search.js +101 -43
- package/dist/src/harness-review/backward-search.js.map +1 -1
- package/dist/src/harness-review/collect.d.ts +11 -2
- package/dist/src/harness-review/collect.d.ts.map +1 -1
- package/dist/src/harness-review/collect.js +72 -7
- package/dist/src/harness-review/collect.js.map +1 -1
- package/dist/src/harness-review/github-code-search.d.ts +32 -1
- package/dist/src/harness-review/github-code-search.d.ts.map +1 -1
- package/dist/src/harness-review/github-code-search.js +86 -2
- package/dist/src/harness-review/github-code-search.js.map +1 -1
- package/dist/src/harness-review/hybrid-search.d.ts +35 -0
- package/dist/src/harness-review/hybrid-search.d.ts.map +1 -0
- package/dist/src/harness-review/hybrid-search.js +63 -0
- package/dist/src/harness-review/hybrid-search.js.map +1 -0
- package/dist/src/harness-review/related-clones.d.ts +66 -0
- package/dist/src/harness-review/related-clones.d.ts.map +1 -0
- package/dist/src/harness-review/related-clones.js +309 -0
- package/dist/src/harness-review/related-clones.js.map +1 -0
- package/dist/src/harness-review/rule-overlap.d.ts +3 -0
- package/dist/src/harness-review/rule-overlap.d.ts.map +1 -0
- package/dist/src/harness-review/rule-overlap.js +78 -0
- package/dist/src/harness-review/rule-overlap.js.map +1 -0
- package/dist/src/harness-review/search-backend.d.ts +23 -1
- package/dist/src/harness-review/search-backend.d.ts.map +1 -1
- package/dist/src/harness-review/search-backend.js +13 -1
- package/dist/src/harness-review/search-backend.js.map +1 -1
- package/dist/src/harness-review/types.d.ts +1 -1
- package/dist/src/harness-review/types.d.ts.map +1 -1
- package/dist/src/harness-review/types.js +1 -0
- package/dist/src/harness-review/types.js.map +1 -1
- package/dist/src/humanize/detectors.js +1 -1
- package/dist/src/humanize/detectors.js.map +1 -1
- package/dist/src/humanize/overlap.d.ts +116 -0
- package/dist/src/humanize/overlap.d.ts.map +1 -0
- package/dist/src/humanize/overlap.js +680 -0
- package/dist/src/humanize/overlap.js.map +1 -0
- package/package.json +4 -3
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.mcp.json +1 -1
- package/plugin/mcp.json +1 -1
- package/plugin/review-agents/harness-reviewer/AGENT.md +21 -1
- package/plugin/role-agents/_shared/references/ai-tell-quick-rules.md +2 -2
- package/plugin/skills/review/SKILL.md +9 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlap.js","sourceRoot":"","sources":["../../../src/humanize/overlap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tienne/gestalt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.87.0",
|
|
4
4
|
"description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"scripts": {
|
|
29
29
|
"dev": "tsx bin/gestalt.ts",
|
|
30
30
|
"build": "tsc -p tsconfig.build.json",
|
|
31
|
-
"postbuild": "rm -rf dist/plugin && mkdir -p dist/plugin && cp -r plugin/agents plugin/role-agents plugin/review-agents plugin/personas plugin/skills dist/plugin/ && cp -r schemas dist/ && cp package.json dist/ && chmod +x dist/bin/gestalt.js && pnpm run verify:plugin && pnpm run verify:rules && pnpm run verify:output-style",
|
|
31
|
+
"postbuild": "rm -rf dist/plugin && mkdir -p dist/plugin && cp -r plugin/agents plugin/role-agents plugin/review-agents plugin/personas plugin/skills dist/plugin/ && cp -r schemas dist/ && cp package.json dist/ && chmod +x dist/bin/gestalt.js && pnpm run verify:plugin && pnpm run verify:rules && pnpm run verify:rule-overlap && pnpm run verify:output-style",
|
|
32
32
|
"verify:plugin": "tsx scripts/verify-plugin-assets.ts",
|
|
33
33
|
"prepublishOnly": "pnpm build",
|
|
34
34
|
"test": "vitest run",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"version:sync": "tsx scripts/sync-version.ts",
|
|
44
44
|
"postversion": "pnpm run version:sync && pnpm run build:output-style",
|
|
45
45
|
"verify:rules": "tsx scripts/verify-rule-refs.ts",
|
|
46
|
-
"
|
|
46
|
+
"verify:rule-overlap": "tsx scripts/verify-rule-overlap.ts",
|
|
47
|
+
"gate": "pnpm typecheck && pnpm verify:rules && pnpm verify:rule-overlap && pnpm lint && pnpm format:check && pnpm build && pnpm test",
|
|
47
48
|
"humanize:baseline": "tsx scripts/humanize-baseline.ts",
|
|
48
49
|
"build:output-style": "tsx scripts/build-output-style.ts",
|
|
49
50
|
"verify:output-style": "tsx scripts/build-output-style.ts --dry-run"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gestalt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.87.0",
|
|
4
4
|
"description": "Gestalt psychology-driven AI development harness. Transforms scattered requirements into structured, validated specifications through interactive interviews.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "tienne"
|
package/plugin/.mcp.json
CHANGED
package/plugin/mcp.json
CHANGED
|
@@ -28,7 +28,7 @@ You are the Harness Reviewer agent.
|
|
|
28
28
|
|
|
29
29
|
| 필드 | 뜻 |
|
|
30
30
|
|---|---|
|
|
31
|
-
| `kind` | `selfContamination`, `copyDrift`, `ruleIdListGap`, `forwardRef`, `backwardRef`, `knowledgeDoc` 중 하나 |
|
|
31
|
+
| `kind` | `selfContamination`, `copyDrift`, `ruleIdListGap`, `ruleOverlap`, `forwardRef`, `backwardRef`, `knowledgeDoc` 중 하나 |
|
|
32
32
|
| `sourceFile`, `sourceLine` | 후보가 걸린 파일과 줄 |
|
|
33
33
|
| `targetRepo`, `targetPath` | 참조가 가리키는 레포와 경로. 레포 안 후보면 이 레포 이름입니다 |
|
|
34
34
|
| `matchedText` | 걸린 조각 |
|
|
@@ -101,6 +101,26 @@ You are the Harness Reviewer agent.
|
|
|
101
101
|
- 룰 문구만 다듬은 변경입니다. 뜻과 심각도가 그대로면 목록을 바꿀 까닭이 없습니다
|
|
102
102
|
- 테스트나 fixture에서 특정 룰만 골라 검사하는 목록입니다
|
|
103
103
|
|
|
104
|
+
### ruleOverlap — 룰북 룰끼리 겹치는 자리
|
|
105
|
+
|
|
106
|
+
룰북 PR에서 이번에 새로 생긴 문장이 다른 룰이나 같은 룰의 다른 조항과 겹치는 자리입니다. `matchedText` 앞의 `[코드]`가 무엇이 겹쳤는지 알려 줍니다. `contextLines`는 겹친 두 문장입니다.
|
|
107
|
+
|
|
108
|
+
`needsLlmJudgment`가 `false`인 후보는 탐지기로 확인이 끝났습니다. 처방이 다른 룰 탐지기에 걸리거나(`after-hit`), 형태로 빠진다고 적은 예외를 자기 탐지기가 잡거나(`form-exempt-hit`), 예외로 둔 말을 순서 문장 없이 다른 룰이 잡는(`exempt-hit-other`) 경우입니다. 룰북 문장을 고칠 자리라 결함으로 올립니다.
|
|
109
|
+
|
|
110
|
+
`true`인 후보는 질문입니다. 결함으로 올리는 자리입니다.
|
|
111
|
+
|
|
112
|
+
- `target-exempt-share`: 금지 예시가 같은 룰의 예외 조항으로 빠집니다. 금지 예시를 예외 기준에 그대로 대 보면 통과가 나옵니다
|
|
113
|
+
- `exceptions-no-order`: 새 예외와 기존 예외나 판정 기준이 같은 입력에 함께 걸리고 판정이 반대로 납니다. 그 입력을 하나 만들어 코멘트에 적습니다
|
|
114
|
+
- `cited-no-order`: 두 룰에 함께 걸리는 말이 있는데 어느 쪽으로 판정할지 없습니다. 그 말을 하나 대 보고 한쪽 룰의 예외가 다른 쪽 대상을 면제하는지 봅니다
|
|
115
|
+
- `shared-source`: 한쪽 처방대로 옮긴 결과가 다른 쪽 금지 예시가 됩니다
|
|
116
|
+
|
|
117
|
+
버리는 자리입니다.
|
|
118
|
+
|
|
119
|
+
- 두 문장이 이미 같은 문장 안에서 경계를 갈랐거나 다른 곳에 순서를 정한 문장이 있습니다
|
|
120
|
+
- 겹치는 입력을 직접 만들어 봤는데 두 룰 판정이 같은 쪽으로 납니다. 겹쳐도 모순이 아니면 코멘트를 안 냅니다
|
|
121
|
+
|
|
122
|
+
이 후보는 문장의 형태만 보고 넓게 모읍니다. 재현해 보니 문제없던 룰북 커밋 12개에서도 2개가 나왔습니다(`docs/experiments/2026-10-rule-overlap-check.md`). 그래서 반대 판정이 나는 입력을 대지 못하면 올리지 않습니다.
|
|
123
|
+
|
|
104
124
|
### forwardRef — 바뀐 문서가 가리키는 경로, 헤딩, 링크, PR이 실제로 있는지
|
|
105
125
|
|
|
106
126
|
**자기 레포부터 봅니다.** `docs/`, `README.md`, `src/` 같은 흔한 경로는 거의 모든 레포에 있습니다. 다른 레포에 있다고 맞다고 보거나 없다고 틀렸다고 보기 전에 플러그인 루트 기준으로 이 레포에 있는지 확인합니다.
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
|
|
119
119
|
| ID | 패턴 | 심각도 | 처방 |
|
|
120
120
|
|---|---|---|---|
|
|
121
|
-
| D-1 | 결산 피벗 표현 "결론적으로/이를 통해/요약하면/정리하면/종합하면" | S1 | 문단 결론을 대신하는 피벗이면 삭제하고 앞뒤 문장을 직결한다. 논리 연결만 하는 "따라서/그러므로"는 반복되거나 결산 리듬을 만들 때만
|
|
121
|
+
| D-1 | 결산 피벗 표현 "결론적으로/이를 통해/요약하면/정리하면/종합하면" | S1 | 문단 결론을 대신하는 피벗이면 삭제하고 앞뒤 문장을 직결한다. 논리 연결만 하는 "따라서/그러므로"는 반복되거나 결산 리듬을 만들 때만 줄인다. "이를 통해"가 문단 결론을 대신하는 피벗이면 D-1이 A-2보다 앞선다 — D-1 하나로 세고 A-2 반복 횟수에는 안 넣는다 |
|
|
122
122
|
| D-2 | "시사하는 바가 크다/주목할 만하다" | S1 | 원문에 근거가 있으면 그 근거로 대체, 없으면 삭제. **새 결론을 지어내 붙이지 않는다** |
|
|
123
123
|
| D-3 | "본질적으로/핵심적으로" | S1 | 삭제. 다른 부사로 갈아끼우지 말고 그냥 뺀다 |
|
|
124
124
|
| D-4 | hype 어휘(파격적·압도적·강력한·획기적·치명적) 3회+ | S1 | 원문에 수치·사실이 있으면 그걸로 환원, **없으면 수치를 만들지 말고 수식어만 삭제** |
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
| F-4 | 한자어 명사화 -성/-적/-화 + 영어 명사화 -tion/-ment/-ness/-ity 누적 (한 글 12회+) | S2 / **대화·리뷰 S1** | 동사·형용사 어근으로 환원("the implementation of the policy" → "정책 시행" 또는 "정책을 시행하기") (탐지기가 없는 이유는 아래 [측정 근거](#측정-근거)) |
|
|
147
147
|
| F-5 | "~적 N" 추상 체인 ("전략적 함의", "실천적 기반") | S2 / **대화·리뷰 S1** | 명사+명사 또는 풀어쓰기("전략 함의", "실천의 기반") |
|
|
148
148
|
| F-6 | 복합명사 압축 — 명사구를 조사·동사 없이 이어붙여 개념을 뭉침 ("시안 정합 버그픽스", "유지보수성 개선 작업", "권한 체크 로직") | S2 / **대화·리뷰 S1** | 동사·조사로 풀어 서술 ("디자인 시안과 다르게 렌더링되던 문제", "나중에 유지보수하기 편하게"). 사람은 압축 명사구 대신 무엇을 왜 했는지 풀어 말한다 |
|
|
149
|
-
| F-7 | 기술·이공계 비유 명사를 일상 대화에 그대로 (증류·배선·결정화·평탄화·오케스트레이션·파이프라인화·축 등, 화학·전기·수학 어휘의 비유 차용) | S2 / **대화·리뷰 S1** | 일상 동사·명사로 환원 (증류 → "추려내다/뽑아내다", 배선 → "연결하다/걸어두다", 결정화 → "정리하다", 평탄화 → "밋밋하게 만들다", **축 → "측면"**·"기준"). 문법은 멀쩡해 룰 매칭이 안 되지만 사람은 대화에서 안 쓴다. "네 축을 잰다"가 아니라 "4가지 측면에서 측정한다". **예외는 그 프로젝트가 개념에 붙인 이름일 때만이고, 그 개념을 다루는 자리에서만이다** — 게슈탈트의 "스펙 결정화"는 `similarity-crystallizer` 에이전트 이름이자 인터뷰→Spec 변환의 정의라서 두지만, 같은 말을 지라 티켓 작성처럼 무관한 자리에 끌어다 쓰면 F-7이다. 코드의 "파이프라인" 자체, 그래프의 x축도 같은 기준. 테스트를 자물쇠에 빗댄 "잠그다"는 방향이 반대라 F-10이 본다 |
|
|
149
|
+
| F-7 | 기술·이공계 비유 명사를 일상 대화에 그대로 (증류·배선·결정화·평탄화·오케스트레이션·파이프라인화·축 등, 화학·전기·수학 어휘의 비유 차용) | S2 / **대화·리뷰 S1** | 일상 동사·명사로 환원 (증류 → "추려내다/뽑아내다", 배선 → "연결하다/걸어두다", 결정화 → "정리하다", 평탄화 → "밋밋하게 만들다", **축 → "측면"**·"기준"). 문법은 멀쩡해 룰 매칭이 안 되지만 사람은 대화에서 안 쓴다. "네 축을 잰다"가 아니라 "4가지 측면에서 측정한다". **예외는 그 프로젝트가 개념에 붙인 이름일 때만이고, 그 개념을 다루는 자리에서만이다** — 게슈탈트의 "스펙 결정화"는 `similarity-crystallizer` 에이전트 이름이자 인터뷰→Spec 변환의 정의라서 두지만, 같은 말을 지라 티켓 작성처럼 무관한 자리에 끌어다 쓰면 F-7이다. **탐지기는 "결정화"를 자리 구분 없이 건다** — 개념을 다루는 자리인지 못 가르므로 걸린 자리는 사람이 이 기준으로 다시 본다. 코드의 "파이프라인" 자체, 그래프의 x축도 같은 기준. 테스트를 자물쇠에 빗댄 "잠그다"는 방향이 반대라 F-10이 본다 |
|
|
150
150
|
| F-8 | 추상명사에 물리 측량 동사("근거를 재봤는데", "판단을 재보고 있다", "근거를 재본 결과", "의견을 달아봤는데") | S2 / **대화·리뷰 S1** | 저울에 올린 게 아니라 검토한 것이다. 사람이 하는 행위 동사로 되돌린다("근거를 확인해봤는데", "의견을 검토해봤는데"). F-7 물리 동사 도피의 사촌이라 목적어가 근거, 의견, 판단, 영향, 의미, 가치, 리스크인 자리만 본다 — "온도를 재봤는데"는 대상이 아니다 |
|
|
151
151
|
| F-9 | 결함이나 코드 상태, 그 결함의 원인 관계를 비유 명사로 뭉개 부름 ("맨몸 호출", "벌거벗은 API", "뿌리가 하나다") | S2 / **대화·리뷰 S1** | 무엇이 빠졌고 무엇이 틀렸는지 그대로 쓴다 ("맨몸 호출" → "접두 객체 없이 함수 이름만 적혀 있다"). 별칭은 검색이 안 되고 처음 읽는 사람이 못 알아보고 답글에서 재생산돼 팀 어휘로 굳는다. **예외는 남이 정의해 둔 이름을 그 뜻 그대로 쓸 때다** — "널 포인터", "데드락", "고아 노드"처럼 명세나 교과서에 뜻이 박힌 말이고 F-6으로도 안 넘긴다. 다른 결함에 비유로 얹으면 예외가 아니고 팀에서 몇 번 쓰였다는 것도 아니다 — 그렇게 열면 답글에 한 번 재생산된 별칭이 곧바로 빠져나간다. **F-7과 방향이 반대다** — F-7은 기술 비유를 일상 말로 되돌리고 F-9는 일상 비유를 기술 대상에 씌운 쪽을 본다. **원인 관계를 부르는 비유도 같은 자리다** — "뿌리가 하나다"는 원인이 같다는 말을 뿌리에 얹은 것이라 무엇이 같은지가 안 읽힌다. "원인이 같다"로 쓴다. 지어낸 별칭이든 이미 있는 비유든 가르는 건 하나다 — 그 자리에서 무엇을 가리키는지가 말에 남아 있느냐다. **"뿌리"는 root 한 단어가 그 대상 이름인 자리에서만 쓴다** — root cause처럼 수식하는 자리는 대상이다. 기준과 예시는 위 `F-9 오적용 주의` 문단에 있고 상세는 그 한 자리에만 둔다. F-9에 걸린 별칭이 스스로 움직이면 D-5, 조사 없이 뭉치면 F-6도 함께 걸린다. **별칭과 원인 쪽 경계는 뜻이라 탐지기가 없다.** "뿌리"는 말 하나라 F-10의 "못 박" 탐지기처럼 형태로 걸 수 있지만 안 붙였다 — 레포에 root를 가리키는 정상 용례가 서른 자리 넘게 있어 걸린 자리를 사람이 다시 보는 양이 검사로 얻는 것보다 크다 |
|
|
152
152
|
| F-10 | 일상 관용구의 물리 동작 동사를 코드나 문서 대상에 씌움 ("타입을 못 박다", "규칙을 못박는다", "테스트로 잠갔다") | S2 / **대화·리뷰 S1** | 그 자리에서 실제로 무엇이 되는지를 동사로 쓴다 ("타입을 선언한다", "규칙을 정한다", "관련 테스트가 있다"). 관용구는 원래 사람 사이 합의에 걸리는 말이라 목적어가 타입이나 규칙이 되면 누구에게 못을 박는다는 건지 가리킬 데가 없다. **가르는 것은 누가 정하는 자리냐다.** 문서나 코드가 스스로 정하면 대상이고("이 지시를 1번으로 못박는다", "타입을 못 박다"), 사람들이 협의해 정하면 예외다("팀이 일정을 못 박았다"). 한국어는 주어를 자주 생략하므로 **주어가 드러나면 그걸 보고, 없으면 목적어로 본다** — 타입, 값, 규칙, 지시, 기준은 문서나 코드가 정하는 쪽이고 일정과 조건처럼 사람들이 서로 약속하는 대상은 협의하는 쪽이다. 같은 "범위"라도 문서가 제 적용 범위를 정하는 자리는 대상이고 팀이 일의 범위를 합의하는 자리는 예외다. **나머지 예외는 셋이다.** 목적어가 리터럴 값이라 하드코딩을 뜻하는 "박아두다"("이 값 그냥 박아두죠"), 명사로 굳은 "잠금", 자물쇠나 문처럼 실제 물체를 잠그는 자리("문을 잠갔다"). **탐지기는 "못 박" 어간과 자물쇠 활용형을 전부 건다** — 주어가 사람인지 문서인지 못 가르므로 걸린 자리는 사람이 위 축으로 다시 본다 (I-5와 같은 방식이다). 형태로 빠지는 예외는 앞에 "못"이 없는 "박아두다"와 명사 "잠금"뿐이다. **F-7과 방향이 반대다** — F-7은 기술 비유를 일상 말로 되돌리고 F-10은 일상 비유를 코드 대상에 씌운 쪽을 본다. **F-9와는 품사로 갈린다** — F-9는 결함이나 그 원인 관계를 명사로 부르는 쪽이고(지어낸 별칭이든 이미 있는 비유든) F-10은 행위를 부르는 동사 쪽이다. **F-8과는 안 겹친다** — F-8은 물리 "측량" 동사만 보므로 "판단을 못 박았다"도 F-10 하나로 판정한다 |
|
|
@@ -293,7 +293,11 @@ mkdir -p "$refsTmp"
|
|
|
293
293
|
gestalt harness-refs collect --base <baseSha> --head <headSha> --backend <github|local> --json > "$refsTmp/refs.json"
|
|
294
294
|
```
|
|
295
295
|
|
|
296
|
-
`--backend`는 `prTarget`이 `github`이면 `github`, 아니면 `local`입니다.
|
|
296
|
+
`--backend`는 `prTarget`이 `github`이면 `github`, 아니면 `local`입니다. 관련 레포의 로컬 클론을 알면 어느 쪽이든 `--repo-dir owner/name=<경로>`로 아는 만큼 넘깁니다.
|
|
297
|
+
|
|
298
|
+
`github`이어도 관련 레포는 GitHub 코드 검색으로 찾지 않습니다. 코드 검색은 분당 10회라 바뀐 파일이 열 개만 넘어도 식별자 질의가 한도를 넘깁니다. CLI가 관련 레포마다 클론을 준비해 `git grep`으로 찾습니다. `--repo-dir`로 받은 클론을 먼저 쓰고 없으면 `~/.gestalt/repos/<워크트리 이름>-<경로 해시>/<owner>/<name>`에 기본 브랜치만 얕게 받습니다. 클론은 워크트리마다 따로라 여러 워크트리에서 리뷰를 동시에 돌려도 서로 부딪히지 않습니다. 수집을 시작할 때 워크트리가 지워졌거나 7일 넘게 안 쓴 클론을 치웁니다. 수집을 안 돌리는 동안 디스크를 비우려면 `gestalt harness-refs clones prune`을 부릅니다. 넘긴 클론이든 받아 둔 클론이든 매번 fetch하고 워킹트리가 아니라 origin 기본 브랜치를 읽으니, 넘기는 클론이 다른 브랜치에 있거나 고치던 중이어도 괜찮습니다. `local`은 지금처럼 `--repo-dir` 클론의 워킹트리를 그대로 읽습니다. GitHub 코드 검색에는 클론으로 못 덮는 자리만 갑니다. 관련 레포 목록 밖에서 이 레포를 부르는 레포를 찾는 조직 전체 검색과, 클론을 못 받은 레포입니다. 조직 전체 검색은 경로와 파일 이름, 스킬이나 에이전트 이름 같은 이름 질의만 보내고 남은 한도 안에서 앞쪽부터 씁니다.
|
|
299
|
+
|
|
300
|
+
stdout은 JSON 한 줄이고 종료 코드가 1이면 인자를 잘못 준 것입니다. 인자 오류가 아닌 실패는 `referenceCheckSkipped`로 담겨 오므로 종료 코드로 리뷰를 멈추지 않습니다.
|
|
297
301
|
|
|
298
302
|
`refs.json`에서 쓰는 필드는 아래뿐입니다.
|
|
299
303
|
|
|
@@ -305,8 +309,9 @@ gestalt harness-refs collect --base <baseSha> --head <headSha> --backend <github
|
|
|
305
309
|
| `lookupBlocked` | 조회가 막힌 자리(`source`, `reason`, `detail`) |
|
|
306
310
|
| `noGitHubRemote` | GitHub 원격이 없어 레포 간 검사를 못 함 |
|
|
307
311
|
| `referenceCheckSkipped` | 레포 간 참조 검사를 전부 또는 일부 못 봤음 |
|
|
312
|
+
| `backwardSearchCoverage` | 역방향 검색 질의를 몇 개 계획했고(`planned`) 몇 개를 다 봤는지(`searched`). `orgWide`는 조직 전체 검색만 따로 센 값입니다 |
|
|
308
313
|
|
|
309
|
-
**막힘이 있으면 사용자에게 묻습니다.** `referenceCheckSkipped`가 `true`이거나 `lookupBlocked`가 비어 있지 않거나 `noGitHubRemote`가 `true`면 3단계 전에 멈추고 묻습니다. 막힌 이유(`reason`)를 한 줄로 알리고 둘 중 하나를 고르게 합니다.
|
|
314
|
+
**막힘이 있으면 사용자에게 묻습니다.** `referenceCheckSkipped`가 `true`이거나 `lookupBlocked`가 비어 있지 않거나 `noGitHubRemote`가 `true`면 3단계 전에 멈추고 묻습니다. 막힌 이유(`reason`)를 한 줄로 알리고 둘 중 하나를 고르게 합니다. `reason`이 `rateLimited`면 `backwardSearchCoverage`로 얼마나 봤는지(질의 `searched`/`planned`개)를 같은 줄에 붙입니다. 다시 돌려도 한도는 분당 10회씩만 차서, 남은 질의가 많으면 기다려도 한 번에 안 끝난다는 걸 사용자가 보고 고르게 합니다.
|
|
310
315
|
|
|
311
316
|
1. **기다린다.** 로그인이나 권한, 속도 제한을 풀고 다시 부르게 하고 여기서 멈춥니다.
|
|
312
317
|
2. **참조 검사만 비워둔 채 진행한다.** 3단계로 넘어갑니다. 스크립트가 못 본 레포 간 참조는 이번 리뷰가 안 본 채로 남습니다.
|
|
@@ -319,6 +324,8 @@ gestalt review-loop rounds --pr <번호> # 로컬 PR이나 PR 없는 브
|
|
|
319
324
|
|
|
320
325
|
응답의 `noRemoteChoice`가 `proceedWithoutRefs`면 질문을 건너뛰고 그 답을 그대로 씁니다. '기다린다'는 재사용하지 않습니다. 기다리겠다던 사용자가 다시 불렀다는 것이 새 답이 필요하다는 신호입니다. 조회 막힘(`lookupBlocked`)은 원인이 풀릴 수 있어서 라운드마다 다시 묻습니다. 사용자의 답은 4.7단계 이벤트 결정에서 `gestalt review-loop approve-gate --record`에 `--user-choice`로 넘겨 라운드 기록에 남깁니다.
|
|
321
326
|
|
|
327
|
+
**조직 전체 검색을 덜 본 것은 막힘이 아닙니다.** 관련 레포를 전부 찾았는데 한도 때문에 조직 전체 검색만 덜 봤으면 CLI가 `lookupBlocked`에 올리지 않고 `limitations`에 "조직 전체 검색은 질의 N/M개만 봤다"를 남깁니다. 묻지 않고 진행하되, `backwardSearchCoverage.orgWide`의 `searched`가 `planned`보다 작으면 [결과 표시](#결과-표시)의 **판정** 줄 아래에 그 수치를 한 줄로 남깁니다. 관련 레포 목록 밖은 그만큼 안 봤다는 뜻이라 조용히 빠지면 안 됩니다.
|
|
328
|
+
|
|
322
329
|
**비워둔 채 진행하면 리포트에 그 사실을 남깁니다.** [결과 표시](#결과-표시)의 **판정** 줄 아래 한 줄입니다. 조용히 빠지면 사용자는 다른 레포 참조까지 봤다고 여깁니다. 이 상태의 라운드는 approve를 낼 수 없는 라운드가 되고 그 판정은 4.7단계 이벤트 결정이 `approve-gate`로 합니다.
|
|
323
330
|
|
|
324
331
|
수집 도구가 아예 안 뜨는 경우(`gestalt` 바이너리가 없음, 명령이 없는 옛 버전)도 막힘과 같게 다룹니다. 못 돌렸다는 사실을 알리고 같은 두 가지를 묻습니다. 후보를 손으로 만들어 채우지 않습니다.
|