lee-spec-kit 0.6.34 → 0.6.36

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/README.en.md CHANGED
@@ -525,7 +525,10 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
525
525
  "mode": "github",
526
526
  "codeDirtyScope": "auto",
527
527
  "taskCommitGate": "warn",
528
- "prePrReview": { "skills": ["code-review-excellence"] }
528
+ "prePrReview": {
529
+ "skills": ["code-review-excellence"],
530
+ "enforceExecutionEvidence": true
531
+ }
529
532
  },
530
533
  "pr": { "screenshots": { "upload": false } },
531
534
  "approval": { "mode": "builtin" }
@@ -600,6 +603,10 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
600
603
  - `path_required`: evidence must be a real existing local path
601
604
  - `decisionEnum` (optional): allowed decision outcomes (default: `["approve","changes_requested","blocked"]`)
602
605
  - Moving to PR step requires final decision `approve`
606
+ - `enforceExecutionEvidence` (optional): require proof that a review agent was actually executed (default: `true`)
607
+ - when `true`, `pre-pr-review` requires `--evidence` and non-empty `commandsExecuted`
608
+ - `executionCommandPrefixes` (optional): command prefixes to match against `commandsExecuted` (default: `[]`)
609
+ - when non-empty, at least one executed command must start with one of these prefixes
603
610
  - `workflow.auto`:
604
611
  - `defaultPreset` (optional): default auto preset used by `flow --request "<text>"` (default: `"pr-handoff"`)
605
612
  - `defaultUntilCategories` (optional): default gate categories (takes precedence over `defaultPreset`)
@@ -624,12 +631,21 @@ Example:
624
631
  "skills": ["code-review-excellence"],
625
632
  "fallback": "builtin-checklist",
626
633
  "evidenceMode": "path_required",
627
- "decisionEnum": ["approve", "changes_requested", "blocked"]
634
+ "decisionEnum": ["approve", "changes_requested", "blocked"],
635
+ "enforceExecutionEvidence": true,
636
+ "executionCommandPrefixes": []
628
637
  }
629
638
  }
630
639
  }
631
640
  ```
632
641
 
642
+ Pre-PR execution gate risks and mitigations:
643
+ - Throughput bottleneck: add timeout/retry and a maintainer override route.
644
+ - Cost increase: scope review agent execution by changed files/size threshold.
645
+ - Quality illusion: keep periodic human spot-checks even with automatic review logs.
646
+ - False positives/noise: block only on high-severity findings; keep low-severity as comments.
647
+ - Tool lock-in: standardize output JSON schema so executors can be replaced.
648
+
633
649
  #### Modes
634
650
 
635
651
  - `builtin` (default): keep built-in `requiresUserCheck` in steps/actions
package/README.md CHANGED
@@ -574,7 +574,10 @@ npx lee-spec-kit update --force
574
574
  "mode": "github",
575
575
  "codeDirtyScope": "auto",
576
576
  "taskCommitGate": "warn",
577
- "prePrReview": { "skills": ["code-review-excellence"] }
577
+ "prePrReview": {
578
+ "skills": ["code-review-excellence"],
579
+ "enforceExecutionEvidence": true
580
+ }
578
581
  },
579
582
  "pr": { "screenshots": { "upload": false } },
580
583
  "approval": { "mode": "builtin" }
@@ -648,6 +651,10 @@ npx lee-spec-kit update --force
648
651
  - `path_required`: 실제 존재하는 로컬 경로만 인정
649
652
  - `decisionEnum` (선택): 허용 Decision 값 목록 (기본: `["approve","changes_requested","blocked"]`)
650
653
  - PR 단계로 진행하려면 최종 Decision이 `approve`여야 함
654
+ - `enforceExecutionEvidence` (선택): 리뷰 에이전트 실제 실행 증거 강제 여부 (기본: `true`)
655
+ - `true`일 때 `pre-pr-review`는 `--evidence`와 비어있지 않은 `commandsExecuted`를 요구
656
+ - `executionCommandPrefixes` (선택): `commandsExecuted`와 매칭할 명령 prefix 목록 (기본: `[]`)
657
+ - 비어있지 않으면 실행 명령 중 최소 1개가 해당 prefix로 시작해야 함
651
658
  - `workflow.auto`:
652
659
  - `defaultPreset` (선택): `flow --request "<요청>"` 실행 시 기본으로 사용할 auto preset 이름 (기본: `"pr-handoff"`)
653
660
  - `defaultUntilCategories` (선택): 기본 gate category 목록 (설정 시 `defaultPreset`보다 우선)
@@ -672,12 +679,21 @@ npx lee-spec-kit update --force
672
679
  "skills": ["code-review-excellence"],
673
680
  "fallback": "builtin-checklist",
674
681
  "evidenceMode": "path_required",
675
- "decisionEnum": ["approve", "changes_requested", "blocked"]
682
+ "decisionEnum": ["approve", "changes_requested", "blocked"],
683
+ "enforceExecutionEvidence": true,
684
+ "executionCommandPrefixes": []
676
685
  }
677
686
  }
678
687
  }
679
688
  ```
680
689
 
690
+ Pre-PR 실행 게이트 리스크와 완화:
691
+ - 처리량 병목: 타임아웃/재시도와 maintainer 수동 우회 경로를 함께 둡니다.
692
+ - 비용 증가: 변경 파일/규모 기준으로 리뷰 에이전트 실행 대상을 제한합니다.
693
+ - 품질 착시: 자동 로그가 있어도 주기적 수동 샘플 리뷰를 유지합니다.
694
+ - 오탐/노이즈: high severity만 차단 게이트로 쓰고 나머지는 코멘트로 처리합니다.
695
+ - 도구 종속: 산출물 JSON 스키마를 고정해 실행기를 교체 가능하게 유지합니다.
696
+
681
697
  #### 모드
682
698
 
683
699
  - `builtin` (기본): 코드에 내장된 `requiresUserCheck`를 그대로 사용