@ps-neko/nekowork 0.1.0-alpha.10 → 0.1.0-alpha.11
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/CLAUDE.md +1 -1
- package/README.ko.md +30 -30
- package/README.md +67 -53
- package/WORKING-CONTEXT.md +1 -1
- package/agent.yaml +1 -1
- package/docs/ADVANCED.md +16 -0
- package/docs/ALPHA-RECRUITMENT.md +157 -0
- package/docs/AUDIT.md +1 -1
- package/docs/CATALOG-PACKS.md +1 -1
- package/docs/CHANGELOG.md +33 -5
- package/docs/CLI-STAGES.md +8 -0
- package/docs/DEMO.md +1 -1
- package/docs/FEEDBACK-TRIAGE.md +26 -2
- package/docs/GUIDED-MODE.md +91 -0
- package/docs/PORTING.md +1 -1
- package/docs/POST-RELEASE-CHECKLIST.md +150 -0
- package/docs/QUICKSTART.md +7 -0
- package/docs/README-1.0-hero-draft.md +164 -0
- package/docs/RELEASE-READINESS.md +1 -1
- package/docs/SCOPE-1.0.md +309 -0
- package/docs/SETUP.md +1 -1
- package/docs/VISION.md +105 -0
- package/docs/assets/demo-terminal.svg +1 -1
- package/docs/{CLI-UX-PHASE1A-PLAN.md → dev-log/2026-05-13-cli-ux-phase1a-plan.md} +2 -0
- package/docs/{CLI-UX-REDESIGN.md → dev-log/2026-05-13-cli-ux-redesign.md} +2 -0
- package/docs/examples/github-actions-verify-pr.yml +90 -0
- package/package.json +2 -1
- package/scripts/benchmark/rules.js +179 -0
- package/scripts/cli/commands/cockpit-command.js +388 -0
- package/scripts/cli.js +178 -16
- package/scripts/lib/diff-parser.js +262 -0
- package/scripts/lib/project-detector.js +246 -0
- package/scripts/lib/rules/_helpers.js +149 -0
- package/scripts/lib/rules/auto-apply-commit-push.js +94 -0
- package/scripts/lib/rules/hardcoded-credential.js +103 -0
- package/scripts/lib/rules/package-lockfile-risk.js +92 -0
- package/scripts/lib/rules/secret-fallback.js +237 -0
- package/scripts/lib/rules/test-or-security-disable.js +91 -0
- package/scripts/orchestrators/verify-pr.js +456 -0
- package/docs/CODEMAPS/README.md +0 -15
- package/docs/CODEMAPS/agents.md +0 -22
- package/docs/CODEMAPS/bridge.md +0 -18
- package/docs/CODEMAPS/hooks.md +0 -28
- package/docs/CODEMAPS/manifests.md +0 -15
- package/docs/CODEMAPS/rules.md +0 -22
- package/docs/CODEMAPS/schemas.md +0 -22
- package/docs/CODEMAPS/scripts.md +0 -198
- package/docs/CODEMAPS/skills.md +0 -31
- package/docs/CODEMAPS/tests.md +0 -144
- package/docs/workflows-stash/README.md +0 -32
- package/docs/workflows-stash/harness-review.yml +0 -166
- package/docs/workflows-stash/harness-validate.yml +0 -98
package/CLAUDE.md
CHANGED
package/README.ko.md
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | [한국어](README.ko.md)
|
|
4
4
|
|
|
5
|
-
AI
|
|
5
|
+
**AI 가 만든 코드, 검증 없이는 통과시키지 마세요.**
|
|
6
6
|
|
|
7
7
|
[](https://github.com/Ps-Neko/NEKOWORK/actions/workflows/harness-validate.yml)
|
|
8
8
|
|
|
9
|
-
AI가
|
|
10
|
-
|
|
11
|
-
NEKOWORK는 AI가 계획, 수정, 검증, 제한된 재수정, 리포트 생성을 수행하도록 돕습니다. 하지만 최종 `apply`는 항상 사람이 명시적으로 실행해야 합니다.
|
|
9
|
+
NEKOWORK 는 AI 가 생성한 코드를 위한 로컬 검증 게이트입니다. diff 를 분석하고, 결정적 위험 룰을 실행하고, 증거를 수집한 뒤, 머지 / 적용 가능 여부를 판정합니다 — auto-commit / auto-push 없이, LLM 판정에 의존하지 않고.
|
|
12
10
|
|
|
13
11
|
> 이 문서는 한국어 요약본입니다. 전체 상세 설명과 모든 고급 옵션은 [English README](README.md)를 참고하세요.
|
|
14
12
|
|
|
15
|
-
여기서 "검증됨"은 정답을 수학적으로 보증한다는 뜻이 아닙니다.
|
|
13
|
+
여기서 "검증됨"은 정답을 수학적으로 보증한다는 뜻이 아닙니다. verdict 는 결정적 룰과 검증 결과만 결정합니다. 선택적 Codex 리뷰는 advisor 노트로만 기록되며 verdict 에 영향을 주지 않습니다.
|
|
14
|
+
|
|
15
|
+
> 1.0 scope 와 로드맵: [docs/SCOPE-1.0.md](docs/SCOPE-1.0.md). 장기 비전 (검증 우선 AI 개발 OS): [docs/VISION.md](docs/VISION.md).
|
|
16
16
|
|
|
17
17
|
## 용어
|
|
18
18
|
|
|
@@ -25,12 +25,13 @@ NEKOWORK는 AI가 계획, 수정, 검증, 제한된 재수정, 리포트 생성
|
|
|
25
25
|
## 핵심 원칙
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
NEKOWORK = 검증
|
|
28
|
+
NEKOWORK = diff -> 결정적 위험 룰 -> 검증 명령 -> 증거 -> 결정적 verdict -> REPORT -> Human Gate -> 명시적 apply
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
```text
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
증거 없으면 통과 없음.
|
|
33
|
+
LLM 의견은 verdict 아님.
|
|
34
|
+
테스트 없으면 PASS 아님 (INSUFFICIENT_EVIDENCE).
|
|
34
35
|
경계에서는 사람이 통제.
|
|
35
36
|
```
|
|
36
37
|
|
|
@@ -50,42 +51,41 @@ NEKOWORK는 기본 흐름을 mock provider 모드로 확인할 수 있습니다.
|
|
|
50
51
|
|
|
51
52
|
## 30초 실행
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
요구사항: Node.js 22+, npm, git. commit 이 하나 이상 있는 git repo.
|
|
54
55
|
|
|
55
56
|
```bash
|
|
56
57
|
npx -y @ps-neko/nekowork@alpha check
|
|
57
|
-
npx -y @ps-neko/nekowork@alpha
|
|
58
|
-
|
|
58
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
59
|
+
cat REPORT.md
|
|
60
|
+
cat .nekowork/decision.json
|
|
59
61
|
```
|
|
60
62
|
|
|
61
|
-
|
|
63
|
+
`check` 가 환경을 진단합니다. `verify-pr` 가 현재 working tree diff 를 결정적 위험 룰로 스캔하고, `.nekowork/evidence/` 에 증거를 남기고, 머지/적용 가능 여부를 판정합니다. 프로젝트 루트에 `REPORT.md` 와 `.nekowork/decision.json` 을 작성합니다.
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
```
|
|
65
|
+
> **재현성 메모:** `npx @ps-neko/nekowork@alpha` 는 가장 최근 publish 된 alpha 로 resolve 됩니다. publish 된 alpha 는 `main` 보다 뒤일 수 있습니다. 재현 가능한 동작을 원하면 정확한 버전 (예: `@ps-neko/nekowork@0.1.0-alpha.11`) 을 핀하세요.
|
|
66
|
+
|
|
67
|
+
Compatibility / legacy 명령 (`cockpit`, `start`, `ask`, `plan`, `team`, `work`, `verify`, `gate`, `ship`, `run`, `build`, `auto`, `pr-prep`, `report --session`, `apply --session`, `review`) 은 [docs/ADVANCED.md](docs/ADVANCED.md) 에 있습니다. 2.0 에서 제거 예정 ([docs/SCOPE-1.0.md](docs/SCOPE-1.0.md) Phased Cut).
|
|
67
68
|
|
|
68
69
|
## 한 명령. 하나의 차단된 위험.
|
|
69
70
|
|
|
71
|
+
AI 가 작성한 변경에 `process.env.X || "fallback"` 이 들어가면:
|
|
72
|
+
|
|
70
73
|
```bash
|
|
71
|
-
npx -y @ps-neko/nekowork@alpha
|
|
74
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
72
75
|
```
|
|
73
76
|
|
|
74
|
-
|
|
77
|
+
전형적 BLOCK 출력:
|
|
75
78
|
|
|
76
79
|
```text
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
Blocked because NEKOWORK defaults to delegated CLI auth and rejects long-lived provider API key paths unless the human explicitly opts in.
|
|
80
|
+
=== verify-pr ===
|
|
81
|
+
verdict : BLOCK
|
|
82
|
+
reason : Hardcoded secret fallback detected (src/auth.ts:42)
|
|
83
|
+
merge_allowed : false
|
|
84
|
+
apply_allowed : false
|
|
85
|
+
risk_level : CRITICAL
|
|
84
86
|
```
|
|
85
87
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
이것이 NEKOWORK의 핵심입니다. 오토파일럿은 경계 전까지 계속 일할 수 있지만, 위험한 ship/apply 결정은 evidence와 사람의 승인 아래에 둡니다.
|
|
88
|
+
NEKOWORK 의 핵심: AI 는 변경을 만들 수 있지만, 위험한 ship/apply 결정은 결정적 룰과 사람 승인 아래에 둡니다. LLM verdict 는 게이트를 통과할 수 없습니다.
|
|
89
89
|
|
|
90
90
|
## 왜 필요한가
|
|
91
91
|
|
|
@@ -189,10 +189,10 @@ NEKOWORK는 하나의 거대한 agent 묶음이 아니라, 일을 나누고 검
|
|
|
189
189
|
## 현재 alpha 상태
|
|
190
190
|
|
|
191
191
|
- Package: `@ps-neko/nekowork`
|
|
192
|
-
- Current alpha: `0.1.0-alpha.10`
|
|
192
|
+
- Current alpha: `0.1.0-alpha.10` (npm `@alpha` published 2026-05-14)
|
|
193
193
|
- CLI: `nekowork`
|
|
194
194
|
- Legacy/internal alias: `harness`
|
|
195
|
-
- Tests:
|
|
195
|
+
- Tests: 401 pass
|
|
196
196
|
- npm audit: 0 moderate+ issues
|
|
197
197
|
- Fresh `npx @alpha` smoke: pass
|
|
198
198
|
|
package/README.md
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | [한국어](README.ko.md)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Don't merge AI code without verification.**
|
|
6
6
|
|
|
7
7
|
[](https://github.com/Ps-Neko/NEKOWORK/actions/workflows/harness-validate.yml)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
NEKOWORK is a local verification gate for AI-generated code. It analyzes the diff, runs deterministic risk rules, collects evidence, and decides whether the change is safe to merge or apply — without auto-committing, auto-pushing, or trusting LLM verdicts.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Note: "Verified" means independently reviewed with recorded evidence — not mathematically proven correct. The verdict is decided by deterministic rules and check results. Optional Codex review is recorded as an advisor note only and never controls the verdict.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
> 1.0 scope and roadmap: [docs/SCOPE-1.0.md](docs/SCOPE-1.0.md). Long-term vision (Verification-first AI development OS): [docs/VISION.md](docs/VISION.md).
|
|
14
14
|
|
|
15
15
|
Note: "ship" in NEKOWORK is a **readiness decision** (`SHIP_READY` or `NO_SHIP`), not a deployment. The `ship` step decides whether `apply` is allowed; it never commits, pushes, deploys, or publishes by itself.
|
|
16
16
|
|
|
@@ -18,79 +18,85 @@ Default path:
|
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
npx -y @ps-neko/nekowork@alpha check
|
|
21
|
-
npx -y @ps-neko/nekowork@alpha
|
|
22
|
-
|
|
21
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
22
|
+
cat REPORT.md
|
|
23
|
+
cat .nekowork/decision.json
|
|
23
24
|
```
|
|
24
25
|
|
|
25
|
-
Every real `
|
|
26
|
+
Every real `verify-pr` run puts the verdict first:
|
|
26
27
|
|
|
27
28
|
```text
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
=== verify-pr ===
|
|
30
|
+
verdict : BLOCK
|
|
31
|
+
reason : Hardcoded secret fallback detected (src/auth.ts:42)
|
|
32
|
+
merge_allowed : false
|
|
33
|
+
apply_allowed : false
|
|
34
|
+
risk_level : CRITICAL
|
|
33
35
|
```
|
|
34
36
|
|
|
35
|
-
The machine-readable companion `decision.json`
|
|
37
|
+
The machine-readable companion `decision.json` and the full report are in [Example Report](#example-report).
|
|
36
38
|
|
|
37
39
|
The evidence chain is intentionally narrow:
|
|
38
40
|
|
|
39
41
|
```text
|
|
40
|
-
diff -> deterministic risk
|
|
42
|
+
diff -> deterministic risk rules -> available checks (detected, executed in a later alpha) -> evidence package -> deterministic decision -> REPORT.md -> Human Gate -> explicit apply
|
|
41
43
|
```
|
|
42
44
|
|
|
43
|
-
No auto-commit. No auto-push. No surprise deploy. `apply` is explicit
|
|
45
|
+
No auto-commit. No auto-push. No surprise deploy. `apply` is explicit; it requires a `decision.json` whose `apply_allowed` is `true`.
|
|
44
46
|
|
|
45
|
-
|
|
47
|
+
Bring your AI tool (Cursor / Claude Code / Codex). NEKOWORK starts after the diff is on disk. Advanced and legacy commands are documented in [docs/ADVANCED.md](docs/ADVANCED.md) and gated under Phased Cut (see [docs/SCOPE-1.0.md](docs/SCOPE-1.0.md)).
|
|
46
48
|
|
|
47
|
-
**Public alpha evidence:**
|
|
49
|
+
**Public alpha evidence:** 401 tests / 0 moderate+ npm audit issues / fresh `npx @alpha` smoke / 10 case-study flows / 5 starter packs · [CI badge](https://github.com/Ps-Neko/NEKOWORK/actions/workflows/harness-validate.yml) · [npm package](https://www.npmjs.com/package/@ps-neko/nekowork) · [terminal transcript](docs/DEMO.md#one-minute-terminal-transcript) · [full report example](docs/DEMO-REPORT.md) · [external run kit](docs/EXTERNAL-RUN.md) · [alpha feedback](https://github.com/Ps-Neko/NEKOWORK/issues/new?template=alpha-feedback.yml) · [roadmap](docs/ROADMAP.md)
|
|
48
50
|
|
|
49
51
|

|
|
50
52
|
|
|
51
53
|
## One Command. One Blocked Risk.
|
|
52
54
|
|
|
55
|
+
After your AI tool (Cursor / Claude Code / Codex) writes a `process.env.X || "fallback"` into your auth code, run:
|
|
56
|
+
|
|
53
57
|
```bash
|
|
54
|
-
npx -y @ps-neko/nekowork@alpha
|
|
58
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
55
59
|
```
|
|
56
60
|
|
|
57
|
-
Typical blocked-risk
|
|
61
|
+
Typical blocked-risk output:
|
|
58
62
|
|
|
59
63
|
```text
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
=== verify-pr ===
|
|
65
|
+
verdict : BLOCK
|
|
66
|
+
reason : Hardcoded secret fallback detected (src/auth.ts:42)
|
|
67
|
+
risk_level : CRITICAL
|
|
68
|
+
merge_allowed : false
|
|
69
|
+
apply_allowed : false
|
|
70
|
+
findings : critical=1 high=0 medium=0 low=0
|
|
71
|
+
top findings:
|
|
72
|
+
- [CRITICAL] Hardcoded secret fallback detected (src/auth.ts:42)
|
|
67
73
|
```
|
|
68
74
|
|
|
69
|
-
That is the thesis:
|
|
75
|
+
That is the thesis: AI can write the change, but `verify-pr` runs deterministic rules over the diff and refuses to let unverified changes merge or apply.
|
|
70
76
|
|
|
71
77
|
## 30-Second First Run
|
|
72
78
|
|
|
73
|
-
Requirements: Node.js 22+, npm, and git.
|
|
79
|
+
Requirements: Node.js 22+, npm, and git. A git repo with at least one commit.
|
|
74
80
|
|
|
75
81
|
```bash
|
|
76
82
|
npx -y @ps-neko/nekowork@alpha check
|
|
77
|
-
npx -y @ps-neko/nekowork@alpha
|
|
78
|
-
|
|
83
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
84
|
+
cat REPORT.md
|
|
85
|
+
cat .nekowork/decision.json
|
|
79
86
|
```
|
|
80
87
|
|
|
81
|
-
|
|
88
|
+
`check` confirms the environment is ready. `verify-pr` scans the current working tree diff with deterministic risk rules, writes evidence to `.nekowork/evidence/`, and decides whether the change is safe to merge or apply. It writes `REPORT.md` at the project root and `.nekowork/decision.json`.
|
|
82
89
|
|
|
83
90
|
Source checkout for local development:
|
|
84
91
|
|
|
85
92
|
```bash
|
|
86
93
|
node scripts/cli.js check
|
|
87
|
-
node scripts/cli.js
|
|
88
|
-
node scripts/cli.js report --session latest
|
|
94
|
+
node scripts/cli.js verify-pr
|
|
89
95
|
```
|
|
90
96
|
|
|
91
|
-
> **Reproducibility note:** `npx @ps-neko/nekowork@alpha`
|
|
97
|
+
> **Reproducibility note:** `npx @ps-neko/nekowork@alpha` resolves to the most recently published alpha. The published alpha may lag behind `main`. Pin an exact version (e.g. `@ps-neko/nekowork@0.1.0-alpha.11`) for reproducible behavior.
|
|
92
98
|
|
|
93
|
-
|
|
99
|
+
Compatibility / legacy commands (`cockpit`, `start`, `ask`, `plan`, `team`, `work`, `verify`, `gate`, `ship`, `run`, `build`, `auto`, `pr-prep`, `report --session`, `apply --session`, `review`) are documented in [docs/ADVANCED.md](docs/ADVANCED.md). They are scheduled for deprecation in 2.0 per [SCOPE-1.0.md](docs/SCOPE-1.0.md).
|
|
94
100
|
|
|
95
101
|
## Works With Your Existing AI Workflow
|
|
96
102
|
|
|
@@ -139,28 +145,35 @@ See the full report contract and example artifact in [docs/DEMO-REPORT.md](docs/
|
|
|
139
145
|
|
|
140
146
|
## Main Surface
|
|
141
147
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
**Beginner — start here:**
|
|
148
|
+
**1.0 front surface — start here:**
|
|
145
149
|
|
|
146
150
|
- `check` — local readiness probe
|
|
147
|
-
- `
|
|
148
|
-
- `
|
|
149
|
-
- `
|
|
151
|
+
- `verify-pr` — verify a diff / PR against deterministic risk rules; writes `REPORT.md` and `.nekowork/decision.json`
|
|
152
|
+
- `verify-pr --comment-file <path>` — emit GitHub PR comment markdown for CI integration
|
|
153
|
+
- `verify-pr --ci-exit-soft` — treat `NEEDS_HUMAN_REVIEW` / `INSUFFICIENT_EVIDENCE` as exit 0 (label-driven CI)
|
|
154
|
+
|
|
155
|
+
The CI exit code matrix is fixed:
|
|
156
|
+
|
|
157
|
+
```text
|
|
158
|
+
ALLOW = 0
|
|
159
|
+
ALLOW_WITH_WARNINGS = 0
|
|
160
|
+
NEEDS_HUMAN_REVIEW = 1
|
|
161
|
+
INSUFFICIENT_EVIDENCE = 1
|
|
162
|
+
BLOCK = 2
|
|
163
|
+
```
|
|
150
164
|
|
|
151
|
-
|
|
165
|
+
GitHub Actions example: [docs/examples/github-actions-verify-pr.yml](docs/examples/github-actions-verify-pr.yml).
|
|
152
166
|
|
|
153
|
-
|
|
154
|
-
- `verify` / `gate` / `ship` — Codex verification, Human Gate, ship-readiness handoff
|
|
155
|
-
- `build` / `auto` / `run` — wrappers over the safety gate; `auto` and `build` never accept `--apply`
|
|
156
|
-
- `pr-prep` — review-ready local artifacts without branch, commit, push, or PR
|
|
167
|
+
**Compatibility / labs — scheduled for deprecation in 2.0:**
|
|
157
168
|
|
|
158
|
-
|
|
169
|
+
- Session-based gate: `start` / `report --session` / `apply --session` / `gate status` / `ship --session`
|
|
170
|
+
- Decomposed authoring: `ask` / `plan` / `team` / `work` / `verify` / `pr-prep`
|
|
171
|
+
- Wrappers: `build` / `auto` / `run`
|
|
172
|
+
- Legacy alias: `review` / `review-cycle` / `harness` binary
|
|
159
173
|
|
|
160
|
-
|
|
161
|
-
- `harness` binary — legacy alias for `nekowork`
|
|
174
|
+
These commands are functional in alpha and documented in [docs/ADVANCED.md](docs/ADVANCED.md). They will get `[deprecated]` labels in 0.3.x and be removed in 2.0 per [docs/SCOPE-1.0.md](docs/SCOPE-1.0.md). Pure 1.0 users should not need them.
|
|
162
175
|
|
|
163
|
-
|
|
176
|
+
Stage contract for legacy commands: [docs/CLI-STAGES.md](docs/CLI-STAGES.md). Build modes: [docs/BUILD.md](docs/BUILD.md). Bounded autonomy: [docs/AUTONOMY.md](docs/AUTONOMY.md). Advanced runtime (`ralph`, `wait`, instincts, cost tracking, Rust supervisor): [docs/ADVANCED.md](docs/ADVANCED.md).
|
|
164
177
|
|
|
165
178
|
## Starter Packs
|
|
166
179
|
|
|
@@ -186,9 +199,9 @@ For comparison and positioning: [docs/WHY-NEKOWORK.md](docs/WHY-NEKOWORK.md).
|
|
|
186
199
|
|
|
187
200
|
## Status
|
|
188
201
|
|
|
189
|
-
Current repository version: `0.1.0-alpha.
|
|
202
|
+
Current repository version: `0.1.0-alpha.11` · Current npm alpha: `@ps-neko/nekowork@0.1.0-alpha.10` (published 2026-05-14, `@alpha` dist-tag). Package: `@ps-neko/nekowork`. CLI: `nekowork` (`harness` is a legacy alias). Default: mock providers, no API keys.
|
|
190
203
|
|
|
191
|
-
Verification: `npm run lint` pass · `npm test`
|
|
204
|
+
Verification: `npm run lint` pass · `npm test` 401 tests pass · `npm audit --audit-level=moderate` 0 vulns · `npm pack --dry-run --json` pass · `npx -y @ps-neko/nekowork@alpha check` pass with warnings only.
|
|
192
205
|
|
|
193
206
|
Live provider auth delegates to local CLI sessions (`claude auth status`, `codex login`, `gemini`); long-lived API key env vars (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GOOGLE_API_KEY`) are blocked unless `HARNESS_AUTH_ALLOW_ENV_OVERRIDE=1`. See [docs/SETUP.md](docs/SETUP.md).
|
|
194
207
|
|
|
@@ -196,7 +209,8 @@ Live provider auth delegates to local CLI sessions (`claude auth status`, `codex
|
|
|
196
209
|
|
|
197
210
|
- **Core:** [QUICKSTART](docs/QUICKSTART.md) · [CLI-STAGES](docs/CLI-STAGES.md) · [INTEGRATION](docs/INTEGRATION.md) · [UPSTREAM-RECIPES](docs/UPSTREAM-RECIPES.md) · [BUILD](docs/BUILD.md) · [AUTONOMY](docs/AUTONOMY.md) · [SAFETY-GUARANTEES](docs/SAFETY-GUARANTEES.md) · [FAILURE-MODES](docs/FAILURE-MODES.md)
|
|
198
211
|
- **Demos & evidence:** [DEMO](docs/DEMO.md) · [DEMO-REPORT](docs/DEMO-REPORT.md) · [EXTERNAL-RUN](docs/EXTERNAL-RUN.md) · [case-studies](docs/case-studies)
|
|
199
|
-
- **
|
|
212
|
+
- **1.0 direction:** [SCOPE-1.0.md](docs/SCOPE-1.0.md) — scope, risk rules, decision policy, fixture sourcing · [VISION.md](docs/VISION.md) — long-term verification-first OS vision
|
|
213
|
+
- **Reference:** [GUIDED-MODE](docs/GUIDED-MODE.md) · [ADVANCED](docs/ADVANCED.md) · [CATALOG-PACKS](docs/CATALOG-PACKS.md) · [PORTING](docs/PORTING.md) · [PR-PREP](docs/PR-PREP.md) · [RELEASE-READINESS](docs/RELEASE-READINESS.md) · [ARCHITECTURE](docs/ARCHITECTURE.md) · [PRODUCT-PRINCIPLES](docs/PRODUCT-PRINCIPLES.md) · [ROADMAP](docs/ROADMAP.md)
|
|
200
214
|
- **Project rules:** [SOUL.md](SOUL.md) · [RULES.md](RULES.md) · [AGENTS.md](AGENTS.md)
|
|
201
215
|
|
|
202
216
|
## License
|
package/WORKING-CONTEXT.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
## Current Truth
|
|
11
11
|
|
|
12
12
|
- 위치: `C:/Users/Mun/harness/` · 브랜치: `main`
|
|
13
|
-
- 버전: `0.1.0-alpha.
|
|
13
|
+
- 버전: `0.1.0-alpha.11` (repo candidate, npm alpha = 0.1.0-alpha.10)
|
|
14
14
|
- 카탈로그: 11 agents · 5 skills (+1 ralph) · 5 hooks · 6 modules · 5 profiles
|
|
15
15
|
- 5 빌더 모두 동작 (claude / codex / cursor / gemini / opencode) + codemaps
|
|
16
16
|
- `npm test`, `npm run lint`, `npm audit --audit-level=moderate`, provider live smoke, Rust release build 검증 경로 유지
|
package/agent.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
spec_version: gitagent/0.1.0
|
|
2
2
|
name: nekowork
|
|
3
3
|
runtime_name: harness
|
|
4
|
-
version: 0.1.0-alpha.
|
|
4
|
+
version: 0.1.0-alpha.11
|
|
5
5
|
description: "NEKOWORK - Verified autopilot for AI code changes with Codex verification, Human Gate, and explicit apply"
|
|
6
6
|
license: MIT
|
|
7
7
|
homepage: https://github.com/Ps-Neko/NEKOWORK
|
package/docs/ADVANCED.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Advanced Features
|
|
2
2
|
|
|
3
|
+
> ## Phased Cut status
|
|
4
|
+
>
|
|
5
|
+
> 이 페이지의 대부분 명령은 알파.10 시기의 wide CLI surface 입니다.
|
|
6
|
+
> NEKOWORK 1.0 은 [검증 게이트 정체성](SCOPE-1.0.md) 에 집중하며,
|
|
7
|
+
> 이 명령들은 [Phased Cut](SCOPE-1.0.md#2-phased-cut-단계) 을 거칩니다.
|
|
8
|
+
>
|
|
9
|
+
> | Phase | 시기 | 상태 |
|
|
10
|
+
> |---|---|---|
|
|
11
|
+
> | Phase 0 | now (0.1.x → 0.2.x) | **functional** + hero 강등 |
|
|
12
|
+
> | Phase 1 | 0.3.x → 1.0 | `[deprecated]` 마크 + "removed in 2.0" 경고 |
|
|
13
|
+
> | Phase 2 | 1.x → 2.0 | 제거 또는 `@ps-neko/nekowork-legacy` 분리 |
|
|
14
|
+
>
|
|
15
|
+
> 1.0 의 hero 명령 4종 — `check / verify-pr / report / apply` — 으로 이주를 권장합니다.
|
|
16
|
+
> 명령별 운명은 [SCOPE-1.0.md §3](SCOPE-1.0.md#3-명령-운명-표) 참고.
|
|
17
|
+
> 장기 비전은 [VISION.md](VISION.md) 참고.
|
|
18
|
+
|
|
3
19
|
The public alpha path focuses on `doctor`, `build`, `report`, `gate`, and the decomposed `ask`, `plan`, `team`, `work`, `verify`, `ship`, `apply`, `run`, `review`, `review-cycle`, and install/apply surfaces. This page keeps the larger runtime surface discoverable without crowding the first-run docs.
|
|
4
20
|
|
|
5
21
|
## team
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Alpha User Recruitment — Draft Messages
|
|
2
|
+
|
|
3
|
+
> 5명 알파 사용자 모집을 위한 채널별 메시지 초안.
|
|
4
|
+
> 검토 후 사용자가 실제 게시 (Claude 가 게시하지 않음).
|
|
5
|
+
> 발화 시점: alpha.11 publish 직후, verify-pr 가 working tree 에서 실제 검증을 수행하는 상태.
|
|
6
|
+
>
|
|
7
|
+
> 목표: 5명 응답 (per [SCOPE-1.0.md §13.1](SCOPE-1.0.md#131-외부-알파-5명-모집-채널)).
|
|
8
|
+
> 채널: 직접 아는 사람 1-2 + r/cursor 또는 r/ClaudeAI 1-2 + GeekNews (한국) 1-2.
|
|
9
|
+
>
|
|
10
|
+
> **모집의 목표는 홍보가 아니라 실제 AI 생성 diff 수집** — SCOPE-1.0 §9 의
|
|
11
|
+
> stage 2/3 fixture 와 §13.2 의 1.0 release gate 를 동시에 만족시키는 경로.
|
|
12
|
+
|
|
13
|
+
## Pasteable Template — 짧은 버전 (DM / 슬랙 / Discord 등)
|
|
14
|
+
|
|
15
|
+
가장 빠른 복사용. 친한 사람에게 바로 보낼 때:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
AI 가 만든 PR / diff 를 NEKOWORK verify-pr 로 검증해줄 외부 알파를 찾습니다.
|
|
19
|
+
|
|
20
|
+
목표는 자동 코딩이 아니라,
|
|
21
|
+
"이 AI 변경을 머지해도 되는가?" 를 REPORT.md 와 decision.json 으로 판정하는 것.
|
|
22
|
+
|
|
23
|
+
필요한 것:
|
|
24
|
+
- 최근 Claude Code / Cursor / Codex 가 만든 diff 또는 PR
|
|
25
|
+
- npx 로 verify-pr 실행
|
|
26
|
+
- REPORT.md / decision.json 결과 공유
|
|
27
|
+
- 오탐 / 미탐 / 이해 가능성 피드백
|
|
28
|
+
|
|
29
|
+
10분 정도 부탁드려요.
|
|
30
|
+
|
|
31
|
+
설치 + 실행:
|
|
32
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
33
|
+
|
|
34
|
+
피드백 양식:
|
|
35
|
+
https://github.com/Ps-Neko/NEKOWORK/issues/new?template=alpha-feedback.yml
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
긴 채널별 메시지는 아래 섹션에 보존. 상황에 맞게 골라 사용.
|
|
39
|
+
|
|
40
|
+
## 공통 정체성 한 줄
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
EN: Don't merge AI code without verification.
|
|
44
|
+
KO: AI 가 만든 코드, 검증 없이는 통과시키지 마세요.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 채널 1: 직접 아는 사람 (DM / Slack / Discord)
|
|
48
|
+
|
|
49
|
+
### EN
|
|
50
|
+
|
|
51
|
+
> Hey — I shipped an alpha of NEKOWORK, a local verification gate for AI-generated code. It scans diffs from Cursor / Claude Code / Codex with deterministic rules (secret fallbacks, auto-push, hardcoded credentials, test disables, supply-chain hooks) and refuses to allow merge/apply unless the verdict is clear. No LLM in the verdict path, no auto-commit/push.
|
|
52
|
+
>
|
|
53
|
+
> 60-second try: `npx -y @ps-neko/nekowork@alpha verify-pr` in any git repo with a working tree diff. It writes REPORT.md + decision.json under `.nekowork/`.
|
|
54
|
+
>
|
|
55
|
+
> I'd love 10 minutes of your feedback after a real PR: did the verdict help you decide, was the report readable, did anything false-positive, did anything slip through? Issue template: <link to alpha-feedback>.
|
|
56
|
+
|
|
57
|
+
### KO
|
|
58
|
+
|
|
59
|
+
> 안녕하세요 — NEKOWORK 알파를 출시했어요. AI 가 만든 코드 변경의 로컬 검증 게이트입니다. Cursor / Claude Code / Codex 가 만든 diff 를 결정적 룰 (secret fallback, 자동 push, hardcoded credential, test disable, supply chain hook) 로 스캔하고, 판정이 명확하지 않으면 머지/적용을 차단합니다. LLM 은 verdict 경로에 없고, auto-commit/push 없음.
|
|
60
|
+
>
|
|
61
|
+
> 60초 체험: 아무 git repo 의 working tree diff 에서 `npx -y @ps-neko/nekowork@alpha verify-pr`. `.nekowork/` 아래에 REPORT.md 와 decision.json 가 생깁니다.
|
|
62
|
+
>
|
|
63
|
+
> 실제 PR 한 번 돌려보시고 10분 정도 피드백 부탁드려요 — verdict 가 머지 결정에 도움됐는지, REPORT 가 읽기 좋았는지, 오탐/미탐 있었는지. 이슈 템플릿: <link to alpha-feedback>.
|
|
64
|
+
|
|
65
|
+
## 채널 2: r/cursor / r/ClaudeAI / r/ChatGPTCoding
|
|
66
|
+
|
|
67
|
+
### Title
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
Local verification gate for AI-generated diffs — recall 90+%, no LLM in the verdict path
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Body
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
I built NEKOWORK after watching Cursor and Claude Code happily commit `process.env.X || "fallback-secret"` and `git push --force` into PRs I had to review.
|
|
77
|
+
|
|
78
|
+
What it does: takes the working-tree diff (or a patch file), runs 5 deterministic rules over the added lines, writes evidence, and emits a verdict — ALLOW / ALLOW_WITH_WARNINGS / NEEDS_HUMAN_REVIEW / INSUFFICIENT_EVIDENCE / BLOCK. Optional Codex review is recorded as an advisor note only and never controls the verdict.
|
|
79
|
+
|
|
80
|
+
Rules (1.0 scope):
|
|
81
|
+
- Secret Fallback (`env.X || "literal"` and 6 variants) — 90% recall on synthetic seed
|
|
82
|
+
- Auto-Apply / Commit / Push (`git push --force`, subprocess git push, auto-merge config)
|
|
83
|
+
- Hardcoded Credential (provider signatures: AKIA, sk_live_, ghp_, xox-, AIza, PEM)
|
|
84
|
+
- Test-Or-Security-Disable (it.skip, @ts-nocheck, file-wide eslint-disable)
|
|
85
|
+
- Package-Lockfile-Risk (postinstall, curl|bash, git/tarball URL deps)
|
|
86
|
+
|
|
87
|
+
Quick try:
|
|
88
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
89
|
+
|
|
90
|
+
Exit codes match the verdict: 0 ALLOW, 1 NEEDS_REVIEW/NO_EVIDENCE, 2 BLOCK. There's a GitHub Actions example that posts the verdict as a PR comment.
|
|
91
|
+
|
|
92
|
+
Looking for 5 alpha users to run it on a real PR and report: did it block a real risk? Did it false-positive? Issue template inside the repo. <link>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 채널 3: GeekNews (한국)
|
|
96
|
+
|
|
97
|
+
### Title
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
NEKOWORK alpha — AI 가 만든 diff 를 결정적 룰로 검증하는 로컬 게이트
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Body
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
AI 코딩 도구 (Cursor, Claude Code, Codex) 가 PR 에 자신감 있게 넣는 두 패턴이 가장 무서웠습니다:
|
|
107
|
+
|
|
108
|
+
1. `process.env.API_KEY || "fallback-secret"` — secret 이 없으면 hardcoded 값으로 동작
|
|
109
|
+
2. `git push --force origin main` — 자동 release script 에 슬쩍 추가
|
|
110
|
+
|
|
111
|
+
NEKOWORK 는 이런 패턴을 결정적 룰로 잡고, 판정이 명확하지 않으면 머지/적용을 차단하는 로컬 게이트입니다. LLM 은 verdict 경로에 없습니다 (advisor 만).
|
|
112
|
+
|
|
113
|
+
설치 + 실행 (60초):
|
|
114
|
+
npx -y @ps-neko/nekowork@alpha verify-pr
|
|
115
|
+
|
|
116
|
+
산출: `.nekowork/decision.json`, `REPORT.md`, `.nekowork/evidence/risk-findings.json`.
|
|
117
|
+
|
|
118
|
+
1.0 시점 룰 (synthetic seed 측정):
|
|
119
|
+
- Secret Fallback: recall 90% / FP 0%
|
|
120
|
+
- Auto-Apply-Commit-Push: 100% / 0%
|
|
121
|
+
- Hardcoded Credential (provider 시그니처): 100% / 0%
|
|
122
|
+
- Test-Or-Security-Disable: 100% / 0%
|
|
123
|
+
- Package-Lockfile-Risk: 100% / 0%
|
|
124
|
+
|
|
125
|
+
알파 사용자 5명 찾고 있어요. 실제 PR 에 돌려보고 (a) BLOCK 이 정당했는지 (b) 오탐 있었는지 (c) REPORT 가 읽기 좋았는지 알려주시면 큰 도움됩니다.
|
|
126
|
+
|
|
127
|
+
GitHub: <repo link>
|
|
128
|
+
피드백 이슈 템플릿: <link to alpha-feedback>
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 채널 4: HN Show (보류)
|
|
132
|
+
|
|
133
|
+
verify-pr recall 0.90 이 합성 코퍼스 기준이고 OSS / live AI fixture 가 아직 부족하므로 HN 은 1.0 release 또는 verify-skill land-grab 시점까지 보류.
|
|
134
|
+
SCOPE-1.0.md §13.1 정책에 부합.
|
|
135
|
+
|
|
136
|
+
## 피드백 수집 항목
|
|
137
|
+
|
|
138
|
+
각 응답자에게 받을 정보 (alpha-feedback issue template 에 반영):
|
|
139
|
+
|
|
140
|
+
```text
|
|
141
|
+
- Project type (open source / SaaS / internal / etc.)
|
|
142
|
+
- AI tool used to generate the change (Cursor / Claude Code / Codex / other)
|
|
143
|
+
- Verdict received
|
|
144
|
+
- Was the verdict correct? (yes / no / partial)
|
|
145
|
+
- False positive? (which finding, what context)
|
|
146
|
+
- False negative? (what slipped through)
|
|
147
|
+
- Did REPORT.md help you decide? (1-5)
|
|
148
|
+
- Would you run it on the next PR? (yes / no / depends — say why)
|
|
149
|
+
- What was confusing or missing?
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## 1.0 release 게이트 (per SCOPE-1.0.md §13.2)
|
|
153
|
+
|
|
154
|
+
- 내부 fixture benchmark Secret Fallback recall ≥ 0.90, FP ≤ 0.10 (✅ 이미 통과)
|
|
155
|
+
- CI 에 benchmark job 추가, 3일 연속 PASS (대기)
|
|
156
|
+
- 외부 알파 3/5 명 "다시 쓰겠다" 응답 (대기 — 이 모집의 목표)
|
|
157
|
+
- CRITICAL 미탐 0건 또는 수정 완료 (대기)
|
package/docs/AUDIT.md
CHANGED
|
@@ -56,7 +56,7 @@ Current local result for this working tree:
|
|
|
56
56
|
- `npm run test:unit`: covered by full `npm test`
|
|
57
57
|
- `npm run validate:all`: pass
|
|
58
58
|
- `npm run lint`: pass
|
|
59
|
-
- `npm test`:
|
|
59
|
+
- `npm test`: 401 tests pass
|
|
60
60
|
- quick run demo: pass through `npm run demo:quick -- --cleanup`
|
|
61
61
|
- external project e2e smoke: pass through `npm test`
|
|
62
62
|
- `node scripts/sync-claude-md.js --check`: pass
|
package/docs/CATALOG-PACKS.md
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -4,20 +4,48 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.1.0-alpha.11] - TBD
|
|
8
|
+
|
|
7
9
|
### Added
|
|
8
|
-
- Add `nekowork
|
|
9
|
-
- Add
|
|
10
|
-
- Add
|
|
10
|
+
- Add `nekowork verify-pr` 1.0 entrypoint: scans diff (working tree / staged / range / patch file) with deterministic risk rules, writes evidence to `.nekowork/evidence/`, decides verdict from rule findings + check availability, renders `REPORT.md`.
|
|
11
|
+
- Add 5 deterministic risk rules: Secret Fallback (killer), Auto-Apply-Commit-Push, Hardcoded Credential, Test-Or-Security-Disable, Package-Lockfile-Risk. All pass synthetic seed gate (recall ≥ 0.90, CRITICAL FP ≤ 0.10).
|
|
12
|
+
- Add `INSUFFICIENT_EVIDENCE` verdict: source change with no test command available no longer auto-passes — explicit "cannot verify" state per SCOPE-1.0 §7.
|
|
13
|
+
- Add `--comment-file <path>` option: emits GitHub PR comment markdown.
|
|
14
|
+
- Add `--ci-exit-soft` option: exits 0 for NEEDS_HUMAN_REVIEW / INSUFFICIENT_EVIDENCE so check is informational, not blocking.
|
|
15
|
+
- Add CI exit-code mapping (SCOPE-1.0 §8): ALLOW/ALLOW_WITH_WARNINGS=0, NEEDS_HUMAN_REVIEW/INSUFFICIENT_EVIDENCE=1, BLOCK=2.
|
|
16
|
+
- Add `scripts/lib/diff-parser.js`: unified diff parsing + working-tree git diff (incl. untracked synthesis) + patch-file loading.
|
|
17
|
+
- Add `scripts/lib/project-detector.js`: language / package manager / test / lint / typecheck / build / audit / CI / security file detection.
|
|
18
|
+
- Add `scripts/benchmark/rules.js` and `npm run bench:rules`: per-rule recall + FP measurement against fixture manifests, exits non-zero on 1.0 gate regression.
|
|
19
|
+
- Add `docs/examples/github-actions-verify-pr.yml`: drop-in workflow that posts the verdict as a PR comment and applies labels (`neko/needs-review`, `neko/no-evidence`, `neko/blocked`).
|
|
20
|
+
- Add `docs/SCOPE-1.0.md`: Phased Cut plan (Phase 0 / 1 / 2), risk rules, decision policy, fixture sourcing.
|
|
21
|
+
- Add `docs/VISION.md`: long-term "Verification-first AI development OS" vision separated from current 1.0 product surface.
|
|
22
|
+
- Add `tests/fixtures/secret-fallback`, `tests/fixtures/auto-apply-commit-push`, `tests/fixtures/hardcoded-credential`, `tests/fixtures/test-or-security-disable`, `tests/fixtures/package-lockfile-risk`, `tests/fixtures/oss-negatives` synthetic + real-OSS corpus with `manifest.json` and benchmark targets.
|
|
11
23
|
|
|
12
24
|
### Changed
|
|
13
|
-
-
|
|
25
|
+
- README hero aligned with verification-gate identity ("Don't merge AI code without verification" / "AI 가 만든 코드, 검증 없이는 통과시키지 마세요"). Codex repositioned as optional advisor, never controls verdict.
|
|
26
|
+
- README 30-second flow and "One Command. One Blocked Risk." promote `verify-pr` as the 1.0 entrypoint; `start` documented under Phased Cut.
|
|
27
|
+
- `docs/ADVANCED.md` gains Phased Cut banner with Phase 0 / 1 / 2 status table — 19 alpha-era commands remain functional but are scheduled for deprecation in 2.0 in favor of the verification-first surface.
|
|
28
|
+
|
|
29
|
+
### Preserved
|
|
30
|
+
- Codex review remains opt-in advisor only — never affects `decision.json.verdict`.
|
|
31
|
+
- No auto-commit, auto-push, auto-merge, or auto-apply behavior is introduced.
|
|
32
|
+
- Existing `check / start / report / apply` and the wider Advanced / Legacy surface continue to function for alpha users; deprecation begins in 0.3.x per SCOPE-1.0 Phase 1.
|
|
14
33
|
|
|
15
|
-
## [0.1.0-alpha.10] - 2026-05-
|
|
34
|
+
## [0.1.0-alpha.10] - 2026-05-14
|
|
16
35
|
|
|
17
36
|
### Added
|
|
37
|
+
- Add `nekowork start` as the beginner alias for the safe `build` entrypoint.
|
|
38
|
+
- Add `decision.json` as the shared machine-readable session decision surface.
|
|
39
|
+
- Add deterministic `preverify-summary.json` findings before Codex review for secret, auth, deploy, payment, env/config, permission, and destructive-data risks.
|
|
18
40
|
- Add `nekowork pr-prep` to generate review-ready local artifacts from an existing verified session.
|
|
19
41
|
- Add `PR_SUMMARY.md`, `RISK_NOTES.md`, `TEST_EVIDENCE.md`, `CHANGELOG_DRAFT.md`, `SHIP_DECISION.md`, and `pr-prep-summary.json` session evidence.
|
|
20
42
|
- Add `REPORT.md` PR Prep section and `examples/pr-prep-smoke` fixture.
|
|
43
|
+
- Add Beta Graduation Criteria burndown and alpha.10 evidence log in `docs/FEEDBACK-TRIAGE.md`.
|
|
44
|
+
- Promote `nekowork` as the canonical CLI verb prefix (`harness` retained as permanent alias).
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- Print verdict, reason, Human Gate state, ship readiness, and apply permission first for real `start`/`build` runs.
|
|
48
|
+
- Lock alpha.10 version consistency across `VERSION`, `package.json`, Provider Mode surface, and upstream artifact catalog.
|
|
21
49
|
|
|
22
50
|
### Preserved
|
|
23
51
|
- `pr-prep` does not create branches, commits, pushes, pull requests, applies, publishes, or deploys.
|