@ps-neko/nekowork 0.1.0-alpha.3 → 0.1.0-alpha.5

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 CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## 자동 갱신 영역
10
10
 
11
- <!-- HARNESS:START version=0.1.0-alpha.3 -->
11
+ <!-- HARNESS:START version=0.1.0-alpha.5 -->
12
12
  <!-- 이 영역은 scripts/sync-claude-md.js 가 자동 갱신한다. 직접 편집 금지. -->
13
13
 
14
14
  ## 카탈로그 요약
package/README.md CHANGED
@@ -30,10 +30,12 @@ NEKOWORK is intentionally not a 100-agent pack. Every agent, skill, hook, profil
30
30
  3. produce auditable evidence,
31
31
  4. respect Human Gate.
32
32
 
33
- **Public alpha evidence:** 7 packs / 9 profiles / 36 components / 5 harness targets / 7 case-study flows / 251 tests / 0 moderate+ npm audit issues / fresh `npx @alpha` smoke
33
+ **Public alpha evidence:** 7 packs / 9 profiles / 36 components / 5 harness targets / 7 case-study flows / 253 tests / 0 moderate+ npm audit issues / fresh `npx @alpha` smoke
34
34
 
35
35
  NEKOWORK does not automatically commit, push, publish, deploy, or apply diffs. `apply` is explicit and requires verified ship-ready evidence.
36
36
 
37
+ **Latest alpha evidence:** [CI badge](https://github.com/Ps-Neko/NEKOWORK/actions/workflows/harness-validate.yml) / [npm package](https://www.npmjs.com/package/@ps-neko/nekowork) / [smoke transcript](docs/DEMO.md#one-minute-terminal-transcript) / [report artifact](docs/DEMO-REPORT.md)
38
+
37
39
  **One-minute demo:** [terminal transcript](docs/DEMO.md#one-minute-terminal-transcript) / [full report example](docs/DEMO-REPORT.md) / [alpha feedback](https://github.com/Ps-Neko/NEKOWORK/issues/new?template=alpha-feedback.yml) / [roadmap](docs/ROADMAP.md)
38
40
 
39
41
  ![NEKOWORK one-minute terminal demo](docs/assets/demo-terminal.svg)
@@ -57,10 +59,11 @@ node scripts/cli.js gate status --session first-run
57
59
 
58
60
  The simple path maps to the full evidence loop: `check = doctor --quick`, and `run = work -> verify -> ship`.
59
61
 
60
- To add generated harness surfaces to another local repository from a source checkout:
62
+ To add generated harness surfaces to another local repository:
61
63
 
62
64
  ```bash
63
- node /path/to/harness/scripts/cli.js init --profile developer --project-root /path/to/my-project
65
+ cd /path/to/my-project
66
+ npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
64
67
  ```
65
68
 
66
69
  ## Example Report
@@ -106,6 +109,22 @@ Decision:
106
109
 
107
110
  Human Gate is the point where NEKOWORK stops being an autopilot and becomes an approval system.
108
111
 
112
+ ## Apply Preview
113
+
114
+ Before `apply`, NEKOWORK expects the human to inspect the evidence surface:
115
+
116
+ ```text
117
+ Session: first-work
118
+ Diff source: captured live-work diff
119
+ Files changed: 3
120
+ Verifier verdict: approve
121
+ Human gate: clear
122
+ Ship ready: true
123
+ Apply command: node scripts/cli.js apply --session first-work
124
+ ```
125
+
126
+ `apply` still does not commit, push, publish, deploy, or create a PR. It only applies the verified `SHIP_READY` diff when gates are clear and the target worktree is clean.
127
+
109
128
  ## Compared With Agent Packs
110
129
 
111
130
  | Tool pattern | Optimizes for | NEKOWORK optimizes for |
@@ -125,6 +144,8 @@ Human Gate is the point where NEKOWORK stops being an autopilot and becomes an a
125
144
  | Run autonomous multi-agent execution | OMC |
126
145
  | Verify AI changes, require human approval, then apply explicitly | NEKOWORK |
127
146
 
147
+ Use Superpowers, Everything Claude Code, GStack, or OMC to produce stronger AI work when they fit your workflow. Use NEKOWORK to verify, gate, report, and apply that work safely.
148
+
128
149
  ## Three Paths
129
150
 
130
151
  Most users should start with the Beginner path. The other paths are for explicit phase control or legacy compatibility.
@@ -139,9 +160,11 @@ NEKOWORK is for teams that want AI-assisted development without making the agent
139
160
 
140
161
  ## Status
141
162
 
142
- - Current repository version: `0.1.0-alpha.3`
163
+ - Current repository version: `0.1.0-alpha.5`
143
164
  - Current package name: `@ps-neko/nekowork`
144
- - Current npm alpha: `@ps-neko/nekowork@0.1.0-alpha.3`
165
+ - Published CLI name: `harness`; repository candidate also exposes `nekowork`
166
+ - Current npm alpha: `@ps-neko/nekowork@0.1.0-alpha.4`
167
+ - Next repository candidate: `0.1.0-alpha.5`; publish attempted, but npm rejected the current account with `E404` permission/not-found
145
168
  - Supported install path today: npm alpha, clone, submodule, or local repository integration
146
169
  - Dist-tag note: use `@alpha` until a stable release; `latest` still points at the first alpha line
147
170
  - Default mode: mock providers, no API keys, no provider CLI calls
@@ -149,7 +172,7 @@ NEKOWORK is for teams that want AI-assisted development without making the agent
149
172
  Current local verification:
150
173
 
151
174
  - `npm run lint`: pass
152
- - `npm test`: 251 tests pass
175
+ - `npm test`: 253 tests pass
153
176
  - `npm audit --audit-level=moderate`: 0 vulnerabilities
154
177
  - `npm pack --dry-run --json`: pass
155
178
  - `npx -y @ps-neko/nekowork@alpha check`: pass with warnings only
@@ -178,21 +201,11 @@ Current local verification:
178
201
  | `release` | ship/no-ship evidence | pre-release checks |
179
202
  | `enterprise` | full catalog with all gates | high-control teams |
180
203
 
181
- ## Quick Start
182
-
183
- Requirements:
204
+ ## Quick Start Details
184
205
 
185
- - Node.js 22+
186
- - npm
187
- - git
206
+ Requirements: Node.js 22+, npm, and git.
188
207
 
189
- Fastest no-API demo:
190
-
191
- ```bash
192
- npx -y @ps-neko/nekowork@alpha check
193
- ```
194
-
195
- Repository demo:
208
+ For a repository-pinned local demo:
196
209
 
197
210
  ```bash
198
211
  git clone https://github.com/Ps-Neko/NEKOWORK.git harness
@@ -203,40 +216,13 @@ npm run demo:quick -- --cleanup
203
216
 
204
217
  This creates a disposable target project and runs `doctor -> run -> report -> gate status`. It uses mock providers and does not call Claude, Codex, Gemini, or paid APIs.
205
218
 
206
- Recommended path for most users:
219
+ To initialize another local repository with the published alpha:
207
220
 
208
221
  ```bash
209
- git clone https://github.com/Ps-Neko/NEKOWORK.git harness
210
- cd harness
211
- npm ci
212
- node scripts/cli.js check
213
- node scripts/cli.js run "implement, verify, and prepare ship readiness" --session first-run
214
- node scripts/cli.js report --session first-run
215
- node scripts/cli.js gate status --session first-run
222
+ cd /path/to/my-project
223
+ npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
216
224
  ```
217
225
 
218
- `run` executes `work -> verify -> ship`. `report` turns the session evidence into a readable `REPORT.md`. It does not apply by default. `apply` is always explicit and requires a verified `SHIP_READY` live-work diff.
219
-
220
- To initialize another local repository from this checkout:
221
-
222
- ```bash
223
- node /path/to/harness/scripts/cli.js init --profile developer --project-root /path/to/my-project
224
- ```
225
-
226
- Advanced path:
227
-
228
- ```text
229
- ask -> plan -> team -> work -> verify -> gate -> ship -> report -> apply
230
- ```
231
-
232
- Legacy compatibility smoke:
233
-
234
- ```bash
235
- node scripts/cli.js review "check the project setup" --no-ship --session first-smoke
236
- ```
237
-
238
- The default review path uses mock providers, so it does not need API keys or provider CLIs.
239
-
240
226
  For the fuller first-run guide, see [docs/QUICKSTART.md](docs/QUICKSTART.md).
241
227
 
242
228
  For the trust and recovery model, see [Safety Guarantees](docs/SAFETY-GUARANTEES.md), [Failure Modes](docs/FAILURE-MODES.md), [Trust Model](docs/TRUST-MODEL.md), and [Why Not Autopilot](docs/WHY-NOT-AUTOPILOT.md).
@@ -249,7 +235,7 @@ npm run demo:external
249
235
 
250
236
  To inspect small case-study targets, see [examples/trading-dashboard-mock](examples/trading-dashboard-mock), [examples/github-actions-hardening](examples/github-actions-hardening), [examples/quality-lifecycle-smoke](examples/quality-lifecycle-smoke), and [docs/case-studies](docs/case-studies). They demonstrate financial UI, CI workflow, quality lifecycle, npm package, auth parser, Python protocol library, and environment configuration flows while still preserving Codex verification, Human Gate policy, and explicit apply control.
251
237
 
252
- ## What You Get
238
+ ## Output Shape
253
239
 
254
240
  ```text
255
241
  doctor ... OK
@@ -266,17 +252,14 @@ Outputs are written under:
266
252
  .harness/state/sessions/<session-id>/REPORT.md
267
253
  ```
268
254
 
269
- ## Use It In Another Project
270
-
271
- Recommended repository install shape:
255
+ ## Repository-Pinned Install
272
256
 
273
257
  ```bash
274
258
  cd <target-project>
275
259
  git submodule add https://github.com/Ps-Neko/NEKOWORK.git .harness-tool
276
260
  node .harness-tool/scripts/portability/simulate-port.js . --profile developer --verbose
277
261
  node .harness-tool/scripts/install-apply.js --profile developer --project-root .
278
- node .harness-tool/scripts/cli.js doctor --project-root . --quick
279
- node .harness-tool/scripts/cli.js plan "first NEKOWORK smoke" --project-root .
262
+ node .harness-tool/scripts/cli.js check --project-root .
280
263
  ```
281
264
 
282
265
  The HARNESS tool root stays in `.harness-tool/`. Session state, generated harness files, and git work happen in the target project root.
@@ -411,7 +394,7 @@ npm run security:hardening
411
394
  npm pack --dry-run --json
412
395
  ```
413
396
 
414
- `npm pack --dry-run --json` currently produces a package named like `ps-neko-nekowork-0.1.0-alpha.3.tgz`. It does not publish.
397
+ `npm pack --dry-run --json` currently produces a package named like `ps-neko-nekowork-0.1.0-alpha.5.tgz`. It does not publish.
415
398
 
416
399
  ## Documentation
417
400
 
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.2
4
+ version: 0.1.0-alpha.5
5
5
  description: "NEKOWORK HARNESS - Local-first multi-AI development verification runtime"
6
6
  license: MIT
7
7
  homepage: https://github.com/Ps-Neko/NEKOWORK
@@ -202,8 +202,8 @@ Builders project the catalog into tool-specific files:
202
202
 
203
203
  ## Release State
204
204
 
205
- The current release line is `0.1.0-alpha.2`:
205
+ The current repository candidate is `0.1.0-alpha.5`:
206
206
 
207
207
  - Repository and GitHub tarball release are available.
208
- - Public npm alpha is published as `@ps-neko/nekowork@alpha`.
208
+ - Public npm alpha is published as `@ps-neko/nekowork@alpha` and currently points at `0.1.0-alpha.4`.
209
209
  - Clone, submodule, and local checkout integration remain supported for repository-pinned workflows.
package/docs/AUDIT.md CHANGED
@@ -2,23 +2,23 @@
2
2
 
3
3
  Status date: 2026-05-08
4
4
 
5
- This audit summarizes the current NEKOWORK state after publishing the `0.1.0-alpha.3` public alpha. It replaces the older week-by-week scratch audit, which contained stale planning notes and encoding damage.
5
+ This audit summarizes the current NEKOWORK state after preparing the `0.1.0-alpha.5` repository candidate. The public npm alpha currently remains on `0.1.0-alpha.4`.
6
6
 
7
7
  ## Current Status
8
8
 
9
9
  | Area | Status | Notes |
10
10
  |---|---|---|
11
- | Package metadata | OK | `@ps-neko/nekowork@0.1.0-alpha.3`, `agent.yaml` uses `name: nekowork`, `runtime_name: harness` |
12
- | npm publish | OK | `@ps-neko/nekowork@alpha` points at `0.1.0-alpha.3` |
11
+ | Package metadata | OK | `@ps-neko/nekowork@0.1.0-alpha.5`, `agent.yaml` uses `name: nekowork`, `runtime_name: harness`, matching version, and `nekowork`/`harness` CLI bins |
12
+ | npm publish | WARN | `@ps-neko/nekowork@alpha` points at `0.1.0-alpha.4`; `0.1.0-alpha.5` publish failed for the current account with npm `E404` permission/not-found |
13
13
  | Source install | OK | Clone, local checkout, and submodule workflows are documented |
14
- | Public npm alpha | OK | `docs/PUBLISH-ALPHA.md` records the first alpha publish and the `0.1.0-alpha.3` alpha update |
14
+ | Public npm alpha | OK | `docs/PUBLISH-ALPHA.md` records alpha publishes through `0.1.0-alpha.4` and the pending `0.1.0-alpha.5` candidate |
15
15
  | CLI doctor/check | OK | `check`, `doctor`, `doctor --quick`, and `doctor --gemini-smoke` are available |
16
16
  | Provider auth | OK | Local delegated CLI auth is the default path |
17
17
  | Internal provider adapter | OK | `HARNESS_PROVIDER_OVERRIDE=internal` can call an explicit JSON command adapter without weakening gates |
18
18
  | Catalog | OK | 7 official packs, 11 agents, 10 skills, 5 hooks, 7 modules, 36 components, 9 profiles |
19
19
  | Multi-harness output | OK | Claude, Codex, Cursor, Gemini, and OpenCode builders are present |
20
20
  | Quick demo | OK | `npm run demo:quick` verifies the shortest no-API `doctor -> run -> report -> gate status` path |
21
- | Fresh npm alpha smoke | OK | CI runs `npx -y @ps-neko/nekowork@alpha doctor --quick --json` from a disposable directory |
21
+ | Fresh npm alpha smoke | OK | CI runs `npx -y @ps-neko/nekowork@alpha check --json` from a disposable directory |
22
22
  | Report UX | OK | `report` writes inspect-only `REPORT.md` and `report-summary.json` from session evidence |
23
23
  | External demo | OK | `npm run demo:external` verifies a disposable target project flow |
24
24
  | Third-party case studies | OK | `docs/case-studies/` records real public repository runs for npm package, auth boundary, Python protocol, and environment configuration targets |
@@ -30,7 +30,7 @@ This audit summarizes the current NEKOWORK state after publishing the `0.1.0-alp
30
30
  | Persistent wakeup | OK | `wait` resumes supported active sessions and blocks on `HUMAN_GATE` |
31
31
  | Generated docs | OK | CODEMAP output is stable ASCII and reproducible |
32
32
  | Tests | OK | Unit, integration, and e2e suites pass locally and in CI |
33
- | Release | OK | `v0.1.0-alpha.3` is tagged and published as a GitHub prerelease |
33
+ | Release | WARN | Tags and GitHub prereleases exist through `v0.1.0-alpha.4`; do not create `v0.1.0-alpha.5` until npm publish succeeds |
34
34
 
35
35
  ## Verification Gates
36
36
 
@@ -55,7 +55,7 @@ Current local result for this working tree:
55
55
  - `npm run test:unit`: covered by full `npm test`
56
56
  - `npm run validate:all`: pass
57
57
  - `npm run lint`: pass
58
- - `npm test`: 251 tests pass
58
+ - `npm test`: 253 tests pass
59
59
  - quick run demo: pass through `npm run demo:quick -- --cleanup`
60
60
  - external project e2e smoke: pass through `npm test`
61
61
  - `node scripts/sync-claude-md.js --check`: pass
@@ -63,9 +63,9 @@ Current local result for this working tree:
63
63
  - `npm audit --audit-level=moderate`: 0 vulnerabilities
64
64
  - `npm pack --dry-run --json`: pass
65
65
  - `npm publish --dry-run --access public --tag alpha`: pass
66
- - `npm publish --access public --tag alpha`: `0.1.0-alpha.3` published
67
- - `npm view @ps-neko/nekowork dist-tags version versions --json`: `alpha` points at `0.1.0-alpha.3`; `latest` remains `0.1.0-alpha.0`
68
- - `npx -y @ps-neko/nekowork@alpha check`: passed for `0.1.0-alpha.3` with WARN summary from non-git project root and Gemini auth not checked
66
+ - `npm publish --access public --tag alpha`: `0.1.0-alpha.5` failed with npm `E404` permission/not-found for the current account
67
+ - `npm view @ps-neko/nekowork dist-tags version versions --json`: `alpha` points at `0.1.0-alpha.4`; `latest` remains `0.1.0-alpha.0`
68
+ - `npx -y @ps-neko/nekowork@alpha doctor --quick`: passed for `0.1.0-alpha.4` with WARN summary from Gemini auth not checked
69
69
 
70
70
  ## Completed Work
71
71
 
@@ -93,7 +93,7 @@ Current local result for this working tree:
93
93
  - Official packs expose curated install shapes without creating a second safety model.
94
94
  - Checked-in example fixtures now cover financial UI, CI hardening, and quality lifecycle evidence flows.
95
95
  - Third-party case studies record NEKOWORK runs against `sindresorhus/is-plain-obj`, `jshttp/basic-auth`, `python-hyper/h11`, and `motdotla/dotenv`.
96
- - Public npm alpha `0.1.0-alpha.3` is published under the `alpha` dist-tag.
96
+ - Public npm alpha `0.1.0-alpha.4` is published under the `alpha` dist-tag. `0.1.0-alpha.5` remains a repository candidate until an owner account publishes it.
97
97
 
98
98
  ## Remaining Optional Work
99
99
 
@@ -20,7 +20,7 @@ Packs are public install aliases over validated profiles. They make the catalog
20
20
  5 hooks
21
21
  5 harness targets
22
22
  7 case-study flows
23
- 251 tests
23
+ 253 tests
24
24
  ```
25
25
 
26
26
  Harness targets:
package/docs/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@
7
7
  ### Added
8
8
  - No entries yet.
9
9
 
10
+ ### Changed
11
+ - No entries yet.
12
+
13
+ ## [0.1.0-alpha.5] - Candidate
14
+
15
+ ### Added
16
+ - Add release-surface version consistency coverage, bringing the suite to 253 tests.
17
+
18
+ ### Changed
19
+ - Align published alpha smoke, feedback templates, and demo docs around the beginner `check` command.
20
+ - Align `agent.yaml`, setup, porting, demo, and runbook release references with the package version.
21
+ - Document `npx @alpha init --project-root .` as the shortest target-project install path.
22
+
10
23
  ## [0.1.0-alpha.3] - 2026-05-08
11
24
 
12
25
  ### Added
@@ -51,6 +51,7 @@ tests/
51
51
  |-- team.test.js
52
52
  |-- token-vault.test.js
53
53
  |-- verify.test.js
54
+ |-- version-consistency.test.js
54
55
  |-- wait.test.js
55
56
  `-- work.test.js
56
57
  ```
@@ -99,6 +100,7 @@ tests/
99
100
  | `unit/team.test.js` | _(none)_ | |
100
101
  | `unit/token-vault.test.js` | _(none)_ | |
101
102
  | `unit/verify.test.js` | _(none)_ | |
103
+ | `unit/version-consistency.test.js` | _(none)_ | |
102
104
  | `unit/wait.test.js` | _(none)_ | |
103
105
  | `unit/work.test.js` | _(none)_ | |
104
106
 
package/docs/DEMO.md CHANGED
@@ -8,7 +8,7 @@ This demo uses mock providers. It does not call Claude, Codex, Gemini, or paid A
8
8
  npm run demo:quick -- --cleanup
9
9
  ```
10
10
 
11
- This is the shortest demo path. It creates a disposable target project, runs `doctor --quick`, runs `run = work -> verify -> ship`, generates `REPORT.md`, checks `gate status`, and removes the target when `--cleanup` is set.
11
+ This is the shortest demo path. It creates a disposable target project, runs `check`, runs `run = work -> verify -> ship`, generates `REPORT.md`, checks `gate status`, and removes the target when `--cleanup` is set.
12
12
 
13
13
  Expected shape:
14
14
 
@@ -28,7 +28,7 @@ This transcript is the README-friendly demo path. It uses mock providers, so it
28
28
  ![NEKOWORK one-minute terminal demo](assets/demo-terminal.svg)
29
29
 
30
30
  ```text
31
- $ npx -y @ps-neko/nekowork@alpha doctor --quick
31
+ $ npx -y @ps-neko/nekowork@alpha check
32
32
  NEKOWORK doctor
33
33
  STATUS CHECK MESSAGE
34
34
  PASS node Node 22+
@@ -67,7 +67,7 @@ The quick demo writes:
67
67
  npm run demo:external
68
68
  ```
69
69
 
70
- This creates a tiny disposable target project, applies the `developer` profile, runs `doctor --quick`, and writes a planning session into the target project's `.harness/` directory. See [EXAMPLE-PROJECT.md](EXAMPLE-PROJECT.md) for details.
70
+ This creates a tiny disposable target project, applies the `developer` profile, runs `check`, and writes a planning session into the target project's `.harness/` directory. See [EXAMPLE-PROJECT.md](EXAMPLE-PROJECT.md) for details.
71
71
 
72
72
  ## Command
73
73
 
@@ -143,7 +143,7 @@ project root : C:\path\to\harness
143
143
 
144
144
  STATUS CHECK MESSAGE
145
145
  PASS node Node 24.x
146
- PASS package metadata @ps-neko/nekowork@0.1.0-alpha.2; public alpha package
146
+ PASS package metadata @ps-neko/nekowork@0.1.0-alpha.4; public alpha package
147
147
  PASS git worktree project root is inside a git worktree
148
148
  WARN gemini cli installed, auth status is not checked non-interactively
149
149
 
@@ -84,7 +84,7 @@ Live mode can fail if local CLI auth is missing or expired. In that case, log in
84
84
 
85
85
  ## npm / npx Problems
86
86
 
87
- If `npx -y @ps-neko/nekowork@alpha doctor --quick` fails, capture:
87
+ If `npx -y @ps-neko/nekowork@alpha check` fails, capture:
88
88
 
89
89
  - OS and shell
90
90
  - Node and npm versions
@@ -8,7 +8,7 @@ Use it for GitHub issues filed through:
8
8
 
9
9
  - Alpha feedback
10
10
  - Bug report
11
- - Direct maintainer notes that include `doctor --quick --json`, `REPORT.md`, or install output
11
+ - Direct maintainer notes that include `check --json`, `REPORT.md`, or install output
12
12
 
13
13
  ## Triage Principles
14
14
 
@@ -22,7 +22,7 @@ Use it for GitHub issues filed through:
22
22
 
23
23
  | Class | Signals | First response |
24
24
  |---|---|---|
25
- | Install failure | `npx`, npm, Node version, package metadata, binary resolution | Ask for OS/shell, Node/npm, exact command, and `doctor --quick --json` |
25
+ | Install failure | `npx`, npm, Node version, package metadata, binary resolution | Ask for OS/shell, Node/npm, exact command, and `check --json` |
26
26
  | Auth confusion | Claude/Codex/Gemini login status, API key warning, provider CLI path | Clarify delegated CLI auth and ask whether env API keys were set intentionally |
27
27
  | Evidence confusion | Missing `REPORT.md`, unclear verdict, no `NO_SHIP`, acceptance coverage confusion | Ask for session path and report summary; link report contract |
28
28
  | Safety concern | apply, commit, push, publish, deploy, secrets, destructive changes | Confirm no automatic mutation occurred; request redacted logs and gate/ship summaries |
@@ -38,7 +38,7 @@ An issue is actionable when it includes at least three of:
38
38
  - OS and shell
39
39
  - Node and npm versions
40
40
  - exact command
41
- - redacted `doctor --quick --json`
41
+ - redacted `check --json`
42
42
  - redacted `REPORT.md` summary
43
43
  - session evidence file names, such as `verify-summary.json` or `ship-summary.json`
44
44
  - expected behavior and actual behavior
@@ -55,7 +55,7 @@ If the issue is about ship/apply safety, require:
55
55
  | Severity | Meaning | Examples |
56
56
  |---|---|---|
57
57
  | Critical | Safety invariant appears bypassed | automatic apply, publish, deploy, push, PR, or secret exposure |
58
- | High | First-run or release path is blocked for a supported setup | `npx @alpha doctor --quick` fails on supported Node/npm |
58
+ | High | First-run or release path is blocked for a supported setup | `npx @alpha check` fails on supported Node/npm |
59
59
  | Medium | Important docs or workflow confusion with a workaround | unclear report output, install docs missing platform note |
60
60
  | Low | Enhancement or polish | copy edit, new example request, extra case-study suggestion |
61
61
 
@@ -66,7 +66,7 @@ Critical and high issues should keep `ship_ready=false` until reproduced or expl
66
66
  Start with the smallest command that matches the report:
67
67
 
68
68
  ```bash
69
- npx -y @ps-neko/nekowork@alpha doctor --quick --json
69
+ npx -y @ps-neko/nekowork@alpha check --json
70
70
  ```
71
71
 
72
72
  For source checkout reports:
@@ -136,9 +136,9 @@ Next step:
136
136
 
137
137
  ## Alpha.3 Gate
138
138
 
139
- Do not publish `0.1.0-alpha.3` for feedback-only changes until:
139
+ Do not publish a new alpha for feedback-only changes until:
140
140
 
141
141
  - `@alpha` smoke remains green
142
142
  - new feedback docs or templates are covered by tests
143
143
  - any release-blocker feedback is closed or documented as unresolved
144
- - changelog entries match the intended alpha.3 contents
144
+ - changelog entries match the intended alpha contents
package/docs/PORTING.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Porting NEKOWORK Into Another Project
2
2
 
3
- NEKOWORK `0.1.0-alpha.2` is the current repository version and the published `@ps-neko/nekowork@alpha` package. Use a submodule or local checkout for repository-pinned workflows and examples.
3
+ NEKOWORK `0.1.0-alpha.5` is the current repository candidate. The published `@ps-neko/nekowork@alpha` package currently points at `0.1.0-alpha.4`. Use npm alpha for the shortest published install path, or use a submodule/local checkout for repository-pinned workflows and examples.
4
4
 
5
5
  ## Local Demo First
6
6
 
@@ -27,6 +27,16 @@ target-project/
27
27
 
28
28
  The tool root stays in `.harness-tool/`. Generated harness files, session state, and git-aware execution target the project root.
29
29
 
30
+ ## npm Alpha Install
31
+
32
+ Use this when you want the shortest target-project install path:
33
+
34
+ ```bash
35
+ cd <target-project>
36
+ npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
37
+ npx -y @ps-neko/nekowork@alpha check --project-root .
38
+ ```
39
+
30
40
  ## Submodule Install
31
41
 
32
42
  ```bash
@@ -1,15 +1,15 @@
1
1
  # Public Alpha Publish Record
2
2
 
3
- NEKOWORK `0.0.3` stays a private/local alpha. The first npm release is the public alpha `0.1.0-alpha.0`; the current public alpha is `0.1.0-alpha.3`.
3
+ NEKOWORK `0.0.3` stays a private/local alpha. The first npm release is the public alpha `0.1.0-alpha.0`; the current public alpha is `0.1.0-alpha.4`. The current repository candidate is `0.1.0-alpha.5`.
4
4
 
5
5
  Do not publish from the `0.0.3` line.
6
6
 
7
- The repository metadata has been advanced to `0.1.0-alpha.3` with `private: false`. The `0.1.0-alpha.0` publish succeeded on 2026-05-07. The `0.1.0-alpha.1` publish also succeeded on 2026-05-07. The `0.1.0-alpha.2` publish succeeded on 2026-05-08. The `0.1.0-alpha.3` publish succeeded on 2026-05-08 and moved the `alpha` dist-tag forward.
7
+ The repository metadata has been advanced to `0.1.0-alpha.5` with `private: false`. The `0.1.0-alpha.0` publish succeeded on 2026-05-07. The `0.1.0-alpha.1` publish also succeeded on 2026-05-07. The `0.1.0-alpha.2`, `0.1.0-alpha.3`, and `0.1.0-alpha.4` publishes succeeded on 2026-05-08 and moved the `alpha` dist-tag forward.
8
8
 
9
- The matching Git tag and GitHub prerelease are published as `v0.1.0-alpha.3`:
9
+ The matching Git tag and GitHub prerelease are published through `v0.1.0-alpha.4`:
10
10
 
11
11
  ```text
12
- https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.3
12
+ https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.4
13
13
  ```
14
14
 
15
15
  ## Registry State
@@ -27,14 +27,14 @@ The current alpha install path points at the release line:
27
27
 
28
28
  ```text
29
29
  npm view @ps-neko/nekowork@alpha version --json
30
- -> 0.1.0-alpha.3
30
+ -> 0.1.0-alpha.4
31
31
  ```
32
32
 
33
33
  Dist-tags:
34
34
 
35
35
  ```text
36
36
  npm view @ps-neko/nekowork dist-tags --json
37
- -> { "alpha": "0.1.0-alpha.3", "latest": "0.1.0-alpha.0" }
37
+ -> { "alpha": "0.1.0-alpha.4", "latest": "0.1.0-alpha.0" }
38
38
  ```
39
39
 
40
40
  The publish package shape has been checked:
@@ -72,11 +72,25 @@ npm publish --access public --tag alpha
72
72
  -> published 0.1.0-alpha.3
73
73
  ```
74
74
 
75
- After publish:
75
+ The fourth alpha update was also published with the same `alpha` dist-tag:
76
76
 
77
77
  ```text
78
- npm view @ps-neko/nekowork@0.1.0-alpha.3 version --json
79
- -> 0.1.0-alpha.3
78
+ npm publish --access public --tag alpha
79
+ -> published 0.1.0-alpha.4
80
+ ```
81
+
82
+ The fifth alpha candidate is prepared but not published from this checkout:
83
+
84
+ ```text
85
+ npm publish --access public --tag alpha
86
+ -> E404 Not Found - PUT https://registry.npmjs.org/@ps-neko%2fnekowork - not found or no permission for the current account
87
+ ```
88
+
89
+ Current candidate check:
90
+
91
+ ```text
92
+ npm view @ps-neko/nekowork@0.1.0-alpha.5 version --json
93
+ -> E404 Not Found
80
94
  ```
81
95
 
82
96
  `npx` smoke passed:
@@ -101,9 +115,10 @@ Published public alpha package:
101
115
 
102
116
  ```text
103
117
  name: @ps-neko/nekowork
104
- version: 0.1.0-alpha.3
118
+ published version: 0.1.0-alpha.4
119
+ repository candidate: 0.1.0-alpha.5
105
120
  dist-tag: alpha
106
- bin: harness
121
+ candidate bin: nekowork, harness
107
122
  ```
108
123
 
109
124
  The alpha tag matters. It prevents accidental default installation before the owner decides the public package should become the stable install path.
@@ -115,14 +130,14 @@ Before publishing, explicitly confirm:
115
130
  - npm scope ownership for `@ps-neko`
116
131
  - npm 2FA readiness
117
132
  - package name `@ps-neko/nekowork`
118
- - binary name `harness`
119
- - public alpha version `0.1.0-alpha.3`
133
+ - binary names `nekowork` and `harness`
134
+ - public alpha version `0.1.0-alpha.5`
120
135
  - `private` removed or set to `false`
121
136
  - publish tag is `alpha`, not `latest`
122
137
 
123
138
  ## Next Alpha Publish Checklist
124
139
 
125
- Use this checklist for `0.1.0-alpha.3` or any later alpha. Do not run it until the owner explicitly approves the publish.
140
+ Use this checklist for `0.1.0-alpha.5` or any later alpha. Do not run it until the owner explicitly approves the publish and `npm whoami` is the package owner account.
126
141
 
127
142
  1. Confirm the candidate scope in [RELEASE-READINESS.md](RELEASE-READINESS.md).
128
143
  2. Move the intended changelog entries from `Unreleased` to the new version heading.
@@ -174,7 +189,7 @@ Smoke test:
174
189
  npx -y @ps-neko/nekowork@alpha check
175
190
  ```
176
191
 
177
- If the `harness` bin cannot run correctly through `npx`, do not promote the package.
192
+ If the `nekowork` or `harness` bin cannot run correctly through `npx`, do not promote the package.
178
193
 
179
194
  ## Post-Publish Work
180
195
 
@@ -28,10 +28,11 @@ node scripts/cli.js check
28
28
 
29
29
  `check` is the beginner alias for `doctor --quick`. It checks Node.js, package metadata, git state, API key overrides, and provider CLI presence without running the slower freshness checks.
30
30
 
31
- Initialize another local repository from the source checkout:
31
+ Initialize another local repository with the published alpha:
32
32
 
33
33
  ```bash
34
- node /path/to/harness/scripts/cli.js init --profile developer --project-root /path/to/my-project
34
+ cd /path/to/my-project
35
+ npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
35
36
  ```
36
37
 
37
38
  `init` is the beginner alias for `install --apply`. It writes generated harness surfaces and install state to the target project. It does not commit, push, publish, or deploy.
@@ -2,44 +2,46 @@
2
2
 
3
3
  Status date: 2026-05-08
4
4
 
5
- NEKOWORK / HARNESS is release-ready for local use, repository-based installation, and public npm alpha installation. The repository and npm alpha are both at `0.1.0-alpha.3`.
5
+ NEKOWORK / HARNESS is release-ready for local use, repository-based installation, and public npm alpha installation. The repository candidate is `0.1.0-alpha.5`; the public npm alpha currently points at `0.1.0-alpha.4`.
6
6
 
7
7
  ## Decision
8
8
 
9
9
  - Decision: do not publish 0.0.3 to npm.
10
- - Public alpha: `0.1.0-alpha.3`, published with `--tag alpha`.
10
+ - Public alpha: `0.1.0-alpha.4`, published with `--tag alpha`.
11
11
  - `package.json` is set to `private: false` for the public alpha.
12
12
  - The canonical repo is `Ps-Neko/NEKOWORK`.
13
- - Current release track is `0.1.0-alpha.3`; npm `@alpha` points at this version.
14
- - GitHub prerelease: `v0.1.0-alpha.3`.
13
+ - Current repository candidate is `0.1.0-alpha.5`; npm `@alpha` points at `0.1.0-alpha.4`.
14
+ - GitHub prerelease: `v0.1.0-alpha.4`.
15
15
  - Required local provider auth is delegated CLI auth, not long-lived API keys.
16
16
  - Core workflow invariant is Claude work -> Codex verification -> Human Gate.
17
17
  - Risk classifier, acceptance criteria artifacts, and profile safety validation are part of the release gate.
18
18
  - Remaining optional work is stable promotion and broader adoption evidence.
19
- - Public package metadata is published as `@ps-neko/nekowork@alpha`.
19
+ - Public package metadata is published as `@ps-neko/nekowork@alpha`; the next candidate requires owner-account publish permission.
20
20
  - Dist-tag note: `latest` remains on the first alpha line; use `@alpha` until a stable release exists.
21
21
  - See [PUBLISH-ALPHA.md](PUBLISH-ALPHA.md) for the public alpha checklist.
22
22
 
23
23
  GitHub Release:
24
24
 
25
- - https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.3
25
+ - https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.4
26
26
 
27
- ## 0.1.0-alpha.3 Release Scope
27
+ ## 0.1.0-alpha.5 Release Scope
28
28
 
29
- The `0.1.0-alpha.3` release scope is first-run trust UX and documentation hardening:
29
+ The `0.1.0-alpha.5` release scope is product-name CLI ergonomics and release-surface version consistency:
30
30
 
31
- - README first screen explains unverified-change prevention, Human Gate, and explicit apply
32
- - beginner `check` and `init` CLI aliases
33
- - Safety Guarantees, Failure Modes, Trust Model, and Why Not Autopilot docs
34
- - third-party dotenv case study and alpha feedback triage docs from the post-alpha.2 line
31
+ - `nekowork` is exposed as the product-name CLI alias
32
+ - `harness` remains available as the runtime-name CLI alias
33
+ - package bin aliases are covered by unit tests
34
+ - `agent.yaml` version matches `package.json`
35
+ - version consistency is covered by unit tests
36
+ - `published-alpha-smoke` uses the beginner `check` command and public `init --dry-run` path
35
37
  - no catalog expansion unless a new surface directly strengthens verification evidence
36
38
 
37
- Release exit criteria:
39
+ Release exit criteria before tagging/publishing `0.1.0-alpha.5`:
38
40
 
39
41
  - required gates below pass locally
40
- - `published-alpha-smoke` passes in GitHub Actions
42
+ - `published-alpha-smoke` passes in GitHub Actions after npm publish
41
43
  - `npm pack --dry-run --json` contains only intended files
42
- - changelog `0.1.0-alpha.3` entries match the release contents
44
+ - changelog `0.1.0-alpha.5` entries match the release contents
43
45
  - `latest` remains documented as non-stable; install examples continue to use `@alpha`
44
46
 
45
47
  ## Required Gates
@@ -69,26 +71,28 @@ Current local verification after the decomposed workflow expansion:
69
71
  - `npm run lint`: pass
70
72
  - `node scripts/sync-claude-md.js --check`: pass
71
73
  - `node scripts/build-codemaps.js --check`: pass
72
- - `npm test`: 251 tests pass
74
+ - `npm test`: 253 tests pass
73
75
  - `npm run demo:quick -- --cleanup`: pass
74
76
  - `npm audit --audit-level=moderate`: 0 vulnerabilities
75
77
  - `npm pack --dry-run --json`: pass
76
78
  - `npm publish --dry-run --access public --tag alpha`: pass
77
- - `npm publish --access public --tag alpha`: `0.1.0-alpha.3` published
78
- - `npm view @ps-neko/nekowork dist-tags version versions --json`: `alpha` points at `0.1.0-alpha.3`; `latest` remains `0.1.0-alpha.0`
79
- - `npx -y @ps-neko/nekowork@alpha check`: passed for `0.1.0-alpha.3` with WARN summary from non-git project root and Gemini auth not checked
80
- - GitHub Actions `published-alpha-smoke`: validates the fresh `npx @alpha` path against the published package
79
+ - `npm publish --access public --tag alpha`: `0.1.0-alpha.5` failed with npm `E404` permission/not-found for the current account
80
+ - `npm view @ps-neko/nekowork dist-tags version versions --json`: `alpha` points at `0.1.0-alpha.4`; `latest` remains `0.1.0-alpha.0`
81
+ - `npx -y @ps-neko/nekowork@alpha doctor --quick`: passed for `0.1.0-alpha.4` with WARN summary from Gemini auth not checked
82
+ - GitHub Actions `published-alpha-smoke`: validates the public `npx @alpha` path against the currently published package
81
83
 
82
84
  ## Install Smoke
83
85
 
84
86
  For the default developer profile:
85
87
 
86
88
  ```bash
89
+ npx -y @ps-neko/nekowork@alpha init --profile developer --project-root <target>
90
+ npx -y @ps-neko/nekowork@alpha check --project-root <target>
87
91
  node scripts/install-plan.js --list --json
88
92
  node scripts/install-plan.js --pack quality --json
89
93
  node scripts/install-plan.js --profile developer --json
90
94
  node scripts/portability/simulate-port.js <target> --profile developer --json
91
- node scripts/install-apply.js --profile developer --project-root <target>
95
+ node scripts/cli.js init --profile developer --project-root <target>
92
96
  node scripts/cli.js plan "release readiness smoke" --project-root <target>
93
97
  node scripts/cli.js run "release readiness decomposed smoke" --project-root <target> --session release-run-smoke
94
98
  ```
@@ -156,10 +160,10 @@ Expected target outputs:
156
160
 
157
161
  ## Public npm Checklist
158
162
 
159
- Already completed for `0.1.0-alpha.3`. Repeat this checklist for the next public alpha:
163
+ Pending for `0.1.0-alpha.5`. Repeat this checklist when the owner account is ready to publish:
160
164
 
161
165
  1. Confirm the npm package name is still `@ps-neko/nekowork`.
162
- 2. Confirm the `harness` binary is still intentional.
166
+ 2. Confirm the `nekowork` and `harness` binaries are still intentional.
163
167
  3. Bump `package.json` to the next public alpha version only when publish is approved.
164
168
  4. Run the required gates above.
165
169
  5. Inspect `npm pack --dry-run --json` and confirm only intended files are included.
package/docs/ROADMAP.md CHANGED
@@ -4,21 +4,34 @@ Status date: 2026-05-08
4
4
 
5
5
  This roadmap is intentionally small. NEKOWORK should improve the evidence surface before expanding the agent catalog.
6
6
 
7
- ## 0.1.0-alpha.2
7
+ ## 0.1.0-alpha.3
8
8
 
9
9
  Status: released.
10
10
 
11
11
  Goal: make the published package and first-run story easier to trust from the outside.
12
12
 
13
- Planned scope:
13
+ Released scope:
14
14
 
15
- - Keep fresh `npx @ps-neko/nekowork@alpha doctor --quick` smoke coverage in CI.
15
+ - Keep fresh `npx @ps-neko/nekowork@alpha check` smoke coverage in CI.
16
16
  - Keep the generated terminal SVG for the one-minute demo path.
17
17
  - Keep README focused on evidence, report output, Human Gate, and explicit apply.
18
- - Keep the external feedback path for alpha users to paste `doctor --quick --json` and `REPORT.md` summaries.
18
+ - Keep the external feedback path for alpha users to paste `check --json` and `REPORT.md` summaries.
19
19
  - Preserve the current catalog size unless a new agent, skill, hook, or pack directly strengthens verification evidence.
20
20
 
21
- ## 0.1.0-alpha.3 Candidate
21
+ ## 0.1.0-alpha.5
22
+
23
+ Status: released.
24
+
25
+ Goal: keep first-run install evidence internally consistent.
26
+
27
+ Released scope:
28
+
29
+ - Keep `agent.yaml` and `package.json` versions aligned.
30
+ - Cover release-surface version consistency with a unit test.
31
+ - Make `npx @alpha init --project-root .` the shortest documented target-project install path.
32
+ - Keep `@alpha check` smoke evidence green across local and GitHub Actions gates.
33
+
34
+ ## 0.1.0-alpha.5 Candidate
22
35
 
23
36
  Goal: gather external feedback and keep the release path boring.
24
37
 
package/docs/RUNBOOK.md CHANGED
@@ -47,9 +47,16 @@ The validator runs through `npm run lint`.
47
47
 
48
48
  Use a temporary target project:
49
49
 
50
+ ```bash
51
+ npx -y @ps-neko/nekowork@alpha init --profile developer --project-root <target>
52
+ npx -y @ps-neko/nekowork@alpha check --project-root <target>
53
+ ```
54
+
55
+ For repository-pinned source checkout testing:
56
+
50
57
  ```bash
51
58
  node scripts/portability/simulate-port.js <target> --profile developer --verbose
52
- node scripts/install-apply.js --profile developer --project-root <target>
59
+ node scripts/cli.js init --profile developer --project-root <target>
53
60
  node scripts/cli.js doctor --project-root <target> --quick
54
61
  node scripts/cli.js plan "release smoke" --project-root <target> --session release-smoke
55
62
  node scripts/cli.js run "release decomposed smoke" --project-root <target> --session release-run-smoke
@@ -86,13 +93,13 @@ npm pack --dry-run --json
86
93
  Do not run this checklist unless public publish is explicitly approved.
87
94
 
88
95
  1. Confirm `package.json#name` is `@ps-neko/nekowork`.
89
- 2. Confirm the `harness` binary name is still intentional.
96
+ 2. Confirm the `nekowork` and `harness` binary names are still intentional.
90
97
  3. Run all release gates.
91
98
  4. Inspect `npm pack --dry-run --json`.
92
99
  5. Confirm npm identity with `npm whoami`.
93
100
  6. Confirm account 2FA readiness.
94
101
  7. Confirm `private: false`.
95
- 8. Confirm the public alpha version, for example `0.1.0-alpha.2`.
102
+ 8. Confirm the public alpha version, for example `0.1.0-alpha.5`.
96
103
  9. Run `npm publish --access public --tag alpha`.
97
104
  10. Update README, Quickstart, Changelog, and release notes from "future npm path" to "published npm path".
98
105
 
package/docs/SETUP.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Start with [QUICKSTART.md](QUICKSTART.md) if this is your first run. This page is the deeper contributor setup guide.
4
4
 
5
- NEKOWORK `0.1.0-alpha.2` is the current repository version and the published `@ps-neko/nekowork@alpha` package. Use a source checkout, submodule, or local repository integration when you need examples, tests, or repository-pinned workflows.
5
+ NEKOWORK `0.1.0-alpha.5` is the current repository candidate. The published `@ps-neko/nekowork@alpha` package currently points at `0.1.0-alpha.4`. Use npm alpha for the shortest first-run path, or use a source checkout, submodule, or local repository integration when you need examples, tests, or repository-pinned workflows.
6
6
 
7
7
  ## Requirements
8
8
 
@@ -21,11 +21,11 @@
21
21
  <text x="480" y="62" text-anchor="middle" font-family="Consolas, Menlo, monospace" font-size="13" fill="#c8d2dc">NEKOWORK alpha smoke</text>
22
22
  </g>
23
23
  <g font-family="Consolas, Menlo, monospace" font-size="18">
24
- <text x="72" y="114" fill="#7ee787">$ npx -y @ps-neko/nekowork@alpha doctor --quick</text>
24
+ <text x="72" y="114" fill="#7ee787">$ npx -y @ps-neko/nekowork@alpha check</text>
25
25
  <text x="72" y="147" fill="#d7e3ec">NEKOWORK doctor</text>
26
26
  <text x="72" y="179" fill="#8fb3c8">STATUS CHECK MESSAGE</text>
27
27
  <text x="72" y="211" fill="#9be9a8">PASS node Node 22+</text>
28
- <text x="72" y="243" fill="#9be9a8">PASS package metadata @ps-neko/nekowork@0.1.0-alpha.2</text>
28
+ <text x="72" y="243" fill="#9be9a8">PASS package metadata @ps-neko/nekowork@0.1.0-alpha.4</text>
29
29
  <text x="72" y="275" fill="#9be9a8">PASS api key env no delegated-provider API key overrides</text>
30
30
  <text x="72" y="307" fill="#ffd166">WARN gemini cli auth status is not checked non-interactively</text>
31
31
  <text x="72" y="339" fill="#d7e3ec">summary: WARN (5 pass, 2 warn, 0 fail)</text>
@@ -0,0 +1,142 @@
1
+ # Dev-log — 2026-04-29 P1 회수 세션
2
+
3
+ > Week 1~4 마감 후 AUDIT 의 P1 항목 + 일부 P2 를 한 세션 (4 시간) 안에 회수.
4
+ > 본 문서는 사후 기록. 의사결정·발견된 이슈·다음 후속을 정리한다.
5
+
6
+ ## 1. 진입 상황
7
+
8
+ `docs/AUDIT.md` (2026-04-29 작성 시점) 기준 부채:
9
+
10
+ - 빈 디렉터리 6개: `docs/CODEMAPS/`, `rules/{common,typescript,python}/`, `tests/{integration,e2e}/`
11
+ - 미구현 스크립트 9개: `validate-{agents,skills,hooks,manifests}.js`, `build-{cursor,gemini,opencode}.js`, `sync-claude-md.js`, `repair.js`
12
+ - stub 메시지 흔적: `cli.js` / `mcp-server.js` / `pre-bash-dispatcher.js` / `daemon/wait.js` / `orchestrators/ralph.js` / `ci/catalog.js` 의 "Day N" 잔존
13
+ - `install-apply` 의 `source_sha256: "0".repeat(64)` placeholder
14
+ - ARCHITECTURE.md 가 stub (50줄, 18절 매핑만)
15
+
16
+ ## 2. 처리 순서 (실행 순)
17
+
18
+ | # | 항목 | 산출 | 시간(추정) |
19
+ |---|---|---|---|
20
+ | 1 | `scripts/sync-claude-md.js` | 마커 자동 갱신 + version 주입 + dry-run/check | 30분 |
21
+ | 2 | `scripts/repair.js` | install-state sha256 비교 + 변경분 재빌드 | 30분 |
22
+ | 3 | `scripts/build-{cursor,gemini,opencode}.js` | 3 빌더, 각 80~150줄 | 60분 |
23
+ | 4 | `scripts/ci/validate-{agents,skills,hooks,manifests}.js` | ajv + frontmatter + 그래프 무결성 | 30분 |
24
+ | 5 | `rules/{common,typescript,python}/` 콘텐츠 | 8 파일 (common 3 + ts 3 + py 2) | 60분 |
25
+ | 6 | `docs/ARCHITECTURE.md` 18절 본문 | 528줄, ASCII 다이어그램 + 8계층 + 라우팅 + Codex Loop + 12-item Bar | 60~90분 |
26
+ | 7 | stub 메시지 정리 | 6 파일에서 "Day N" 흔적 제거. `package.json` lint/test 실 매핑 | 10분 |
27
+ | 8 | `install-apply` sha256 실값화 | `sha256OfDir` + `sha256OfCatalog` 추가 | 20분 |
28
+ | 9 | `scripts/build-codemaps.js` (보너스) | 디렉터리 트리 + export 추출. 9 영역 자동 산출 | 60분 |
29
+ | 10 | `tests/integration/build-pipeline.test.js` | 격리 sandbox + 풀체인 10 케이스 | 60분 |
30
+ | 11 | `tests/e2e/review-cycle.test.js` | demo-review 시뮬 7 케이스 + CLI 검증 | 60~90분 |
31
+ | 12 | AUDIT 갱신 + dev-log 추가 | 본 문서 + AUDIT §1~5, §7, §8 갱신 | 30분 |
32
+
33
+ ## 3. 이번 세션의 의사결정
34
+
35
+ ### 3.1 "## 자동 갱신 영역" 헤딩과 마커 위치
36
+
37
+ 처음 sync-claude-md 실행 시 기존 CLAUDE.md 의 `## 빌드 후 확인` 블록이 마커 바깥(원본 상태)에 있던 것을 인지 못 하고 자동 영역에도 똑같이 생성 → 중복.
38
+
39
+ **결정**: 자동 영역에서 `## 빌드 후 확인` 빼고, 사용자 작성 영역으로 유지. 사유: 빌드 후 확인 명령은 카탈로그가 바뀌어도 안 바뀌는 정적 가이드. 자동 갱신 대상 아님.
40
+
41
+ ### 3.2 install-apply 의 5 빌더 일괄 실행
42
+
43
+ 기존 `install-apply.js` 는 `['claude', 'codex']` 하드코딩. 새 빌더 3개를 추가했지만 install 흐름이 안 잡으면 의미 없음.
44
+
45
+ **결정**: `agent.yaml.harnesses[].name` 을 그대로 사용. 매니페스트 단일 진실 원본 원칙과 일치.
46
+
47
+ ### 3.3 sha256 의 의미 분리
48
+
49
+ 스키마는 `source_sha256` 과 `targets[].sha256` 둘 다 정의. 둘의 의미가 다름.
50
+
51
+ **결정**:
52
+ - `source_sha256` = 카탈로그 입력 전체의 단일 해시 (`agent.yaml + agents/ + skills/ + commands/ + hooks/ + manifests/`). 모든 빌더에 동일.
53
+ - `targets[].sha256` = 출력 디렉터리 (`.claude/`, `.codex/`, ...) 의 해시. 빌더별로 다름.
54
+
55
+ repair 는 `targets[].sha256` 만 비교 (출력 변조 / 누락 검출).
56
+
57
+ ### 3.4 e2e 테스트의 "auth 자동 활성"
58
+
59
+ `demo-review.js` 는 `isAuthChange = true` 하드코딩. 따라서 항상 codex-challenge 활성.
60
+
61
+ **결정**: 회귀 안전성을 위해 본 동작을 명시 검증하는 케이스를 추가. 사양 변경(`isAuthChange` 가 진짜 path 검사로 바뀌면) 시 본 테스트가 알람.
62
+
63
+ ### 3.5 codemaps 의 보너스 추가
64
+
65
+ 원래 P2 였지만 build-codemaps 가 build-{claude,codex,...} 패턴과 동질 → 같은 세션 안에 끼워 넣음. 별도 npm 스크립트 (`npm run build:codemaps`) 만 추가, install 흐름엔 안 묶음 (선택적).
66
+
67
+ ## 4. 발견된 마찰
68
+
69
+ | 마찰 | 회수 방안 |
70
+ |---|---|
71
+ | sandbox 카피 시 `node_modules` symlink 권한 부족 가능 (Windows) | 폴백으로 cp. 첫 실행 느림 (~5초) — 수용. |
72
+ | `node --test tests/unit/` 디렉터리 호출 | 글로브 명시 (`tests/unit/*.test.js`) 로 우회. `npm test` 가 표준 진입점이 됨. |
73
+ | `read-only` 가 sandbox 영역인지 헷갈림 | agent frontmatter 의 `sandbox: read-only` 와 OS sandbox 는 별개. CLAUDE.md 에 주석 추가 필요 (다음 세션). |
74
+
75
+ ## 5. 검증
76
+
77
+ ```
78
+ node --test tests/unit/*.test.js tests/integration/*.test.js tests/e2e/*.test.js
79
+ → 73/73 PASS, duration ~3.4 s
80
+
81
+ npm run lint
82
+ → catalog + validate:all 모두 통과 (경고 4건은 사실, 오류 0)
83
+
84
+ node scripts/repair.js --check
85
+ → 모든 하네스 정합
86
+
87
+ node scripts/sync-claude-md.js --check
88
+ → CLAUDE.md 자동 영역 동기화 OK
89
+
90
+ node scripts/build-codemaps.js --check
91
+ → 모든 codemap 최신 상태
92
+ ```
93
+
94
+ ## 6. 다음 세션 진입 후보
95
+
96
+ `docs/AUDIT.md §5` 갱신본 참조. 요약:
97
+
98
+ - **P0** (사용자 동의 필요): Anthropic SDK live 1회, GitHub push, 사내 PoC 결합.
99
+ - **P2** (외부 의존): Rust 컴파일, Codex/Gemini CLI live 검증, GitHub Actions 실 동작.
100
+ - **P3** (사내 임팩트): 사용자 명시 사내 프로젝트에 풀 결합.
101
+
102
+ ## 7. 산출 파일 목록
103
+
104
+ ```
105
+ 신규
106
+ scripts/sync-claude-md.js
107
+ scripts/repair.js
108
+ scripts/build-cursor.js
109
+ scripts/build-gemini.js
110
+ scripts/build-opencode.js
111
+ scripts/build-codemaps.js
112
+ scripts/ci/validate-agents.js
113
+ scripts/ci/validate-skills.js
114
+ scripts/ci/validate-hooks.js
115
+ scripts/ci/validate-manifests.js
116
+ rules/common/coding-style.md
117
+ rules/common/testing.md
118
+ rules/common/security.md
119
+ rules/typescript/coding-style.md
120
+ rules/typescript/testing.md
121
+ rules/typescript/security.md
122
+ rules/python/coding-style.md
123
+ rules/python/testing.md
124
+ tests/integration/build-pipeline.test.js
125
+ tests/e2e/review-cycle.test.js
126
+ docs/CODEMAPS/{README,scripts,agents,skills,hooks,manifests,schemas,bridge,rules,tests}.md
127
+ docs/dev-log/2026-04-29-p1-recovery.md ← 본 문서
128
+
129
+ 수정
130
+ scripts/install-apply.js (5 빌더 + sha256 실값)
131
+ scripts/cli.js (Day N 메시지 정리)
132
+ scripts/ci/catalog.js (Day 2/3 흔적)
133
+ scripts/daemon/wait.js (Day 8/9 흔적)
134
+ scripts/orchestrators/ralph.js (Day 9 흔적)
135
+ bridge/mcp-server.js (Day 4/5 흔적)
136
+ hooks/scripts/pre-bash-dispatcher.js (Day 3/5 흔적)
137
+ package.json (lint/test 실 매핑 + test:* 분리 + build:codemaps)
138
+ CLAUDE.md (자동 영역 마커 정합 + 컨텐츠 갱신)
139
+ .claude/CLAUDE.md (동일)
140
+ docs/ARCHITECTURE.md (stub 50줄 → 풀 528줄)
141
+ docs/AUDIT.md (P1 회수 반영)
142
+ ```
@@ -0,0 +1,81 @@
1
+ # WORKING-CONTEXT
2
+
3
+ > 현재 스프린트의 액티브 메모리. 스프린트가 끝나면 archive 또는 docs 로 옮긴다. CHANGELOG 가 아니라 working memory.
4
+ > Last updated: 2026-04-29
5
+
6
+ ## Purpose
7
+
8
+ 차세대 통합 AI 개발 에이전트 하네스 HARNESS 의 부트스트랩. ECC + OMC + claude-led-codex-review 의 통합 설계를 코드로 옮긴다.
9
+
10
+ ## Current Truth
11
+
12
+ - Day 1 진행 중. 위치: `D:\claude\harness\`.
13
+ - 인접 사내 프로젝트는 다루지 않는다 (사용자 룰).
14
+ - 기술 스택: Node 22 + TypeScript strict, 추후 Rust(runtime/) TUI.
15
+ - 한국어 응답 강제. 사용자 글로벌 룰 우선.
16
+
17
+ ## Current Constraints
18
+
19
+ - 4시간 풀 사이클로 Day 1 완료 목표.
20
+ - MVP 카탈로그: 11 agents, 5 skills, 4 hooks, 6 modules.
21
+ - 184 스킬 풀 카탈로그 채택 안 함 (progressive 확장).
22
+ - tmux 기반 team 런타임은 Q2 (Windows 환경 마찰).
23
+
24
+ ## Active Queues
25
+
26
+ ### In Progress
27
+ - Day 1: 골격 + 거버넌스 + 매니페스트 + 스키마 + plan stub.
28
+
29
+ ### Next
30
+ - Day 2: agents/ 11 frontmatter, skills/claude-led-codex-review/SKILL.md, codex-reviewer 페르소나.
31
+ - Day 3: hooks/hooks.json + 4훅 stub, scripts/build-claude.js.
32
+ - Day 4: bridge/mcp-server.cjs 최소 4도구.
33
+ - Day 5: gateguard-fact-force + quality-gate 실 구현.
34
+
35
+ ## Open PR Classification
36
+
37
+ (없음 — Day 1)
38
+
39
+ ## Interfaces
40
+
41
+ - CLI: `harness <verb> <args>`
42
+ - MCP: `mcp__harness__<tool>` (단일 게이트웨이)
43
+ - Hooks: PreToolUse / PostToolUse / PreCompact / Stop / UserPromptSubmit / SessionStart
44
+
45
+ ## Update Rule
46
+
47
+ 이 파일은 **현재 스프린트만** 디테일하게 유지한다. 끝난 작업은 `docs/CHANGELOG.md` 로 옮긴다. 1주 이상 갱신 안 되면 archive 후보.
48
+
49
+ ## Latest Execution Notes
50
+
51
+ - 2026-04-29 **Week 1 풀 진행 완료**.
52
+ - Day 1: 골격 + 거버넌스 6 + agent.yaml + manifests + schemas 10 + install plan stub.
53
+ - Day 2: agents 11 + skills 5 + commands 1 (catalog warnings 0).
54
+ - Day 3: hooks 5 + build-claude (22 components) + build-codex (config.toml + TOML agents).
55
+ - Day 4: MCP gateway (4도구, smoke PASS) + install-apply 풀체인.
56
+ - Day 5: gateguard 실 (importer/exports 정적 추출 + 답변 강제), quality-gate 실 (tsc/ruff 차단), demo-review 7단계 풀사이클 검증.
57
+ - 통계: 66 파일, 6,765 LOC. 137 packages 의존성.
58
+ - 2026-04-29 **Day 6 완료**.
59
+ - 4 provider runner (mock/claude/codex/gemini) + dispatch + 7단계 orchestrator + cli wiring.
60
+ - mock 디폴트 (API 키 / Codex CLI 미보유 환경에서도 동작), --live 옵션으로 실 호출.
61
+ - sensitive path 자동 감지 (auth/crypto/payment/jwt 등) → 단계 6 자동 활성.
62
+ - round 한도 + critical 발견 → HUMAN_GATE 자동.
63
+ - node --test 5/5 PASS. harness review CLI 데모 OK.
64
+ - 2026-04-29 **Week 2 완료**.
65
+ - Day 7: lib/{severity,router,costs}.js + MCP 3 신규 도구 (severity_classify, route_decide, cost_record) + harness costs CLI + routing.jsonl 자동 적층.
66
+ - Day 8: skills/ralph/SKILL.md + scripts/orchestrators/ralph.js (PRD AC 누적 PASS) + scripts/daemon/wait.js (start/stop/status). 명시 옵트인만 (자동 키워드 활성 OFF).
67
+ - Day 9-10: .github/workflows/{harness-review,harness-validate}.yml + docs/PORTING.md (사내 PoC 이식 가이드).
68
+ - 단위 테스트 24/24 PASS. 83 파일. 풀체인 동작 (review / ralph / costs / sessions / wait).
69
+ - 2026-04-29 **Week 3 완료 (Day 11~15)**.
70
+ - Day 11: instincts 시스템 (record/list/promote/prune) + orchestrator 자동 누적 + CLI + 11/11 테스트.
71
+ - Day 12: simulate-port.js + 5/5 테스트 (외부 디렉터리 인용 제거).
72
+ - Day 13: claude/codex extractJson + buildPrompt export + 12/12 테스트.
73
+ - Day 14-15: CHANGELOG Week 3, WORKING-CONTEXT 갱신, 최종 회귀.
74
+ - 누적: 4 커밋, ~92 파일, ~10,500 LOC, 단위 테스트 52/52 PASS.
75
+ - 2026-04-29 **Week 4 완료 (Day 16~20)**.
76
+ - Day 16: instincts.ready() + CLI + 4 신규 단위 테스트 (15/15 PASS).
77
+ - Day 17-18: Rust runtime 골격 — Cargo.toml + 5 .rs 파일 (529 LOC, 컴파일은 rustup 설치 후).
78
+ - Day 19: 사용자 D 선택 — 외부 환경 변경 보류, AUDIT 집중.
79
+ - Day 20: docs/AUDIT.md — Week 1~4 통합 검토 (18절 매핑, 8계층 매핑, 빠진 항목 / 부채 / P0~P3 우선순위).
80
+ - 누적: 5 커밋 예정, ~100 파일, ~12,000 LOC, 단위 테스트 56/56 PASS.
81
+ - **세션 종료**. 다음 세션 P0: 실 LLM 호출 / PoC 결합 / GitHub push (사용자 명시 동의 시).
@@ -16,22 +16,22 @@ jobs:
16
16
  with:
17
17
  node-version: '22'
18
18
 
19
- - name: Fresh npx alpha doctor smoke
19
+ - name: Fresh npx alpha check smoke
20
20
  shell: bash
21
21
  run: |
22
22
  set -euo pipefail
23
23
  workdir="$RUNNER_TEMP/nekowork-alpha-smoke"
24
24
  mkdir -p "$workdir"
25
25
  cd "$workdir"
26
- npx -y @ps-neko/nekowork@alpha doctor --quick --json > doctor.json
26
+ npx -y @ps-neko/nekowork@alpha check --json > check.json
27
27
  node <<'NODE'
28
28
  const { execSync } = require('node:child_process');
29
29
  const fs = require('node:fs');
30
- const report = JSON.parse(fs.readFileSync('doctor.json', 'utf8'));
30
+ const report = JSON.parse(fs.readFileSync('check.json', 'utf8'));
31
31
  const expectedVersion = JSON.parse(execSync('npm view @ps-neko/nekowork@alpha version --json', { encoding: 'utf8' }));
32
32
  const metadata = report.checks.find((check) => check.name === 'package metadata');
33
33
  if (report.summary.fail !== 0) {
34
- throw new Error(`doctor reported ${report.summary.fail} failure(s)`);
34
+ throw new Error(`check reported ${report.summary.fail} failure(s)`);
35
35
  }
36
36
  if (!metadata || !metadata.message.includes(`@ps-neko/nekowork@${expectedVersion}`)) {
37
37
  throw new Error(`unexpected package metadata: ${metadata?.message || '<missing>'}`);
@@ -39,6 +39,23 @@ jobs:
39
39
  console.log(`published alpha smoke: ${metadata.message}`);
40
40
  NODE
41
41
 
42
+ - name: Fresh npx alpha init smoke
43
+ shell: bash
44
+ run: |
45
+ set -euo pipefail
46
+ workdir="$RUNNER_TEMP/nekowork-alpha-init-smoke"
47
+ mkdir -p "$workdir"
48
+ cd "$workdir"
49
+ git init -q
50
+ expected_version="$(npm view @ps-neko/nekowork@alpha version --json | node -p "JSON.parse(require('node:fs').readFileSync(0, 'utf8'))")"
51
+ npx -y @ps-neko/nekowork@alpha init --profile developer --project-root . --dry-run > init.txt
52
+ if ! grep -Fq "HARNESS install --plan (v${expected_version})" init.txt; then
53
+ echo "expected init plan version: v${expected_version}"
54
+ cat init.txt
55
+ exit 1
56
+ fi
57
+ echo "published alpha init smoke: v${expected_version}"
58
+
42
59
  validate:
43
60
  runs-on: ubuntu-latest
44
61
  timeout-minutes: 10
package/package.json CHANGED
@@ -1,14 +1,20 @@
1
1
  {
2
2
  "name": "@ps-neko/nekowork",
3
- "version": "0.1.0-alpha.3",
4
- "description": "Local-first AI development harness for Claude Code, Codex CLI, and Gemini CLI",
3
+ "version": "0.1.0-alpha.5",
4
+ "description": "Local-first AI development quality runtime that verifies, gates, and explicitly applies AI coding changes",
5
5
  "keywords": [
6
6
  "claude",
7
7
  "claude-code",
8
8
  "codex",
9
9
  "ai-agent",
10
+ "ai-code-review",
11
+ "ai-safety",
10
12
  "code-review",
13
+ "human-gate",
14
+ "local-first",
11
15
  "second-opinion",
16
+ "ship-readiness",
17
+ "verification",
12
18
  "mcp",
13
19
  "harness",
14
20
  "multi-agent"
@@ -24,7 +30,8 @@
24
30
  "node": ">=22.0.0"
25
31
  },
26
32
  "bin": {
27
- "harness": "scripts/cli.js"
33
+ "harness": "scripts/cli.js",
34
+ "nekowork": "scripts/cli.js"
28
35
  },
29
36
  "files": [
30
37
  "agent.yaml",