@ps-neko/nekowork 0.1.0-alpha.4 → 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 +1 -1
- package/README.md +32 -59
- package/agent.yaml +1 -1
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/AUDIT.md +9 -9
- package/docs/CATALOG-PACKS.md +1 -1
- package/docs/CHANGELOG.md +2 -2
- package/docs/PORTING.md +1 -1
- package/docs/PUBLISH-ALPHA.md +20 -12
- package/docs/RELEASE-READINESS.md +18 -16
- package/docs/ROADMAP.md +1 -1
- package/docs/RUNBOOK.md +2 -2
- package/docs/SETUP.md +1 -1
- package/docs/dev-log/2026-04-29-p1-recovery.md +142 -0
- package/docs/dev-log/2026-04-29-week1-4.md +81 -0
- package/docs/workflows-stash/harness-validate.yml +17 -0
- package/package.json +10 -3
package/CLAUDE.md
CHANGED
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 /
|
|
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
|

|
|
@@ -107,6 +109,22 @@ Decision:
|
|
|
107
109
|
|
|
108
110
|
Human Gate is the point where NEKOWORK stops being an autopilot and becomes an approval system.
|
|
109
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
|
+
|
|
110
128
|
## Compared With Agent Packs
|
|
111
129
|
|
|
112
130
|
| Tool pattern | Optimizes for | NEKOWORK optimizes for |
|
|
@@ -126,6 +144,8 @@ Human Gate is the point where NEKOWORK stops being an autopilot and becomes an a
|
|
|
126
144
|
| Run autonomous multi-agent execution | OMC |
|
|
127
145
|
| Verify AI changes, require human approval, then apply explicitly | NEKOWORK |
|
|
128
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
|
+
|
|
129
149
|
## Three Paths
|
|
130
150
|
|
|
131
151
|
Most users should start with the Beginner path. The other paths are for explicit phase control or legacy compatibility.
|
|
@@ -140,9 +160,11 @@ NEKOWORK is for teams that want AI-assisted development without making the agent
|
|
|
140
160
|
|
|
141
161
|
## Status
|
|
142
162
|
|
|
143
|
-
- Current repository version: `0.1.0-alpha.
|
|
163
|
+
- Current repository version: `0.1.0-alpha.5`
|
|
144
164
|
- Current package name: `@ps-neko/nekowork`
|
|
165
|
+
- Published CLI name: `harness`; repository candidate also exposes `nekowork`
|
|
145
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
|
|
146
168
|
- Supported install path today: npm alpha, clone, submodule, or local repository integration
|
|
147
169
|
- Dist-tag note: use `@alpha` until a stable release; `latest` still points at the first alpha line
|
|
148
170
|
- Default mode: mock providers, no API keys, no provider CLI calls
|
|
@@ -150,7 +172,7 @@ NEKOWORK is for teams that want AI-assisted development without making the agent
|
|
|
150
172
|
Current local verification:
|
|
151
173
|
|
|
152
174
|
- `npm run lint`: pass
|
|
153
|
-
- `npm test`:
|
|
175
|
+
- `npm test`: 253 tests pass
|
|
154
176
|
- `npm audit --audit-level=moderate`: 0 vulnerabilities
|
|
155
177
|
- `npm pack --dry-run --json`: pass
|
|
156
178
|
- `npx -y @ps-neko/nekowork@alpha check`: pass with warnings only
|
|
@@ -179,21 +201,11 @@ Current local verification:
|
|
|
179
201
|
| `release` | ship/no-ship evidence | pre-release checks |
|
|
180
202
|
| `enterprise` | full catalog with all gates | high-control teams |
|
|
181
203
|
|
|
182
|
-
## Quick Start
|
|
183
|
-
|
|
184
|
-
Requirements:
|
|
204
|
+
## Quick Start Details
|
|
185
205
|
|
|
186
|
-
|
|
187
|
-
- npm
|
|
188
|
-
- git
|
|
206
|
+
Requirements: Node.js 22+, npm, and git.
|
|
189
207
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
npx -y @ps-neko/nekowork@alpha check
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Repository demo:
|
|
208
|
+
For a repository-pinned local demo:
|
|
197
209
|
|
|
198
210
|
```bash
|
|
199
211
|
git clone https://github.com/Ps-Neko/NEKOWORK.git harness
|
|
@@ -204,20 +216,6 @@ npm run demo:quick -- --cleanup
|
|
|
204
216
|
|
|
205
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.
|
|
206
218
|
|
|
207
|
-
Recommended path for most users:
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
git clone https://github.com/Ps-Neko/NEKOWORK.git harness
|
|
211
|
-
cd harness
|
|
212
|
-
npm ci
|
|
213
|
-
node scripts/cli.js check
|
|
214
|
-
node scripts/cli.js run "implement, verify, and prepare ship readiness" --session first-run
|
|
215
|
-
node scripts/cli.js report --session first-run
|
|
216
|
-
node scripts/cli.js gate status --session first-run
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
`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.
|
|
220
|
-
|
|
221
219
|
To initialize another local repository with the published alpha:
|
|
222
220
|
|
|
223
221
|
```bash
|
|
@@ -225,20 +223,6 @@ cd /path/to/my-project
|
|
|
225
223
|
npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
|
|
226
224
|
```
|
|
227
225
|
|
|
228
|
-
Advanced path:
|
|
229
|
-
|
|
230
|
-
```text
|
|
231
|
-
ask -> plan -> team -> work -> verify -> gate -> ship -> report -> apply
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
Legacy compatibility smoke:
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
node scripts/cli.js review "check the project setup" --no-ship --session first-smoke
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
The default review path uses mock providers, so it does not need API keys or provider CLIs.
|
|
241
|
-
|
|
242
226
|
For the fuller first-run guide, see [docs/QUICKSTART.md](docs/QUICKSTART.md).
|
|
243
227
|
|
|
244
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).
|
|
@@ -251,7 +235,7 @@ npm run demo:external
|
|
|
251
235
|
|
|
252
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.
|
|
253
237
|
|
|
254
|
-
##
|
|
238
|
+
## Output Shape
|
|
255
239
|
|
|
256
240
|
```text
|
|
257
241
|
doctor ... OK
|
|
@@ -268,25 +252,14 @@ Outputs are written under:
|
|
|
268
252
|
.harness/state/sessions/<session-id>/REPORT.md
|
|
269
253
|
```
|
|
270
254
|
|
|
271
|
-
##
|
|
272
|
-
|
|
273
|
-
Shortest npm alpha install shape:
|
|
274
|
-
|
|
275
|
-
```bash
|
|
276
|
-
cd <target-project>
|
|
277
|
-
npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
|
|
278
|
-
npx -y @ps-neko/nekowork@alpha check --project-root .
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
Repository-pinned install shape:
|
|
255
|
+
## Repository-Pinned Install
|
|
282
256
|
|
|
283
257
|
```bash
|
|
284
258
|
cd <target-project>
|
|
285
259
|
git submodule add https://github.com/Ps-Neko/NEKOWORK.git .harness-tool
|
|
286
260
|
node .harness-tool/scripts/portability/simulate-port.js . --profile developer --verbose
|
|
287
261
|
node .harness-tool/scripts/install-apply.js --profile developer --project-root .
|
|
288
|
-
node .harness-tool/scripts/cli.js
|
|
289
|
-
node .harness-tool/scripts/cli.js plan "first NEKOWORK smoke" --project-root .
|
|
262
|
+
node .harness-tool/scripts/cli.js check --project-root .
|
|
290
263
|
```
|
|
291
264
|
|
|
292
265
|
The HARNESS tool root stays in `.harness-tool/`. Session state, generated harness files, and git work happen in the target project root.
|
|
@@ -421,7 +394,7 @@ npm run security:hardening
|
|
|
421
394
|
npm pack --dry-run --json
|
|
422
395
|
```
|
|
423
396
|
|
|
424
|
-
`npm pack --dry-run --json` currently produces a package named like `ps-neko-nekowork-0.1.0-alpha.
|
|
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.
|
|
425
398
|
|
|
426
399
|
## Documentation
|
|
427
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.
|
|
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
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -202,8 +202,8 @@ Builders project the catalog into tool-specific files:
|
|
|
202
202
|
|
|
203
203
|
## Release State
|
|
204
204
|
|
|
205
|
-
The current
|
|
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,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Status date: 2026-05-08
|
|
4
4
|
|
|
5
|
-
This audit summarizes the current NEKOWORK state after
|
|
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.
|
|
12
|
-
| npm publish |
|
|
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
|
|
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 |
|
|
@@ -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 |
|
|
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`:
|
|
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.
|
|
66
|
+
- `npm publish --access public --tag alpha`: `0.1.0-alpha.5` failed with npm `E404` permission/not-found for the current account
|
|
67
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
|
|
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.4` 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
|
|
package/docs/CATALOG-PACKS.md
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
### Changed
|
|
11
11
|
- No entries yet.
|
|
12
12
|
|
|
13
|
-
## [0.1.0-alpha.
|
|
13
|
+
## [0.1.0-alpha.5] - Candidate
|
|
14
14
|
|
|
15
15
|
### Added
|
|
16
|
-
- Add release-surface version consistency coverage, bringing the suite to
|
|
16
|
+
- Add release-surface version consistency coverage, bringing the suite to 253 tests.
|
|
17
17
|
|
|
18
18
|
### Changed
|
|
19
19
|
- Align published alpha smoke, feedback templates, and demo docs around the beginner `check` command.
|
package/docs/PORTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Porting NEKOWORK Into Another Project
|
|
2
2
|
|
|
3
|
-
NEKOWORK `0.1.0-alpha.
|
|
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
|
|
package/docs/PUBLISH-ALPHA.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
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.4`.
|
|
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.
|
|
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
|
|
9
|
+
The matching Git tag and GitHub prerelease are published through `v0.1.0-alpha.4`:
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
12
|
https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.4
|
|
@@ -79,11 +79,18 @@ npm publish --access public --tag alpha
|
|
|
79
79
|
-> published 0.1.0-alpha.4
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
The fifth alpha candidate is prepared but not published from this checkout:
|
|
83
83
|
|
|
84
84
|
```text
|
|
85
|
-
npm
|
|
86
|
-
->
|
|
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
|
|
87
94
|
```
|
|
88
95
|
|
|
89
96
|
`npx` smoke passed:
|
|
@@ -108,9 +115,10 @@ Published public alpha package:
|
|
|
108
115
|
|
|
109
116
|
```text
|
|
110
117
|
name: @ps-neko/nekowork
|
|
111
|
-
version: 0.1.0-alpha.4
|
|
118
|
+
published version: 0.1.0-alpha.4
|
|
119
|
+
repository candidate: 0.1.0-alpha.5
|
|
112
120
|
dist-tag: alpha
|
|
113
|
-
bin: harness
|
|
121
|
+
candidate bin: nekowork, harness
|
|
114
122
|
```
|
|
115
123
|
|
|
116
124
|
The alpha tag matters. It prevents accidental default installation before the owner decides the public package should become the stable install path.
|
|
@@ -122,14 +130,14 @@ Before publishing, explicitly confirm:
|
|
|
122
130
|
- npm scope ownership for `@ps-neko`
|
|
123
131
|
- npm 2FA readiness
|
|
124
132
|
- package name `@ps-neko/nekowork`
|
|
125
|
-
- binary
|
|
126
|
-
- public alpha version `0.1.0-alpha.
|
|
133
|
+
- binary names `nekowork` and `harness`
|
|
134
|
+
- public alpha version `0.1.0-alpha.5`
|
|
127
135
|
- `private` removed or set to `false`
|
|
128
136
|
- publish tag is `alpha`, not `latest`
|
|
129
137
|
|
|
130
138
|
## Next Alpha Publish Checklist
|
|
131
139
|
|
|
132
|
-
Use this checklist for `0.1.0-alpha.5` 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.
|
|
133
141
|
|
|
134
142
|
1. Confirm the candidate scope in [RELEASE-READINESS.md](RELEASE-READINESS.md).
|
|
135
143
|
2. Move the intended changelog entries from `Unreleased` to the new version heading.
|
|
@@ -181,7 +189,7 @@ Smoke test:
|
|
|
181
189
|
npx -y @ps-neko/nekowork@alpha check
|
|
182
190
|
```
|
|
183
191
|
|
|
184
|
-
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.
|
|
185
193
|
|
|
186
194
|
## Post-Publish Work
|
|
187
195
|
|
|
@@ -2,7 +2,7 @@
|
|
|
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
|
|
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
|
|
|
@@ -10,13 +10,13 @@ NEKOWORK / HARNESS is release-ready for local use, repository-based installation
|
|
|
10
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
|
|
13
|
+
- Current repository candidate is `0.1.0-alpha.5`; npm `@alpha` points at `0.1.0-alpha.4`.
|
|
14
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
|
|
|
@@ -24,22 +24,24 @@ GitHub Release:
|
|
|
24
24
|
|
|
25
25
|
- https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.4
|
|
26
26
|
|
|
27
|
-
## 0.1.0-alpha.
|
|
27
|
+
## 0.1.0-alpha.5 Release Scope
|
|
28
28
|
|
|
29
|
-
The `0.1.0-alpha.
|
|
29
|
+
The `0.1.0-alpha.5` release scope is product-name CLI ergonomics and release-surface version consistency:
|
|
30
30
|
|
|
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
|
|
31
34
|
- `agent.yaml` version matches `package.json`
|
|
32
35
|
- version consistency is covered by unit tests
|
|
33
|
-
-
|
|
34
|
-
- `published-alpha-smoke` uses the beginner `check` command
|
|
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.
|
|
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,15 +71,15 @@ 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`:
|
|
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.
|
|
79
|
+
- `npm publish --access public --tag alpha`: `0.1.0-alpha.5` failed with npm `E404` permission/not-found for the current account
|
|
78
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`
|
|
79
|
-
- `npx -y @ps-neko/nekowork@alpha
|
|
80
|
-
- GitHub Actions `published-alpha-smoke`: validates the
|
|
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
|
|
|
@@ -158,10 +160,10 @@ Expected target outputs:
|
|
|
158
160
|
|
|
159
161
|
## Public npm Checklist
|
|
160
162
|
|
|
161
|
-
|
|
163
|
+
Pending for `0.1.0-alpha.5`. Repeat this checklist when the owner account is ready to publish:
|
|
162
164
|
|
|
163
165
|
1. Confirm the npm package name is still `@ps-neko/nekowork`.
|
|
164
|
-
2. Confirm the `harness`
|
|
166
|
+
2. Confirm the `nekowork` and `harness` binaries are still intentional.
|
|
165
167
|
3. Bump `package.json` to the next public alpha version only when publish is approved.
|
|
166
168
|
4. Run the required gates above.
|
|
167
169
|
5. Inspect `npm pack --dry-run --json` and confirm only intended files are included.
|
package/docs/ROADMAP.md
CHANGED
|
@@ -18,7 +18,7 @@ Released scope:
|
|
|
18
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.
|
|
21
|
+
## 0.1.0-alpha.5
|
|
22
22
|
|
|
23
23
|
Status: released.
|
|
24
24
|
|
package/docs/RUNBOOK.md
CHANGED
|
@@ -93,13 +93,13 @@ npm pack --dry-run --json
|
|
|
93
93
|
Do not run this checklist unless public publish is explicitly approved.
|
|
94
94
|
|
|
95
95
|
1. Confirm `package.json#name` is `@ps-neko/nekowork`.
|
|
96
|
-
2. Confirm the `harness` binary
|
|
96
|
+
2. Confirm the `nekowork` and `harness` binary names are still intentional.
|
|
97
97
|
3. Run all release gates.
|
|
98
98
|
4. Inspect `npm pack --dry-run --json`.
|
|
99
99
|
5. Confirm npm identity with `npm whoami`.
|
|
100
100
|
6. Confirm account 2FA readiness.
|
|
101
101
|
7. Confirm `private: false`.
|
|
102
|
-
8. Confirm the public alpha version, for example `0.1.0-alpha.
|
|
102
|
+
8. Confirm the public alpha version, for example `0.1.0-alpha.5`.
|
|
103
103
|
9. Run `npm publish --access public --tag alpha`.
|
|
104
104
|
10. Update README, Quickstart, Changelog, and release notes from "future npm path" to "published npm path".
|
|
105
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.
|
|
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
|
|
|
@@ -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 (사용자 명시 동의 시).
|
|
@@ -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.
|
|
4
|
-
"description": "Local-first AI development
|
|
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",
|